#@GenieBoxBot управляет 7 проектами из одного бота
Коллеги, не нужно 7 ботов для 7 проектов. Нужен один — с правильной маршрутизацией.
AiMagicHub, SpamAway, Stadika, StudyQA, личный помощник, мониторинг, аналитика.
7 разных проектов. 15 групп. 200+ пользователей. Один бот.
Почему не 7 отдельных ботов? Overhead и сложность maintenance.
#Архитектура: группы + топики
Принцип: каждый проект = отдельная группа с топиками.
- AiMagicHub — группа -1001XXX, топики: blog, support, dev
- SpamAway — группа -1002XXX, топики: tickets, analytics
- Stadika — группа -1003XXX, топик: community
- Personal — приватная группа, топик: assistant
Бот знает, где что обрабатывать.
#Конфигурация доступа
const ACCESS_CONFIG = {
'-1001304764881': { // Stadika community
requireMention: false,
allowedCommands: ['help', 'status']
},
'-1003818558951': { // StudyQA team
requireMention: true,
allowedUsers: ['vladislavpopov', 'team_member']
}
}
Allowlist по группам, requireMention для team chats.
#Изоляция контекстов
- Memory per group — каждая группа = отдельный context
- Command routing — разные команды для разных проектов
- Permission system — не все могут всё
- Error isolation — сбой в одном проекте не ломает остальные
#Плюсы unified подхода
- Один deployment — не 7 серверов
- Shared infrastructure — логи, мониторинг, backup
- Cross-project analytics — общие метрики
- Easier maintenance — один codebase
В SpamAway посте — пример работы с одним из проектов через этого бота.
Больше о bot архитектуре в бесплатном гиде
#моикейсы_поповвии
Работаем дальше.