Модуль для BAS: Отправка уведомлений в телеграм
-
Часто приходится отправлять различные уведомления о работе скрипта, а не просто писать их в лог, особенно это полезно делать, если выши скрипты работают на удаленных серверах. Для подобных уведомлений я выбрал телеграм, и его фишку боты, и написал простой модуль для работы с ним, которым делюсь с вами.
Перед использованием модуля, вам нужно создать собственного бота в телеграм, получить его access_token и chat_id. Это делается в течение 5 минут, просто следуйте инструкции, которая доступна по этой ссылке https://habrahabr.ru/post/306222/
Установка и использование модуля.
1. Скачайте и распакуйте данный архив 0_1495017026968_Telegram.zip
2. Скопируйте полученную директорию в папку modules.
3. Перезапустите бас если он был запущен.
4. Найдите модуль "Телеграм" и выберите в нем действие "Отправить Сообщение"
5. Впишите ваш access_token, chat_id и текст сообщения.
Демонстрация работы: https://cloud.mail.ru/public/ERdt/hVMDiPFt6
-
@santilo Круто! Голосую за добавление его в официальную сборку!
-
@Fox спасибо за вашу оценку
-
В новой версии баса 18.5, модуль перестал отображаться, я его обновил, тем кто его использует, перекачайте архив с модулем в первом сообщение.
-
@santilo Я очень рад, что кто-то освоил систему модулей и добавил в БАС функционала. Очень круто.
Посмотрел код - тоже все на высоте.
Единственные 2 вещи, которые я добавлю, это ссылку на ман по созданию бота прямо в интерфейсе и сделаю функцию getTime локальной переменной, чтобы память очищалась после отправки сообщения, и чтобы она не конфликтовала, если пользователь решит создать функцию с таким же именем.И с вашего разрешения добавлю в основную сборку.
Огромное спасибо!
-
@support said in Модуль для BAS: Отправка уведомлений в телеграм:
Единственные 2 вещи, которые я добавлю, это ссылку на ман по созданию бота прямо в интерфейсе и сделаю функцию getTime локальной переменной, чтобы память очищалась после отправки сообщения, и чтобы она не конфликтовала, если пользователь решит создать функцию с таким же именем.
1 да, так гораздо удобней будет, я сам хотел эту ссылку добавить в интерфейс, но не стал)
2 по getTime , я даже об этом не подумал) спасибо вам, теперь буду знать про эти нюансы.@support said in Модуль для BAS: Отправка уведомлений в телеграм:
И с вашего разрешения добавлю в основную сборку.
Ух ты) мне приятно, что вы его захотели добавить в основную сборку, я обеими руками за это!
@support said in Модуль для BAS: Отправка уведомлений в телеграм:
Огромное спасибо!
Это вам спасибо за такой шикарный софт, постоянные апдейты и оказываемую поддержку.
-
Подскажите пожалуйста, как в тексте сообщения поставить переход на следующую строку?
http://joxi.ru/brRGvZgtQnqE1m?d=1
-
@follower21, попробуй <RETURN> воткнуть между ними, хотя не факт что сработает.
-
@bigorat не помогло. вернул <RETURN> прямо текстом)
-
@follower21, тогда хз, может ещё спецсимвол перевода каретки попробовать вроде \r, но может я и путаю...
-
@follower21 said in Модуль для BAS: Отправка уведомлений в телеграм:
Подскажите пожалуйста, как в тексте сообщения поставить переход на следующую строку?
http://joxi.ru/brRGvZgtQnqE1m?d=1Форматируй сообщение для телеграма в действие "Шаблон", в нем сохраняются все переносы строк. На выходе у тебя будет переменная TEMPLATE_RESULT (имя по умолчанию), ее и вставляй в текст сообщения.
-
@santilo спасибо, все отображается корректно
-
Как постить сразу в канал?
Если ввожу id бота, то постит у бота.
Но как сразу узнать id канала?Получилось Get запросом. Но как сделать отправку в несколько строк?
-
@teamgame said in Модуль для BAS: Отправка уведомлений в телеграм:
Как постить сразу в канал?
Также как и боту, только вместо id чата, в соответствующее поле вставляешь имя канала (вначале имени поставь @).
@teamgame said in Модуль для BAS: Отправка уведомлений в телеграм:
Но как сделать отправку в несколько строк?
Выше есть ответ на этот вопрос, используй действие "Шаблон".
-
@santilo said in Модуль для BAS: Отправка уведомлений в телеграм:
@teamgame said in Модуль для BAS: Отправка уведомлений в телеграм:
Как постить сразу в канал?
Также как и боту, только вместо id чата, в соответствующее поле вставляешь имя канала (вначале имени поставь @).
@teamgame said in Модуль для BAS: Отправка уведомлений в телеграм:
Но как сделать отправку в несколько строк?
Выше есть ответ на этот вопрос, используй действие "Шаблон".
Спасибо. Все получилось.
С первого раза пробовал так добавить, но почему то ошибка вышла!
-
@santilo Неплохо было бы добавить экшен Прочитать Сообщение, через getUpdates например.
Парсить ответ из json в список, оформить их с датой и временем.
-
Если кому вдруг понадобится, вот вариант через node js:
Скрипт сохраняет в массив все последние, непрочитанные сообщения.
-
@Fox У меня почему та не выводит http://prntscr.com/izuqfr
-
Немного усовершенствовал модуль.
Теперь экшен HTTP-Клиент Прокси применяется и для модуля Телеграм
Добавил возможность Получить Сообщение
Получить последнее сообщенее - загрузить из всех непрочитанных сообщений, самое последнее.
Ответ в формате Json - получить все, или последнее (в зависимости от предыдущей галочки) непрочитанные сообщения в формате Json. Если она отключена, ответ будет парситься в формат:дата [время] имя: текст 2018.04.20 [13:35:18] Fox_vodniki: Hello
И сохраняет в список TELEGRAM_MESSAGES_LIST.
Для установки нужно:
- Скачайте и распакуйте данный архив Telegram.rar
- Скопируйте полученную директорию в папку modules, заменяя файлы (или удалите заранее папку Telegram)
- Перезапустите бас если он был запущен.
Чтобы прокси работало для отправки сообщений через модуль, нужно пересоздать действие.
-
С модулями раньше не имел дела, даже сегодня утром я ещё не знал как они работают. Мануала не нашёл, писал разбирая и смотря другие модули
:D
.
-
Если модуль будет востребованный, сделаю конструктор парсинга json. В каком формате выводить сообщения..