Как настроить бот [Aiogram] так, чтобы нельзя было копировать его сообщения?

Как можно настроить "Запрет на копирование" для определенных сообщений в боте на Python с использованием библиотеки Aiogram?
  • 18 февраля 2024 г. 19:28
Ответы на вопрос 2
Для настройки запрета на копирование сообщений в боте с помощью библиотеки Aiogram, можно использовать функцию restrict_content_types() для ограничения типа контента, который можно отправлять. Пример кода ниже показывает, как это можно сделать:

```python
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram import executor

API_TOKEN = 'your_token'

bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)

@dp.message_handler(content_types=types.ContentTypes.TEXT)
async def restrict_copy(message: types.Message):
    # Если сообщения можно копировать, то просто отправляем его пользователю
    await message.answer(message.text)

    # Если сообщения нельзя копировать, удаляем сообщение
    await bot.delete_message(chat_id=message.chat.id, message_id=message.message_id)

if __name__ == '__main__':
    executor.start_polling(dp, skip_updates=True)
```

В данном примере кода бот будет удалять любые текстовые сообщения, чтобы они не могли быть скопированы другими пользователями. Вы также можете настроить эту функцию для других типов сообщений, таких как изображения или файлы, если нужно.
Вариант есть такой: 
await bot.send_message(msg.from_user.id, """Hello, world.""", protect_content=True)


Также, по поводу aiogram2. Если хотите иметь поддержку текущего Telegram Bot API, то можете воспользоваться моей библиотекой aiogram2-fork (да, можно было отправить пул реквест, но ленивый)
Похожие вопросы