Этот бот предназначен для автоматической фильтрации и пересылки заявок по районам. Он анализирует сообщения в групповых чатах Telegram, определяет район из текста заявки и пересылает её подписчикам соответствующего района.
- Автоматическое определение района из текста заявки
- Подписка/отписка пользователей от районов
- Пересылка заявок только подписанным пользователям
- Управление активностью пользователей (только для администраторов)
Для обеспечения безопасности и контроля за использованием бота, была добавлена система активации пользователей. По умолчанию все новые пользователи неактивны и не могут получать сообщения через бота.
Администраторы могут активировать/деактивировать пользователей с помощью команд:
/activate_user <ID пользователя>- активировать пользователя/deactivate_user <ID пользователя>- деактивировать пользователя
Чтобы получить права администратора, необходимо добавить свой Telegram ID в переменную окружения ADMIN_IDS.
Обычные пользователи должны обратиться к администратору для активации своего аккаунта. После активации они смогут использовать все функции бота.
TELEGRAM_BOT_TOKEN- токен Telegram ботаDB_HOST,DB_PORT,DB_NAME,DB_USER,DB_PASSWORD- параметры подключения к базе данныхADMIN_IDS- список Telegram ID администраторов (через запятую)WEBHOOK_HOST- адрес webhook'а (обязателен для работы в режиме webhook)WEB_SERVER_HOST- хост сервера (по умолчанию 0.0.0.0)WEB_SERVER_PORT- порт сервера (по умолчанию 8000)
Для деплоя на Render выполните следующие шаги:
- Создайте аккаунт на Render
- Создайте новую Web Service
- Подключите репозиторий с этим проектом
- Укажите следующие настройки:
- Build Command:
pip install -r requirements.txt - Start Command:
uvicorn main:app --host 0.0.0.0 --port $PORT
- Build Command:
- Добавьте необходимые переменные окружения:
TELEGRAM_BOT_TOKEN- токен вашего Telegram ботаDATABASE_URL- URL базы данных (Render предоставляет его автоматически при подключении БД)ADMIN_IDS- список ID администраторов в формате JSON массива, например:["123456789", "987654321"]WEBHOOK_HOST- URL вашего приложения на Render, например:https://your-app.onrender.com
- Нажмите "Create Web Service"
Для локального запуска используйте Docker Compose:
docker-compose up -dИли запустите напрямую:
pip install -r requirements.txt
uvicorn main:app --host 0.0.0.0 --port 8000