LariskaBot - telegram-bot (Python, aiogram)
Телеграмм-бот для чата @OldCodersClub
Бот использует приоритеты при поиске и генерации ответов для пользователей:
- фильтры (handler) aiogram (самый приоритетный)
- готовые ответы для конкретных пользователей (приветствие при первом сообщении пользователя, один раз за сутки)
- собственная база готовых ответов с использованием FuzzyWuzzy (расстояние Левенштейна) для нечёткого сопоставления вопросов и ответов (настроен на 80% совпадение)
- OpenAI API (срабатывает только если обратиться к боту по имени)
Любой ниже расположенный фильтр срабатывает, только если были пропущены все расположенные выше.
Создать и запустить контейнер:
$ export BOT_TOKEN=<BOT_TOKEN>
$ export AI_KEY=<AI_KEY>
$ export VCHAT_ID=<VCHAT_ID>
$ export DCHAT_ID=<DCHAT_ID>
$ export SCHAT_ID=<SCHAT_ID>
$ docker-compose up -d
Остановить запущенный контейнер:
$ docker-compose stop
Запустить остановленный контейнер:
$ docker-compose start
Остановить и удалить контейнер и сеть:
$ docker-compose down
Удалить докер-образ:
$ docker rmi lariska_bot
Очистить логи:
$ sudo rm -rf logs/*
BOT_TOKEN
- токен Telegram-ботаCHAT_ID
- ID чата, в котором разрешено работать боту.AI_KEY
- OpenAI API токенDOMAIN
- URL-адрес с названием приложения. После развертывания перейдите в настройки проекта (Settings
) и скопируйте домен из разделаDomains
. Это должно быть похоже наworker-production-XXXX.up.railway.app
. Это и будет значение для переменнойDOMAIN
.