-
Kernel
-
Plugins
-
Решения
Kernel
Plugins
Решения
Плагин предназначен для интеграции BGERP с мессенджером Telegram и предоставляет функционал:
привязка процесса к чату группы или чату пользователя Telegram;
привязка пользователя к чату группы или чату пользователя Telegram;
использование Markdown разметки в тексте отправляемых сообщений.
В BotFather создать своего бота, прописать его название и токен в конфигурации.
Создать параметры для пользователя и процесса, где будут храниться id чатов и прописать их в конфигурации .
После запуска найти в телеграм своего бота. Если разговор один на один: - команды /getid - получить id и вписать в параметр своего пользователя, можно вписать и в параметр процесса - /start после чего ввести в чате пользователя и пароль, тогда в параметр пользователя ид чата занесется само
Можно добавить бота в чат, тогда: - /getid и заносим его в параметр процесса ил пользователя.
Пример настройки
telegram:botStart=1
# настройки прокси, в случае необходимости
telegram:proxyHost=111.223.75.181
telegram:proxyPort=8888
# SOCKS5 , HTTP
telegram:proxyType=SOCKS5
# в BotFather создать своего бота, прописать его название и токен
telegram:token=842416376:AAFGsYLCgqG6eKcsZPy6gLCjge_klgUiWHE
telegram:botName=TestBgErp_bot
# параметр пользователя в котором будет храниться chatId
telegram:userParamId=90
# параметр процесса в котором будет храниться chatId
telegram:processParamId=91
Необязательные параметры (позволяют переопределить текст сообщений бота, к примеру для локализации текста под свой язык):
# ошибка неверный пароль
telegram:msgWrongPassword=неверный пароль
# текст после ввода команды /start
telegram:msgAskLogin=введите свой логин
# текст запроса пароля
telegram:msgAskPassword=введите свой пароль
# текст успешной привязки chaid к пользоватею
telegram:msgLinkChange=учетная запись обновлена
# стандартный ответ на текст вне комманд
telegram:msgDefaultAnswer=введите /start или /getid
В конфигурации типа процесса может быть настроена автоматизация работы с Telegram с помощью скрипта в doExpression простого обработчика событий. Ниже приведено несколько примеров возможных действий по различным событиям в процессе.
При изменении статуса, отправляется сообщение в чаты всех исполнителей процесса и чат самого процесса:
onProcessEvent.1.events=statusChanged
onProcessEvent.1.doExpression=<<END
telegram.sendMessage(process, "Изменился статус");
END
При изменении статуса, отправляется сообщение только в чат самого процесса:
onProcessEvent.2.events=statusChanged
onProcessEvent.2.doExpression=<<END
telegram.sendMassageForProcess(process, "Изменился статус");
END
В данный момент поддерживается только полужирное начертание, курсив, моноширинный шрифт и ссылки.
*полужирный*
_курсив_
[ссылка](http://www.example.com/)
`строчный моноширинный`
```text
блочный моноширинный (можно писать код)
```
Пример использования:
onProcessEvent.{@cnt}.doExpression=<<END
text = "*Тип процесса: * " + process.getTypeTitle().concat( NEW_LINE );
text+="_Код исполнителя_: " + process.getExecutorIds().toString().concat( NEW_LINE );
text+="`Описание:` " + process.getDescription();
telegram.sendMessage(process, text);
END
Объект telegram класса org.bgerp.plugin.telegram.DefaultProcessorFunctions с функциями API предоставляется плагином.