Ко всем кейсам

HostCloud

Telegram-бот, который замечает изменения в переписке и сохраняет файлы с таймером

@CloudHstBot
Интерфейс проекта HostCloud в макете устройства

О проекте

Бот подключается к чатам владельца через «Автоматизацию чатов» в настройках Telegram: логин и пароль передавать не нужно, доступ выдаётся из самого мессенджера и в любой момент отзывается. Если собеседник отредактировал сообщение, приходит карточка «было / стало»; если удалил, приходит исходный текст.

Задача

Сделать бота, который не теряет контекст переписки, подключается без передачи логина и пароля и остаётся управляемым: владелец должен менять тексты экранов и список обязательных каналов сам.

Что сделали

  • Подключение через «Автоматизацию чатов» в настройках Telegram, без логина и пароля
  • Карточка «было / стало» при правке и исходный текст при удалении
  • Сохранение файлов с таймером: фото, видео, голосовые и кружки
  • Медиа-кеш на диске хранится в зашифрованном виде
  • Обязательная подписка на каналы с кнопкой проверки
  • Админ-панель: статистика, каналы, редактор всех экранов бота
Платформа

Telegram, «Автоматизация чатов»

Хранение

Шифрованный кеш медиафайлов

Управление

Экраны бота меняются из админки

Статус

Работает в продакшене

Бот

  • Python
  • Telegram API
  • aiogram 3
  • Business API

Данные

  • SQLite
  • Шифрованный медиа-кеш

Сервер

  • VPS на Ubuntu
  • systemd

Как делали

  1. 01

    Экраны подключения

    Первый экран объясняет, что делает бот и как его подключить, дальше идут согласие с документами и проверка подписки. Все эти экраны редактируются из админ-панели, без правок кода.

    Три экрана бота HostCloud: согласие с документами, проверка подписки и уведомления
  2. 02

    Уведомления и работа с медиа

    Бот отслеживает правки и удаления: для правки присылает «было / стало», для удаления исходный текст. Файлы с таймером сохраняются в кеш, который лежит на диске в зашифрованном виде.

Результат

Бот работает в Telegram и обслуживает пользователей сам: подписка проверяется автоматически, тексты экранов и список каналов владелец меняет через админ-панель.

Обсудим ваш проект?

Расскажите о задаче в паре абзацев. В ответ пришлём план работ, сроки и оценку.

Обсудить проект