https://github.com/sibeardev/arnbjorg
Telegram bot decoding speech
https://github.com/sibeardev/arnbjorg
dialogflow python-telegram-bot telegram-bot
Last synced: 12 months ago
JSON representation
Telegram bot decoding speech
- Host: GitHub
- URL: https://github.com/sibeardev/arnbjorg
- Owner: sibeardev
- License: mit
- Created: 2022-05-12T16:28:23.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-05-21T14:07:15.000Z (about 4 years ago)
- Last Synced: 2025-07-04T14:57:27.919Z (12 months ago)
- Topics: dialogflow, python-telegram-bot, telegram-bot
- Language: Python
- Homepage:
- Size: 27.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# arnbjorg
Бот-помощник службы поддержки. Отвечает на часто задаваемые вопросы в Telegram и в группе ВКонтакте.
|Пример Telegram бота:|Пример Vk бота:|
|--|--|
|||
## Установка
1. Скачать код
```
git clone https://github.com/dad-siberian/arnbjorg.git
```
2. Создать виртуальное окружение:
```
python3 -m venv venv
source venv/bin/activate
```
3. Установить зависимости командой
```
pip install -r requirements.txt
```
## Настройка
Настройки берутся из переменных окружения. Чтобы их определить, создайте файл `.env` в корне проекта и запишите туда данные в формате: `ПЕРЕМЕННАЯ=значение`.
- `TELEGRAM_TOKEN` - токен, полученный у телеграм бота [@BotFather](https://telegram.me/BotFather) ([инструкция](https://botcreators.ru/blog/kak-sozdat-svoego-bota-v-botfather/)).
- `TG_CHAT_ID` - Telegram id администратора ботов для получения системных оповещений. Можно узнать, написав в Telegram специальному боту: [@userinfobot](https://t.me/userinfobot)
- `VK_TOKEN` - токен группы ВК. Для его получения пройдите в управление своей группы. В разделе "Работа с API" нажмите на кнопку "Создать ключ". Отметьте галочками первые два пункта (Разрешить приложению доступ к управлению сообществом и Разрешить приложению доступ к сообщениям сообществом) и создайте ключ кнопкой "Создать" (необходимо смс подтверждение)
- `GOOGLE_APPLICATION_CREDENTIALS` - имя файла с ключом Google Cloud Platform.
Например:
```
GOOGLE_APPLICATION_CREDENTIALS=august-terminus-350016-311dfea51f94.json
```
Для его получения необходимо:
1. [создать](https://cloud.google.com/dialogflow/es/docs/quick/build-agent) Агента в DialogFlow.
2. [создать](https://cloud.google.com/dialogflow/es/docs/quick/setup) service-account с доступом к DialogFlow. Файл с ключом необходимо поместить в корень проекта.
## Обучение бота тренировочными фразами
1. Внести в файл `questions.json` тренировочные фразы с ответами в формате:
```
{
"Забыл пароль": {
"questions": [
"Не помню пароль",
"Не могу войти",
"Проблемы со входом",
"Забыл пароль",
"Забыл логин",
"Восстановить пароль",
"Как восстановить пароль",
"Неправильный логин или пароль",
"Ошибка входа",
"Не могу войти в аккаунт"
],
"answer": "Если вы не можете войти на сайт, воспользуйтесь кнопкой «Забыли пароль?» под формой входа. Вам на почту прийдёт письмо с дальнейшими инструкциями. Проверьте папку «Спам», иногда письма попадают в неё."
},
...
}
```
Ещё пример тренировочных фраз - [questions](https://dvmn.org/media/filer_public/a7/db/a7db66c0-1259-4dac-9726-2d1fa9c44f20/questions.json)
2. Запустить скрипт командой:
```
pytnon DialogFlow.py
```
## Запуск ботов
1. Запуск Телеграм бота:
```
pytnon arnbjorg_telegram_bot.py
```
2. Запуск VK бота:
```
pytnon arnbjorg_vk_bot.py
```
## Запуск бота на сервере
Для постоянной работы бота необходимо запустить на сервере, например на [Heroku: Cloud Application Platform](https://www.heroku.com).
На сайте есть подробная [инструкция](https://devcenter.heroku.com/articles/getting-started-with-python).
Переменные окружения передаются на сервер командой
```
heroku config:set TELEGRAM_TOKEN={telegram token}
```
Для работы с Heroku на территории РФ может понадобиться VPN
## Цели проекта
Код написан в образовательных целях на онлайн-курсе для веб-разработчиков [dvmn.org](https://dvmn.org/).