HostCloud
Telegram-бот, который замечает изменения в переписке и сохраняет файлы с таймером
@CloudHstBot
О проекте
Бот подключается к чатам владельца через «Автоматизацию чатов» в настройках Telegram: логин и пароль передавать не нужно, доступ выдаётся из самого мессенджера и в любой момент отзывается. Если собеседник отредактировал сообщение, приходит карточка «было / стало»; если удалил, приходит исходный текст.
Задача
Сделать бота, который не теряет контекст переписки, подключается без передачи логина и пароля и остаётся управляемым: владелец должен менять тексты экранов и список обязательных каналов сам.
Что сделали
- Подключение через «Автоматизацию чатов» в настройках Telegram, без логина и пароля
- Карточка «было / стало» при правке и исходный текст при удалении
- Сохранение файлов с таймером: фото, видео, голосовые и кружки
- Медиа-кеш на диске хранится в зашифрованном виде
- Обязательная подписка на каналы с кнопкой проверки
- Админ-панель: статистика, каналы, редактор всех экранов бота
Telegram, «Автоматизация чатов»
Шифрованный кеш медиафайлов
Экраны бота меняются из админки
Работает в продакшене
Бот
Python
Telegram API
- aiogram 3
- Business API
Данные
- SQLite
- Шифрованный медиа-кеш
Сервер
- VPS на Ubuntu
- systemd
Как делали
-
01
Экраны подключения
Первый экран объясняет, что делает бот и как его подключить, дальше идут согласие с документами и проверка подписки. Все эти экраны редактируются из админ-панели, без правок кода.
-
02
Уведомления и работа с медиа
Бот отслеживает правки и удаления: для правки присылает «было / стало», для удаления исходный текст. Файлы с таймером сохраняются в кеш, который лежит на диске в зашифрованном виде.
Результат
Бот работает в Telegram и обслуживает пользователей сам: подписка проверяется автоматически, тексты экранов и список каналов владелец меняет через админ-панель.