Бот с элементами геймификации для бесед в телеграме.
- Бот распознаёт все голосовые сообщения и транслирует их в текст
- Имеется расширенная система репутации. Каждый участник может повысить (
+реп
) или понизить (-реп
) другому участнику беседы репутацию. Сила голоса зависит от количества влияния. -
- Репутация - это основной показатель рейтинга. Чем выше репутация, тем больше вклада вы внесли в общение в беседе.
-
- Влияние - это показатель того, насколько ваш голос силен. Сила набирается вслед за репутацией, но не снижается вместе с ней.
- Все сообщения бота и команды пользователей удаляются в чате спустя 45 секунд для избежания спама.
- Имеется система просмотра своего рейтинга и рейтинга других участников.
- Каждый день формируется список тех людей, которые внесли наибольший вклад в общение сегодня. Лучшим флудильщикам выдаются дополнительные очки влияния.
Это приложение имеет несколько обязательных переменных среды для запуска (см. bot/config.py)
TELEGRAM_TOKEN
- токен Телеграм бота от BotFather. Документация для Телеграм ботов
POSTGRES_URI
- ссылка для подключения к БД PostgreSQL
MIREA_NINJA_GROUP_ID
- id беседы, в которой будет использоваться бот. Получить id можно с помощью бота @my_id_bot
YANDEX_API_KEY
- API ключ сервисного аккаунта от Yandex Cloud с доступом к AI инстурментам (Spech Kit). Подробнее в документации
YANDEX_FOLDER_ID
- идентификатор каталога в Yandex Cloud
- Docker
- PostgreSQL
- Установите все необходимые зависимости:
pip install -r requirements.txt
- Измените конфигурацию в
bot/config.py
- Запустите приложение:
python -m bot
Чтобы запустить это приложение с помощью docker, для начала вам необходимо собрать локальный образ контейнера:
docker build -t telegram_bot .
docker run -e TELEGRAM_TOKEN=<TELEGRAM_TOKEN> -e MIREA_NINJA_GROUP_ID=<MIREA_NINJA_GROUP_ID> -e YANDEX_API_KEY=<YANDEX_API_KEY> -e YANDEX_FOLDER_ID=<YANDEX_FOLDER_ID> -e POSTGRES_URI=<POSTGRES_URI> -v /etc/localtime:/etc/localtime:ro -t telegram_bot