Інтеграція офісного чату MyChat та месенджера Telegram

  1. Для чого пов'язувати MyChat та Telegram?
  2. Як це працює?
  3. Створюємо бота в Telegram
  4. Зовнішня IP адреса + HTTPS в MyChat
  5. Вмикаємо інтеграцію в MyChat
  6. Вмикаємо скрипт для вебхука в MyChat
  7. Підписуємо Telegram-користувача на повідомлення від бота
  8. Як тепер відправити повідомлення з MyChat в Telegram?
  9. Як відправити повідомлення з Telegram в MyChat?
  10. Що робити, якщо не вийшло?

1. Для чого пов'язувати MyChat та Telegram?


Щоб автоматично сповіщати співробітників, яких немає в офісі. Для розсилання повідомлень вашим клієнтам чи постачальникам. Повідомити адміністратору про проблеми з серверами. Варіантів багато, кожна компанія знайде своє застосування.


2. Як це працює?


Для зв'язку використовується бот Telegram, який ви собі створюєте самі. В MyChat Server, в розділі інтеграцій вмикається зв'язок MyChat - Telegram, потрібні вам користувачі Telegram підписуються на повідомлення цього бота прямо з месенджера.

На сервері MyChat із скриптів можна відправляти повідомлення будь-якій людині, яка підписалася на вашого персонального бота.


3. Створюємо бота в Telegram


Офіційна інструкція тут. А тепер крок за кроком.

Для початку потрібно з Telegram написати роботу @BotFather, далі він проведе вас за руку. Придумайте унікальне ім'я для свого бота, його будете знати тільки ви та ваші користувачі:


4. Зовнішня IP адреса + HTTPS в MyChat


Щоб запрацювала інтеграція з Telegram, потрібно врахувати дві умови:

а) ваш WEB-сервер MyChat повинен бути доступним через Інтернет. Для цього потрібна «біла» IP адреса. Що це таке та як налаштувати?

Пропишіть доменне ім'я свого сервера в розділі адмінки "Налаштування" -> "Мережеві налаштування" -> "IP адреса чи Host сервера для зовнішніх клієнтів" (зовнішню IP адресу не можна, оскільки SSL сертифікат працює лише з доменом):

б) ваш WEB-сервер MyChat повинен використовувати сертифікати для шифрування трафіка по HTTPS. Сертифікати повинні бути видані для вашого домену, самопідписні не довірені сертифікати використовувати не можна. Шифрування HTTP вмикається в розділі адмінки MyChat Server "Налаштування" -> "WEB-сервіси":


5. Вмикаємо інтеграцію в MyChat


Після того, як ви створили свого Telegram-бота, увімкніть інтеграцію з Telegram в адмінці сервера MyChat ("Інструменти" -> "Інтеграція" -> "Telegram").

Скопіюйте токен бота (рядок виду "bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11", його відправляє вам @BotFather у повідомленні), та вставте його в поле "Ключ авторизації (токен)":

Натискаємо на кнопку «Підключити бота». Якщо все "Ок", то MyChat Server автоматично зареєструє веб-хук в Telegram:

Якщо ж є якісь проблеми — читаємо та аналізуємо лог помилок (він з'явиться після спроби зв'язку з ботом):

З логу, зазвичай, зрозуміло, що за проблема виникла та на якому етапі інтеграції ви допустили помилку.

Для перевірки вашого бота перейдіть по лінку https://api.telegram.org/bot(сюди підставте токен вашого бота, без скобок)/getWebhookInfo, якщо в результаті немає параметра "last_error_message" — скоріш за все Telegram-Бот зможе відправляти вам повідомлення.


6. Вмикаємо скрипт для вебхука в MyChat


Тут все просто, нам потрібно включити скрипт обробки вхідних повідомлень від бота Telegram.

Заходимо в розділ "Інструменти" -> "Скрипти" -> "Event scripts" -> "OnRequestByREST" та вмикаємо скрипт "Telegram" (прапорець навпроти назви в дереві):


7. Підписуємо Telegram-користувача на повідомлення від бота


Відкриваємо програму Telegram на своєму смартфоні та в рядку пошуку пишемо назву вашого створеного бота. Відкриваємо з ним діалог та натискаємо кнопку "Start", чи просто пишемо йому в приват текст "/start", щоб він вас зареєстрував на сервері MyChat:

Щойно Telegram-користувач підпишеться на повідомлення від бота, він з'явиться в списку:

Ви повинні увімкнути його та призначити йому реального користувача MyChat, ось так:


8. Як тепер відправити повідомлення з MyChat в Telegram?


Реальний приклад. Користувач MyChat відправляє приватне повідомлення іншому користувачу, а він зараз офлайн. Комп'ютер вимкнено, чи MyChat Client не запустили.

Потрібно це повідомлення продублювати в Telegram потрібній людині. Як це зробити?

Скористуємося подією OnPrivateMessage та напишемо такий скрипт:

Якщо отримувач повідомлення зареєстрований у списку користувачів у розділі інтеграції з Telegram, MyChat відправить йому копію приватного повідомлення на смартфон.

Завантажити скрипт


9. Як відправити повідомлення з Telegram в MyChat?


Щоб відповісти з Telegram людині, котра відправила вам повідомлення, вам потрібно зробити довгий тап на повідомленні і вибрати "Відповісти". Адже повідомлення приходять від бота, а не конкретної людини.

Виходить двусторонній зв'язок:

Відповідь в Telegram

Повідомлення з Telegram в MyChat:

Повідомлення з Telegram в MyChat


10. Що робити, якщо не вийшло?


Йдемо на офіційний форум підтримки офісного месенджера MyChat та запитуємо. Підтримка швидка, українською та російською мовами.

Служба поддержки