Чтобы использовать 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
В качестве username введите oauth, в качестве пароля - полученный токен.
Далее, при наличии доступа к Яндекс-репозиторию Visiology получить Docker образ можно командой:
docker pull cr.yandex/crpfqub5060djadd5ic8/visiology/vitalk-tg:master
Получение токена для нового бота
Токен бота - это средство, при помощи которого конкретный бот связывается с управляющей программой. Чтобы получить токен бота необходимо:
Войти в Telegram
Обратиться к боту @BotFather
Ввести команду /newbot
Выбрать имя бота (которое будет отображаться в диалоге с ним)
Выбрать username бота (по которому его можно найти в Telegram). Это имя должно заканчиваться на ‘bot’.
Сохраните полученный токен
Конфигурация бота
Выберите директорию для хранения конфигурации. В данном примере выберем директорию /docker-volume/vitalk-tg
sudo mkdir /docker-volume/vitalk-tg
cd /docker-volume/vitalk-tg
Создайте в этой директории файл bot_config.json и заполните его:
{
"token": "<ВАШ_ТОКЕН>",
"vitalkUrl": "<URL ViTalk>",
"proxyUrl": "https://telegg.ru/orig/bot"
}
В поле token вставьте заранее полученный токен бота.
Если ViTalk запущен вместе с платформой, в поле vitalkUrl вставьте:
<http или https>://<Адрес платформы>/vitalk-core
Настройка доступа к ViTalk в Telegram
Авторизация Telegram-пользователей осуществляется через белый список id пользователей.
Настройка доступа:
В директории /docker-volume/vitalk-core/configuration создать файлtelegram_whitelist.json
с содержимым:
{
"access_mode": "whitelist",
"whitelist": [
<telegram_id_1>,
<telegram_id_2>,
<telegram_id_N>
]
}
На место <telegram_id_*> подставьте telegram-id пользователя как целое число. Чтобы получить свой id, вы можете обратиться к боту @my_id_bot.
Перезапустить контейнер vitalk-core:
sudo docker service update --init visiology_vitalk-core
Если список пользователей поменяется, вы можете в дальнейшем редактировать этот файл, после чего необходимо перезапустить контейнер vitalk-core.
Запуск бота
После настройки для запуска бота необходимо выполнить команду:
sudo docker run -d --name vitalk-tg -v "/docker-volume/vitalk-tg:/opt/configuration" cr.yandex/crpfqub5060djadd5ic8/visiology/vitalk-tg:master
Убедиться в отсутствии ошибок при запуске можно при помощи команды:
sudo docker logs -f vitalk-tg
Протестируйте бота, обратившись к нему в telegram, по ранее выданному username: