Дата публикации:
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
. Если сообщение было удалено, выводится сообщение "Сообщение было удалено".