Нужно чтобы чат бот удалял сообщение в чате на которое я отвечу конкретным словом

Например, человек в чате написал что либо, я ответил на его сообщение и после этого мой бот должен удалить сообщение на которое я ответил.


Ответы (1 шт):

Автор решения: MyZik

Можно написать команду, которая доступна только администраторам чата. Примерно так:

@bot.message_handler(commands=["delete"])
def delete_message(message):
    chat_id = message.chat.id
    
    if message.type not in ("group", "supergroup"):
        # Команда используется не в чате
        return None

    chat_member = bot.get_chat_member(chat_id, message.from_user.id)
    if not member.can_delete_messages:
        # У пользователя нет прав удалять сообщения
        return None

    if message.reply_to_message is None:
        # Команда используется не ответом на сообщение
        return bot.reply_to(message, "Эту команду нужно использовать ответом на сообщение...")

    bot.delete_message(chat_id, message.reply_to_message.message_id)
    
        
→ Ссылка