Aiogram 3. Как бот может проверить то, что его сообщение в чате было
Дата публикации:

Aiogram 3. Как бот может проверить то, что его сообщение в чате было


Aiogram 3. Как бот может проверить то, что его сообщение в чате было удалено?.

В Aiogram 3 бот может проверить, было ли его сообщение удалено в чате, используя обработчик событий MessageDelete.

Пример кода:

from aiogram import Bot, Dispatcher, types
from aiogram.contrib.fsm_storage.memory import MemoryStorage

# Создаем экземпляр бота
bot = Bot(token='YOUR_TOKEN')
storage = MemoryStorage()
dp = Dispatcher(bot, storage=storage)

# Обработчик события удаления сообщения
@dp.message_handler(content_types=types.ContentType.ANY)
async def handle_message(message: types.Message):
    # Сохраняем идентификатор удаленного сообщения
    await storage.set_data(message.message_id, True)

# Обработчик события удаления сообщения
@dp.message_handler(content_types=types.ContentType.ANY, is_edited=True)
async def handle_edited_message(message: types.Message):
    # Проверяем, было ли сообщение удалено
    is_deleted = await storage.get_data(message.message_id)
    if is_deleted:
        print("Сообщение было удалено")

# Запускаем бота
if __name__ == '__main__':
    from aiogram import executor
    executor.start_polling(dp)

В этом примере мы используем MemoryStorage для сохранения информации о том, было ли сообщение удалено. Когда бот получает новое сообщение, он сохраняет идентификатор сообщения в MemoryStorage. Затем, когда бот получает событие об удалении сообщения, он проверяет, было ли сообщение удалено, используя сохраненную информацию в MemoryStorage. Если сообщение было удалено, выводится сообщение "Сообщение было удалено".