В HelpDeskEddy есть возможность обработки заявок из Telegram бота. Боты — специальные аккаунты в Telegram, созданные для того, чтобы автоматически обрабатывать и отправлять сообщения. Пользователи могут взаимодействовать с ботами при помощи сообщений, отправляемых через обычные или групповые чаты.
Видеоинструкция:
3) Дополнительная информация и возможные ошибки при работе с Telegram
Обратитесь к пользователю @BotFather в Telegram и следуйте его инструкциям:
- Напишите команду /newbot , чтобы создать нового бота. BotFather спросит у вас название бота и предложит придумать name и username. Имя (name) будет отображаться в контактах и чатах:
Username — короткое имя на латинице, которое используется для упоминаний бота и в ссылках на профиль в t.me/
Username должен состоять из букв латинского алфавита, подчёркиваний и цифр и быть длиной от 5 до 32 символов. Также имя пользователя обязательно должно заканчиваться на «bot», например: «test_hde_bot»
Далее Вы можете настроить своего бота по желанию: установить картинку, описание и т.д. Полный список возможных команд доступен по команде /help.
Второй шаг: подключение бота к системе.
После создания бота, Вы получите ключ авторизации, который необходим для подключения к вашей системе. Ключ (токен) предоставляет BotFather, вот здесь:
Как только вы создали бота и получили свой ключ (токен) авторизации, Вы можете подключить созданного бота к HelpDeskEddy. Для этого перейдите из Управления в раздел "Настройка каналов связи" и нажмите на кнопку "Добавить канал". После чего выберите "Telegram" и департамент к которому будет подключен канал.
В поле "Ключ бота" введите API token (который предоставил @Bot_father) и нажмите на кнопку "Синхронизировать и сохранить". В случае корректных настроек в статусе будет отображено что "Соединение успешно установлено":
Для того, чтобы бот мог работать как с обычными личными сообщениями, так и с групповыми чатами, в настройках бота необходимо указать:
- /setjoingroups — определяет, можно ли добавлять вашего бота в группы.
По умолчанию этот параметр включен (ENABLED). При необходимости его можно отключить (Disable):
- /setprivacy — переключает режим конфиденциальности в группах (все ли сообщения видит ваш бот в группах).
'Enable' - ваш бот будет получать только те сообщения, которые начинаются с символа '/'
'Disable' - ваш бот будет получать все сообщения, которые люди отправляют в группы.
Обмен сообщениями с Telegram происходит в режиме реального времени, без ожидания.
Таким образом пользователь (клиент), не заходя напрямую в систему, может обращаться в вашу службу поддержки используя привычный для него способ общения через Telegram, а вы, в свою очередь, сможете обрабатывать заявки поступившие из каналов соцсетей и мессенджеров напрямую в HelpDeskEddy.
Иногда при работе с каналом вы можете столкнуться с некоторыми ошибками (сообщение не было доставлено, обрыв соединения и т.д.). Так как интеграция двухсторонняя, то на стороне Telegram могут быть как определенные ограничения на отправку, так и перебои работы в целом. В логах канала можно ознакомиться, с чем было связана та или иная проблема, а также просмотреть код её ошибок. Помимо этого, информация о том, что сообщение было не доставлено, а также причина этого, отображается возле самого сообщения:
Ниже представлен список некоторых наиболее популярных проблем и причины их возникновения:
- 413 Request Entity Too Large - означает что вложение, отправленное из системы, превышает максимально допустимый размер (50MB);
- Error 500 говорит о том, что возникла какая-то неисправность со стороны сервера Telegram. Попробуйте повторить попытку через некоторое время;
- 403 FORBIDDEN - нарушение конфиденциальности. Например, попытка написать сообщение тому, кто заблокировал вашего бота.
- В Telegram доступен метод getWebhookInfo для получения текущего состояния бота (его статус), не требующий параметров. В случае успеха возвращает объект WebhookInfo. Если бот использует getUpdates, возвращается объект с пустым полем url.
Например: https://api.telegram.org/bot123456:ABC-DEF1234/getWebhookInfo
где 123456:ABC-DEF1234 – токен вашего бота. Подробнее.
- Команда ?start= позволяет передавать информацию в ссылке при обращении к боту. Пример: https://t.me/yourbotname?start=Hello-World
Если пользователь перейдёт по указанной ссылке и нажмёт кнопку "Старт" в Telegram, то в заявке в HelpDeskEddy передастся весь текст после "start=" в виде комментария, который можно обработать как вручную, так и автоматически, при помощи правил диспетчера (дополнительное условие "Содержимое последнего комментария"):