3.3 KiB
3.3 KiB
Бот Random Coffe для Telegram
Бот реализован с помощью библиотеки pyTelegramBotAPI и базы данных MongoDB
Запуск
- Создать файл .env в директории
app - Запустить контейнеры с помощью docker compose:
docker-compose up -d
Без контейнеров:
- Установка нужных модулей
pip3 install -r app/requirements.txt
- Запуск скрипта:
(cd ./app && python3 main.py)
Функционал
- Регистрация участников с мини-тестом для определения типа личности
- Генерация пар для рассадки людей по:
- М+Ж по MBTI
- М+Ж
- одного возраста
- всех остальных
- Возможность уведомлять всех пользователей
- Поддержка нескольких администраторов
- Отправка за день уведомления о начале мероприятия
Команды
Пользователи
- Вначале пользователям предоставляется небольшая регистрация после
/start - Довольно бесполезный
/help - Исходный код на Github
/source
Администраторы
/generate_key- создание уникального ключа для добавления новых админов/admin_reg- добавиться в админы (с последующим вводом unique_key)/stats- получить информацию о пользователях/delete_user- удалить пользователя по id/send_message- сделать массовую рассылку всем зарегестрированным пользователям/random- запустить рассылку для регистрации на первый тур/random_again- сгенерировать повторную рассадку для людей первого тура (без повторной регистрации)/clear_all- удалить всех людей из базы данных/remove_admin- удалить админа по id
Настройка конфигурации
Необходимые поля в .env файле:
DATE_STARTв формате%Y-%m-%dTIME_STARTв формате%HH-%MMAPI_TOKEN- токен для tg бота полученный у@BotFatherADMIN_ID- id главного админаDB_PORTпорт для MongoDB, стандартно27017ENV- если выставлен какdev:- возможность подключаться к базе данных удалённо через SSH
SSH_HOST- имя/ip хостаSSH_USER- имя пользователяSSH_KEY- расположение ключа (может быть не указан если естьSSH_PASSWORD)SSH_PASSWORD- пароль порльзователя (может быть не указан если естьSSH_KEY)