Схема работы

Бот построен на стандартной трёхслойной системе. Фасадом служит ручка для доступа через telegram бота. Считаем её транспортом и не считаем частью системы. Обработчики - зарегистрированные команды и колбеки бота. Есть обработчики plaintext-a Сервисы - что-то, что объединяет под собой доступ к репозиториям. Определёет бизнес-логику бота. Репозитории - интерфейс для доступа к базе данных.

Орбаботчики /handlers

Сервисы /services

Репозитории /repositories

Система контроля чатов для админов

Функционал

  • Контроль посетителей чата
    • Разрешено присутсвовать только пользователям зарегистрированным в конкретном доме (авто-кик)
    • Уведомления о незарегистрированных участниках
    • Интерфейс подтверждения конкретного участника с выбором номер квартиры/паркоместа
    • Импорт участников из файла админа?
  • Контроль содержимого чатов:
    • Антиспам по ключевым словам
    • Антимат
  • Автоматическое обновление ссылки в боте через админ-канал бота
    • С подтверждением через администратора
    • C автоматическим подтверждением ботом зарегистрированных пользователей
    • C автоматическим подтверждением ботом зарегистрированных пользователей конкретного дома
  • Делегирование проверки регистрации на администратора чата дома
    • Надо уметь связывать чаты и дома в базе
    • Надо уметь отвязывать чаты и дома на случай злоупотребления делегированием прав регистрации

Приоритеты

Проще всего начать с антимата и антиспама.

Антимат-антиспам

Флоу

Бот не добавлен в чат

В: Как уведомить админа? О: Добавляем кнопку "Я админ" с дисклеймером "Добавьте бота в ваш чат и выдайте права на редактирование сообщений"

Бот добавлен в чат, но прав не хватает

В: Как уведомить админа О: После добавления бот должен иметь право прочитать список админов чата и для админа любого из чатов начать показывать плашку "Для администраторов чата" Под плашкой будет прятаться список чатов. Каждый элемент списка чатов содержит настройку Антиспама. При переходе в раздел Антиспам должна быть надпись "Антиспам не может работать, боту не хватает прав доступа"

Бот добавлен в чат, прав достаточно

В разделе Антиспам показываем кнопку "включить антиспам", "включить антимат".