В данном боте реализованы следующие функции:
- кнопочное меню
- анализ ответов пользователей
- хранение статистики в базе данных Redis
- положите текстовые файлы с вопросами в папку
questions
- все файлы в папке
questions
должны иметь одинаковую кодировку - кодировка задается в переменных окружения (см.ниже)
Формат файлов:
- вопрос и ответ должны быть разделены одинарным пробелом
- перед вопросом и ответом нужно написать
Вопрос:
иОтвет:
, соответственно - блоки вопрос-ответ должны быть разделены двойным пробелом
Пример:
Вопрос 1:
Первый президент СССР?
Ответ:
Горбачев
Вопрос 2:
Год Крещения Руси?
Ответ:
988
База данных нужна для хранения статистики, а так же для хранения информации о вопросах и ответах
- https://redislabs.com/
Вы получите адрес базы данных вида:
redis-13965.f18.us-east-4-9.wc1.cloud.redislabs.com
,
его порт вида:16635
, и пароль.
-
Зарегистрируйте приложение на Heroku
-
В созданном приложении во вкладке
Deploy
привяжите данный github-репозиторий вDeployment method
и нажмитеDeploy Branch
внизу страницы -
Во вкладке
Settings
подключите Python-пакет (Add buildpack):heroku/python
-
Во вкладке
Settings
заполните переменные:TG_TOKEN=1234abcd VK_TOKEN=1234abcd REDIS_HOST=redis-12345.a01.ab-abcd-0-1.ab0.cloud.redislabs.com REDIS_PORT=12345 REDIS_PASSWORD=1234abcd ENCODING=KOI8-R
-
Во вкладке
Resources
запустите сервер
Можно запустить сразу двух ботов
Python3 должен быть уже установлен.
Затем используйте pip
(или pip3
, есть конфликт с Python2) для установки зависимостей:
pip install -r requirements.txt
-
Создайте в корневой папке файл
.env
и пропишите в нем переменные следующим образом:TG_TOKEN=12345abcde VK_TOKEN=12345abcde REDIS_HOST=redis-12345.a01.ab-abcd-0-1.ab0.cloud.redislabs.com REDIS_PORT=12345 REDIS_PASSWORD=12345abcde ENCODING=KOI8-R
-
Запустите ботов:
python tg_bot.py.py
илиpython vk_bot.py.py
Код написан в образовательных целях на онлайн-курсе для веб-разработчиков dvmn.org.