Сравнение версий
Ключ
- Эта строка добавлена.
- Эта строка удалена.
- Изменено форматирование.
Чтобы использовать Telegram-бот с ViTalk необходимо:
Пройти предыдущие шаги настройки ViTalk.
Получить Docker-образ vitalk-tg с Telegram-ботом.
Получить Token для нового бота.
Создать директорию и файл с конфигурацией.
Настроить доступ пользователей Telegram к ViTalk.
- Настройка распознавания голоса.
Запустить docker-образ.
Получение Docker-образа vitalk-tg
Для авторизации в Яндекс-репозитории получите oauth-токен по ссылке:
https://cloud.yandex.ru/docs/container-registry/operations/authentication#oauth
Далее, воспользуйтесь командой docker login в bash.
Блок кода | ||
---|---|---|
| ||
docker login cr.yandex |
В качестве username введите oauth, в качестве пароля - полученный токен.
Далее, при наличии доступа к Яндекс-репозиторию Visiology получить Docker образ можно командой:
Блок кода | ||
---|---|---|
| ||
docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/dev/vitalk-tg:master |
Получение токена для нового бота
Токен бота – это средство, при помощи которого конкретный бот связывается с управляющей программой. Чтобы получить токен бота необходимо:
Войти в Telegram.
Обратиться к боту @BotFather.
Image AddedВвести команду /newbot.
Выбрать имя бота (которое будет отображаться в диалоге с ним).
Image AddedВыбрать username бота (по которому его можно найти в Telegram). Это имя должно заканчиваться на ‘bot’.
Image AddedСохраните полученный токен.
Конфигурация бота
Выберите директорию для хранения конфигурации. В данном примере выберем директорию /docker-volume/vitalk-tg.
Блок кода | ||
---|---|---|
| ||
sudo mkdir /docker-volume/vitalk-tg
cd /docker-volume/vitalk-tg |
Создайте в этой директории файл bot_config.json и заполните его:
Блок кода |
---|
{
"token": "<ВАШ_ТОКЕН>",
"vitalkUrl": "<URL ViTalk>"
} |
В поле token вставьте заранее полученный токен бота.
Опционально можно добавить поле вида '"proxyUrl": "<URL прокси>"', в случае блокировки Telegram.
Если ViTalk запущен вместе с платформой, в поле vitalkUrl вставьте:
Блок кода |
---|
<http или https>://<Адрес платформы>/vitalk-core |
Настройка доступа к ViTalk в Telegram
Авторизация Telegram-пользователей осуществляется через белый список id пользователей. Права доступа к данным через Telegram-бот соответствуют роли, прописанной в настройках соединения.
Настройка доступа:
В директории /docker-volume/vitalk-core/configuration создать файл
telegram_whitelist.json
с содержимым:
Блок кода |
---|
{
"access_mode": "whitelist",
"whitelist": [
<telegram_id_1>,
<telegram_id_2>,
<telegram_id_N>
]
}
|
2. На место <telegram_id_*> подставьте telegram-id пользователя как целое число. Чтобы получить свой id, вы можете обратиться к боту @my_id_bot.
3. Перезапустить контейнер vitalk-core:
Блок кода | ||
---|---|---|
| ||
sudo docker service update --init visiology_vitalk-core |
Если список пользователей поменяется, вы можете в дальнейшем редактировать этот файл, после чего необходимо перезапустить контейнер vitalk-core.
Отключение авторизации
Бот возможно (но не рекомендуется) сделать доступным для всех пользователей Telegram. Для этого нужно изменить файл /docker-volume/vitalk-core/configuration/telegram_whitelist.json следующим образом:
Блок кода |
---|
{
"access_mode": "*"
} |
После изменения необходимо перезапустить контейнер vitalk-core:
Блок кода | ||
---|---|---|
| ||
sudo docker service update --init visiology_vitalk-core |
Настройка распознавания голоса (опционально)
Этап 1. Создайте директорию для хранения голосовых сообщений:
Блок кода | ||
---|---|---|
| ||
sudo mkdir /docker-volume/vitalk-tg/cache |
Этап 2. Получите API TOKEN сервиса распознавания голоса.
Wit.ai (пока поддерживается только он):
Для получения токена вам необходимо иметь профиль в Facebook.
Перейдите по ссылке https://wit.ai/ и авторизуйтесь (“Login“ или “Continue with Facebook“).
Добавьте новое приложение на странице https://wit.ai/apps.
Image AddedВыберите созданный проект и перейдите в раздел “Settings“.
Установите опцию Language: RUSSIAN (RU) .
Нажмите на “Generate new token“ напротив Client Access Token.
Image AddedСкопируйте сгенерированный Client Access Token в буфер.
Этап 3. Зайдите в файл с конфигурациями bot_config.json.
Внесите полученный токен в конфигурационный файл, добавив опцию "voiceProvider":
Блок кода | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"token": "<ВАШ_ТОКЕН>",
"vitalkUrl": "<URL ViTalk>",
"voiceProvider": {
"witAI": {
"token": "YOUR_TOKEN"
}
}
} |
Запуск бота
После настройки для запуска бота необходимо выполнить команду:
Блок кода | ||
---|---|---|
| ||
sudo docker run -d --name vitalk-tg -v "/docker-volume/vitalk-tg:/opt/configuration" cr.yandex/crpe1mi33uplrq7coc9d/visiology/dev/vitalk-tg:master |
Убедиться в отсутствии ошибок при запуске можно при помощи команды:
Блок кода | ||
---|---|---|
| ||
sudo docker logs -f vitalk-tg |
Протестируйте бота, обратившись к нему в telegram, по ранее выданному username.
На этой странице:
Оглавление |
---|