Бот-помощник службы поддержки. Отвечает на часто задаваемые вопросы в Telegram и в группе ВКонтакте.
Пример Telegram бота: | Пример Vk бота: |
---|---|
- Скачать код
git clone https://github.com/dad-siberian/arnbjorg.git
- Создать виртуальное окружение:
python3 -m venv venv
source venv/bin/activate
- Установить зависимости командой
pip install -r requirements.txt
Настройки берутся из переменных окружения. Чтобы их определить, создайте файл .env
в корне проекта и запишите туда данные в формате: ПЕРЕМЕННАЯ=значение
.
TELEGRAM_TOKEN
- токен, полученный у телеграм бота @BotFather (инструкция).TG_CHAT_ID
- Telegram id администратора ботов для получения системных оповещений. Можно узнать, написав в Telegram специальному боту: @userinfobotVK_TOKEN
- токен группы ВК. Для его получения пройдите в управление своей группы. В разделе "Работа с API" нажмите на кнопку "Создать ключ". Отметьте галочками первые два пункта (Разрешить приложению доступ к управлению сообществом и Разрешить приложению доступ к сообщениям сообществом) и создайте ключ кнопкой "Создать" (необходимо смс подтверждение)GOOGLE_APPLICATION_CREDENTIALS
- имя файла с ключом Google Cloud Platform. Например:
GOOGLE_APPLICATION_CREDENTIALS=august-terminus-350016-311dfea51f94.json
Для его получения необходимо:
- создать Агента в DialogFlow.
- создать service-account с доступом к DialogFlow. Файл с ключом необходимо поместить в корень проекта.
- Внести в файл
questions.json
тренировочные фразы с ответами в формате:
{
"Забыл пароль": {
"questions": [
"Не помню пароль",
"Не могу войти",
"Проблемы со входом",
"Забыл пароль",
"Забыл логин",
"Восстановить пароль",
"Как восстановить пароль",
"Неправильный логин или пароль",
"Ошибка входа",
"Не могу войти в аккаунт"
],
"answer": "Если вы не можете войти на сайт, воспользуйтесь кнопкой «Забыли пароль?» под формой входа. Вам на почту прийдёт письмо с дальнейшими инструкциями. Проверьте папку «Спам», иногда письма попадают в неё."
},
...
}
Ещё пример тренировочных фраз - questions
- Запустить скрипт командой:
pytnon DialogFlow.py
- Запуск Телеграм бота:
pytnon arnbjorg_telegram_bot.py
- Запуск VK бота:
pytnon arnbjorg_vk_bot.py
Для постоянной работы бота необходимо запустить на сервере, например на Heroku: Cloud Application Platform. На сайте есть подробная инструкция.
Переменные окружения передаются на сервер командой
heroku config:set TELEGRAM_TOKEN={telegram token}
Для работы с Heroku на территории РФ может понадобиться VPN
Код написан в образовательных целях на онлайн-курсе для веб-разработчиков dvmn.org.