Бот использует приоритеты при поиске и генерации ответов для пользователей:
фильтры (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
.