Как удалять сообщения от имени каналов в PyTelegramBotAPI?
К примеру. У меня есть группа, в которой есть бот в Telegram. И я хочу запретить писать от имени своих каналов, то есть удалять подобные сообщения. Как это можно реализовать?
Можно использовать свойство sender_chat и смотреть его тип.
https://pytba.readthedocs.io/en/latest/types.html (Ctrl+F sender_chat)
https://core.telegram.org/bots/api#chatfullinfo
@bot.message_handler(func=lambda message: True)
def check_channel_messages(message):
if message.sender_chat:
# Проверяем тип отправителя
if message.sender_chat.type == "channel":
try:
bot.delete_message(message.chat.id, message.message_id)
bot.send_message(message.chat.id, "Писать от имени каналов запрещено!")
except:
pass
На сколько я знаю - такое невозможно
Лучше просто спроси у нейросети, она тебе код накатает
Чтобы удалить сообщения от имени каналов в PyTelegramBotAPI, вы можете использовать бота @BlockChannelBot. Для этого:
Добавьте бота в чат.
Выдайте ему права администратора с возможностью удаления сообщений и блокировки пользователей.
После выполнения этих шагов бот сможет удалять сообщения и запрещать пользователям писать от имени каналов.