Разработка системы Telegram-автоответчиков

Описание проекта

Необходимо создать мастер-бота, который позволяет пользователям подключать свои Telegram-аккаунты (не ботов) и настраивать для них автоматические ответы. Один мастер-бот управляет множеством "пользовательских сессий" (аккаунтов).

Функционал и ход работы

1. Физическая структура

  • Проект должен быть развернут в /root/bot
  • Требуется создать .service файл для systemctl и инструкцию по запуску (будет уточнено отдельно)
  • Токен бота, API ID и API Hash должны храниться в конфиг-файле (не в .env)

2. Взаимодействие с мастер-ботом (регистрация)

  • Пользователь запускает мастер-бота -> бот запрашивает номер телефона аккаунта для подключения
  • Бот отправляет запрос в API Telegram для получения кода подтверждения
  • Если включена двухфакторная аутентификация (2FA), запрашивается облачный пароль
  • Важно: код вводит сам пользователь (копирует из СМС в бота). БОТ делает только запрос коду к апи.
  • После авторизации бот принимает текст автоответа (требуется подтверждение, что текстовое сообщение поддерживает форматирование: ссылки кликабельны, как в обычном мессенджере)
  • При успехе пользователь получает уведомление.

3. Системные правила и логика работы автоответчика

  • Опознавание диалогов: В момент регистрации все старые существующие чаты одного аккаунта помечаются как "Игнорируемые". Автоответ будет работать только для новых диалогов, созданных после начала сессии.
  • Цепочка ответа:
    • Первое входящее сообщение от человека -> отправляется заданный текст Автоответа.
    • Если человек пишет снова (независимо от тайминга) -> отправляется второе сообщение ("Нет на месте").
    • Все последующие сообщения от этого человека игнорируются.
  • Управление сессией: Один аккаунт поддерживается в онлайне не более 7 дней. После этого - автоматический сброс сессии и уведомление пользователя о необходимости перезайти. После создания сессии пользователь в боте обе видет кнопки "Изменить" (сбросить данные профиля и авторизационного кода, оставив ту же сессию) и "Выйти" (удалить авторизационные данные).
  • Уникальность: Один и тот же аккаунт может быть привязан только к одному пользователю (номер подключено уникально).

Дополнительно

После р реализации заказчик гатов предложить доработки и дальнейшее стабильное сотрудничество для добвления нового функционала.

Разработка единого интерфейса для набора Telegram-ботов

Требуется создать графический интерфейс и оптимизировать работу трех связанных программ для Telegram: рассылку, автоответчик и автоприсоединение к чатам. Ключевая задача - унифицировать настройку и управление, устранив дублирование процессов.