https://github.com/oscript-library/messenger
Отправка сообщений адресатам, используя разные транспорты
https://github.com/oscript-library/messenger
Last synced: 30 days ago
JSON representation
Отправка сообщений адресатам, используя разные транспорты
- Host: GitHub
- URL: https://github.com/oscript-library/messenger
- Owner: oscript-library
- Created: 2016-09-09T08:37:26.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-07-19T20:56:07.000Z (over 1 year ago)
- Last Synced: 2025-01-19T04:12:45.104Z (about 1 year ago)
- Language: 1C Enterprise
- Homepage: https://github.com/bia-technologies/messenger
- Size: 95.7 KB
- Stars: 33
- Watchers: 13
- Forks: 16
- Open Issues: 4
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Отправка сообщений адресатам, используя разные транспорты
[](https://github.com/bia-technologies/messenger)
## Введение
Библиотека на 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));
Сообщение = "Что-то пошло не так"; //сообщение как html
Мессенджер.ОтправитьСообщение("telegram", "-***169", Сообщение, , "html");
Сообщение = "**Что-то пошло не так**"; //сообщение как markdown
Мессенджер.ОтправитьСообщение("telegram", "-***169", Сообщение, , "md");
Сообщение = "Что-то пошло не так"; //сообщение как просто текст
Мессенджер.ОтправитьСообщение("telegram", "-***169", Сообщение);
### Mattermost
Для использования необходимо создать hook `https://developers.mattermost.com/integrate/webhooks/incoming/`.
#### Пример Mattermost
Сервер = "http://localhost";
Hook = "00000000000000000000";
Мессенджер = Новый Мессенджер();
Мессенджер.ИнициализироватьТранспорт("mattermost", Новый Структура("Сервер, Hook", Сервер, Hook));
Мессенджер.ОтправитьСообщение("mattermost", "test-channel", "Всем привет!");
## Добавление новых транспортов
Для добавления нового транспорта необходимо:
- Cкопировать файл `Транспорты\ТранспортШаблон.os`
- Изменить имя по аналогии с существующими
- Дополнить методы программного интерфеса своей реализацией отправки сообщений новым транспортом
## Обратная совместимость
**По умолчанию, при создании объекта класса используется новая версия библиотеки в которой удалены многие методы прошлой версии. Таким образом нарушена обратная совместимость.**
Для плавного перехода на новую версию библиотеки прошлая версия реализации библиотеки вынесена в класс `Мессенджер_v1`.