Сообщения в Telegram

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку

Описание

Модуль добавляет возможность автоматических уведомлений в телеграм для:

  • модуля тикетов
  • модуля «Тикеты от пользователя»

Тикеты от пользователя

Модуль «Тикеты от пользователя» заменяет стандартный модуль обмена сообщениями абонента с техподдержкой. На каждое сообщение от клиента создается тикет, который можно привязать к исполнителю и т.д. При этом текущий модуль (Сообщения в Telegram) будет дублировать сообщения в Telegram техподдержки. Настраивается шаблон какие данные и как будут показаны в Telegram. Если абонент прикрепляет изображение - оно покажется.



Настройка

  • Создайте Телеграмм бота
    • Найдите в Телеграме учетку: @BotFather
    • Напишите ему: /newbot
    • Далее: /setname NoDenyИмяВашейСети
    • В ответ получите ключ в виде XXXXXXX:XXXXXXXXXXXXXXXXXXXXX. Внесите этот ключ в раздел Настройки →‎ Модули →‎ Telegram Tickets в поле «Token Telegram бота»
    • Далее в Телеграме: /setdomain
    • Напишите: https://ваш_сайт
  • Напишите любое сообщение вашему боту в Телеграме
  • Откройте в браузере урл: https://api.telegram.org/botВАШ_ТОКЕН/getUpdates (например: https://api.telegram.org/bot123456789:jbd78sadvbdy63d37gda37bd8/getUpdates)
    • В ответе найдите
      ..."chat":{"id": число ...
      . Число - это ваш chat id, внесите его в настройки
  • В разделе Настройки →‎ Модули →‎ Telegram Tickets параметр «Включить модуль» установите в «Да»
  • Установите необходимые модули:
sudo cpan install WWW::Telegram::BotAPI
sudo cpan install EV

Телеграм разрешает использовать не все html-теги

На данный момент разрешено:

<b>bold</b>, <strong>bold</strong>
<i>italic</i>, <em>italic</em>
<u>underline</u>, <ins>underline</ins>
<s>strikethrough</s>, <strike>strikethrough</strike>, <del>strikethrough</del>
<a href="http://www.example.com/">inline URL</a>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>

Модуль тикетов

Есть возможность отправки данных создаваемого/изменяемого тикета в Telegram исполнителя(ей), указанного в тиките. Например, при создании наряда на подключение, монтажнику будет выслано уведомление в его личный Telegram.

Необходимо:

  • Создать дополнительное поле (точно такое как в модуле Авторизация через Telegram):
    • Имя поля : Телеграм id (можно дать другое имя)
    • Имя поля в бд : _telegram_id (менять нельзя)
    • Тип поля : одна строка
    • Галки: убирать все пробелы, уникальное
    • Галка на группе сотрудников
  • В Настройки →‎ Модули →‎ Telegram Tickets в поле «Шаблон сообщения исполнителю тикета» ввести шаблон

В шаблоне допустимы следующие переменные:

id             : id тикета
subject        : тема
comment        : текст тикета
state          : состояние
client_info    : данные клиента,  с которым связан тикет
performer_info : данные испольнителя,
которому отсылается уведомление
new_performer  : 1 если исполнитель,
   которому отсылается уведомление, только  что  добавлен
operation      :
   insert - создание тикета
   update - обновление тикета
   add_msg - добавление комментария/сообщения сотрудником

К примеру:

{% if operation eq 'insert' %}Создан{% else %}Изменен{% endif %} тикет #{{id}} "{{subject}}:
<pre>
{{comment}}
</pre>
{% endif %}