lerk

Telegram3 мин чтения

Telegram-бот, который возвращает удалённые и изменённые сообщения

Собеседник написал, вы увидели уведомление, открыли чат, а там пусто: сообщение удалили. Или поправили так, что смысл поменялся, а старого текста уже нет. Мне это надоело, и за два дня я собрал бота, который такое помнит.

Дмитрий

Обложка поста про Telegram-бота: пузырь сообщения рассыпается на пиксели, а глаз собирает его обратно

Как это работает#

Бот подключается к аккаунту через чат-ботов Telegram Business и получает копию каждого нового сообщения. Когда собеседник что-то удаляет, Telegram присылает боту только номер сообщения, а сам текст бот берёт из своей базы.

Отсюда следует простое ограничение: бот помнит то, что увидел после подключения. Что удалили раньше, он знает только числом.

Написан на Python и aiogram 3, база SQLite, получение событий через long polling. Тестов 239.

Что бот присылает#

  • Удалённые сообщения. Кто написал, когда написал, когда удалил и что было.
  • Изменённые. Старый и новый текст рядом: убранное зачёркнуто, добавленное выделено.
  • Вложения. Фото, видео, кружки, голосовые, аудио, гифки, стикеры и файлы приходят заново.
  • Свои настройки. Каждый человек сам выбирает, что показывать.

К одному аккаунту Telegram можно подключить одного чат-бота. Если уже висит другой, он отключится.

Как подключить#

Подключение занимает минуту и делается в самом Telegram, без установки программ:

  • в настройках профиля открыть раздел с чат-ботами (он называется «Автоматизация чатов» или «Telegram для бизнеса», зависит от версии приложения);
  • указать бота и выбрать чаты, лучше все, а ещё разрешить ему отвечать на сообщения;
  • открыть самого бота и нажать «Старт»: без этого он не сможет написать первым.

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

Как устроена оплата#

Первые 10 удалённых и 30 изменённых уведомлений бесплатно. Потом бот всё равно сообщает, что сообщение удалили, но без текста, а текст открывается по подписке.

  • 300 рублей за 30 дней картой или через СБП;
  • либо 200 звёзд Telegram в месяц с автопродлением.

Ещё есть реферальная ссылка. Приглашённый друг получает 25 бесплатных уведомлений каждого вида, а пригласивший 7 дней безлимита, когда друг впервые оплатит. За простой заход награды нет: иначе её накрутили бы пустыми аккаунтами.

Чего бот не умеет#

Честно про границы, их задаёт сам Telegram, а не бот:

  • всё, что пришло до подключения, показать нельзя: бот сообщит только, что что-то удалили;
  • секретные чаты через этот режим недоступны;
  • при удалении Telegram присылает только номера сообщений, текст бот достаёт из собственной памяти.

Когда бесплатный лимит закончился, бот не молчит: он пишет, что сообщение удалили, но без текста. Такие закрытые уведомления приходят не чаще раза в десять минут, остальные копятся в счётчике пропущенного.

Расскажите о задаче

Пара фраз и ссылка на сайт, если он уже есть. Отвечаю сам: задам вопросы, назову срок и цену.

Заказать похожее

Ещё посты