Skip to content

Отправка сообщений адресатам, используя разные транспорты

Notifications You must be signed in to change notification settings

oshabanov/messenger

 
 

Repository files navigation

Отправка сообщений адресатам, используя разные транспорты

GitHub release

Введение

Библиотека на 1Script, предоставляющая интерфейсы отправки сообщений посредством различных транспортов.

Использование

Перед отправкой сообщения необходимо выполнить инициализацию нужного транспорта. Доступные транспорты можно получить методом ДоступныеТранспорты() либо создать объект, передав в конструктор ИСТИНА.

В зависимости от выбранного транспорта могут отличаться входные параметры методов инициализации и отправки. Для того, чтобы узнать параметры, которые необходимо передавать нужно вызвать метод ИнициализироватьТранспорт указав в качестве параметра только идентификатор транспорта.

Доступные транспорты

В библиотеке на данный момент поддерживаются указанные ниже транспорты

Slack

Для использования необходимо зарегистрировать бота, получить его токен авторизации и дать доступ в необходимые каналы. Описание API https://api.slack.com/bot-users.

RocketChat

Для использования необходимо создать пользователя-бота, получить его параметры авторизации. Описание API https://rocket.chat/docs/developer-guides/rest-api.

Пример RocketChat

Мессенджер = Новый Мессенджер();
Мессенджер.ИнициализироватьТранспорт("rocketchat", Новый Структура("Логин, Пароль, АдресСервера", "user-bot", "pass-bot", "https://rocketchat.mycompany.ru");
Мессенджер.ОтправитьСообщение("rocketchat", "chanel", "Всем привет", Новый Структура("ТипСообщения", "Внимание"));
Мессенджер.ОтправитьСообщение("rocketchat", "@user", "@User, привет!", Новый Структура("ТипСообщения", ":pensive:"));

SMS

На данный момент поддерживается отправка сообщений через операторов SMS-Bliss, Infobip и sms4b. Для использования необходимо заключить договор с соответствующим оператором.

  • SMS-Bliss: https://smsbliss.ru/
  • Infobip: http://www.infobip.com.ru/
  • sms4b: https://www.sms4b.ru/

Gitter

Для использования необходимо получить токен авторизации https://developer.gitter.im/apps. Имя комнаты указывается полностью ИмяОрганизации/ИмяРепозитория.

Например для https://gitter.im/asosnoviy/Lobby имя комнаты asosnoviy/Lobby.

Пример Gitter

ИмяКомнаты = "organization/repo";
Мессенджер = Новый Мессенджер();
Мессенджер.ИнициализироватьТранспорт("gitter", Новый Структура("Логин", ТокенПользователя));
Мессенджер.ОтправитьСообщение("gitter", ИмяКомнаты, "Всем привет!");

Telegram

Для использования Необходимо создать бота через канал @BotFather и получить токен https://tlgrm.ru/docs/bots#botfather.

Пример Telegram

Мессенджер = Новый Мессенджер();
Мессенджер.ИнициализироватьТранспорт("telegram", Новый Структура("Логин", BotID));
Сообщение = "<b>Что-то пошло не так</b>"; //сообщение как html
Мессенджер.ОтправитьСообщение("telegram", "-***169", Сообщение, , "html");

Сообщение = "**Что-то пошло не так**"; //сообщение как markdown
Мессенджер.ОтправитьСообщение("telegram", "-***169", Сообщение, , "md");

Сообщение = "Что-то пошло не так"; //сообщение как просто текст
Мессенджер.ОтправитьСообщение("telegram", "-***169", Сообщение);

Добавление новых транспортов

Для добавления нового транспорта необходимо:

  • Cкопировать файл Транспорты\ТранспортШаблон.os
  • Изменить имя по аналогии с существующими
  • Дополнить методы программного интерфеса своей реализацией отправки сообщений новым транспортом

Обратная совместимость

По умолчанию, при создании объекта класса используется новая версия библиотеки в которой удалены многие методы прошлой версии. Таким образом нарушена обратная совместимость.

Для плавного перехода на новую версию библиотеки прошлая версия реализации библиотеки вынесена в класс Мессенджер_v1.

About

Отправка сообщений адресатам, используя разные транспорты

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • 1C Enterprise 99.5%
  • Other 0.5%