Название: Nodeny telegram Отправлено: k291 от 18 Октября 2017, 01:25:42 Можно добавить отправку сообщения в telegram?
Админу: Кто оплатил + сумма платежа + способ оплаты В случае создания/ изменения тикета: номер + тема + сообщение + кто написал + ссылка на тикет Напоминание о старте тикета через N часов Клиенту: об окончании услуги Сообщение от администратора + ссылка в личный кабинет О пропаже ответа от его IP(пропажа зеленого ключика) и появлении Например для отправки сообщений определенных данных из файла: Цитировать #!/bin/bash #Telegram CHATID=341937610 APIKEY=339502684:AAFkklb2-wz3ynk5f7nxiZkt-bdYKda-J4A #Просто текст WORKERNAME=Machin1 #Загрузка CPU CPU=$(top -b -n2 -p 1 | fgrep "Cpu(s)" | tail -1 | awk -F'id,' -v prefix="$prefix" '{ split($1, vs, ","); v=vs[length(vs)]; sub("%", "", v); printf "%s%.1f%%\n", prefix, 100 - v }') #Часть текста из файла TOTAL_GPU_RATE=$(tail -n 30 loger.log |grep Total| tail -n 1) MSG=" Worker: $WORKERNAME CPU: $CPU $TOTAL_GPU_RATE /usr/bin/curl -s -X POST --output /dev/null h_ttps://api.telegram.org/bot${APIKEY}/sendMessage -d "text=${MSG}" -d chat_id=${CHATID} Название: Re: Nodeny telegram Отправлено: k291 от 21 Октября 2017, 04:50:43 Для работы отправки сообщений, необходимо установить в консоли:
perl -MCPAN -e 'install WWW::Telegram::BotAPI' Далее, в /usr/local/nodeny/web/_o_tickets.pl я добавил: Код: use WWW::Telegram::BotAPI; Сообщения приходят, но со значениями 0, null, пустым текстом. В случае $last_author, приходит HASH(0x............) с разными значениями. Подскажите, как передать тему и сообщение тикета? Название: Re: Nodeny telegram Отправлено: sever от 23 Октября 2017, 09:58:16 Код: #!/usr/bin/env bash Название: Re: Nodeny telegram Отправлено: sever от 23 Октября 2017, 10:02:00 Код: #!/usr/bin/env bash Чтобы клиенту отправлять через телеграм Клиент должен добавить чат id твоего чата + ты должен знать id-клиента в телеграмм. Название: Re: Nodeny telegram Отправлено: k291 от 23 Октября 2017, 20:35:40 Как создать собственного бота telegram:
Находим в поиске аккаунт с именем @botfather Нажимаем на кнопку Start в нижней части экрана После чего пишем ему команду /newbot Потом отвечаем на 2 вопроса: Первый вопрос – имя создаваемого бота Test1splaBot Второй вопрос – ник создаваемого бота (должен оканчиваться на bot) Test_1spla_bot В ответ получим токен нашего бота, в моём случае, это 44444444:AAEEe279_R5bT2UEG9nczRIlTGHiXRwe1ho Затем, нужно найти нашего бота в поиске по имени @Test_1spla_bot и нажать на кнопку Start, чтобы его запустить. Если бот уже создан, а мы не помним его Token: Находим @botfather Нажимаем "/mybots", выбираем своего бота, в ответ получаем "44444444:AAEEe279_R5bT2UEG9nczRIlTGHiXRwe1ho". Теперь надо узнать ID Chat(по сути ID телеграма,что установлен на телефоне), находим @MyTelegramID_bot, жмем "/start", получаем ответ "777777777" Название: Re: Nodeny telegram Отправлено: k291 от 23 Октября 2017, 20:59:05 Я так понимаю, у вас реализовано через Zabbix и каждого пользователя(надо добавлять вручную).
Для начала, я хочу чтобы приходило сообщение в Телеграм при создании или изменении в тикете. При действиях из второго поста, сообщения приходят, не без нужных данных. Не могу понять какую надо передать переменную. $subject, $comment, При попытке передать $msg,$comment, получаю ошибку: Цитировать Global symbol "$msg" requires explicit package name (did you forget to declare "my $msg"?) at /usr/local/nodeny/web/_o_tickets.pl line 935. Compilation failed in require at /usr/local/nodeny/web/calls.pm line 1374. Название: Re: Nodeny telegram Отправлено: sever от 24 Октября 2017, 08:35:58 Я так понимаю, у вас реализовано через Zabbix и каждого пользователя(надо добавлять вручную). У меня мониторинг привязан к телеграм. Скрипт был оттуда. Название: Re: Nodeny telegram Отправлено: k291 от 24 Октября 2017, 16:34:22 Можете показать пример сообщения в телеграм.
Вы реализовали приход сообщения об изменении в Тикете или изменениях в Платежи? Название: Re: Nodeny telegram Отправлено: Efendy от 25 Октября 2017, 10:20:33 Код: text => my $subject.' - '.$force_dialog.' - '.$last_author Название: Re: Nodeny telegram Отправлено: k291 от 25 Октября 2017, 22:55:08 Исправил:
Код: #Telegram Цитировать Global symbol "$subject" requires explicit package name (did you forget to declare "my $subject"?) at /usr/local/nodeny/web/_o_tickets.pl line 925. Compilation failed in require at /usr/local/nodeny/web/calls.pm line 1374. Возможно тему,сообщение,комментарий, надо по другому передавать. Только как?Название: Re: Nodeny telegram Отправлено: ser970 от 26 Октября 2017, 00:17:20 При добавлении $subject в Mess2, выдает ошибку: Цитировать Global symbol "$subject" requires explicit package name (did you forget to declare "my $subject"?) at /usr/local/nodeny/web/_o_tickets.pl line 925. Compilation failed in require at /usr/local/nodeny/web/calls.pm line 1374. Возможно тему,сообщение,комментарий, надо по другому передавать. Только как?did you forget to declare = вы забыли объявить где то так my ($subject,$performer_lbl); Название: Re: Nodeny telegram Отправлено: k291 от 26 Октября 2017, 00:23:27 Нашел.
Чтобы получать уведомление в Telegram, при добавлении сообщений в тикет: В o_tickets.pl, в 11 строке вставляем: use WWW::Telegram::BotAPI; my $token = "777777777:AAF1IywqEMRsNObEXUwtiNL2Y3ygJtMVQrU"; my $chat_id = "444444444"; В o_tickets.pl, вставляем код ниже 1136, перед "push @sqls, $d->_notifications(\%p, $notification_msg);" Код: #Telegram Это дубовый способ. Если у нас много кому надо отправлять сообщения(админам,сапорту,начальству), то придется дублировать часть кода. Надо админам в Н+, добавлять поле token , chat_id и тип тикета по которому сотруднику присылать сообщения. Чтобы запрос клиента не приходил админу, а тикет по настройке нового коммутатора, не приходил тех.поддержке. Если мы хотим отсылать сообщения об окончании услуге клиенту, то нам надо добавить поле chat_id(с Телеграма), куда клиент внесет свои данные. token у всех клиентов будет один и тотже. Название: Re: Nodeny telegram Отправлено: k291 от 30 Октября 2017, 23:12:23 Для получения сообщений в Telegram, при обращении клиента в личном кабинете в форме"Сообщение администрации":
В /usr/local/nodeny/web/user/_message.pl: Добавляем в строку 5, после "use strict;": Код: use WWW::Telegram::BotAPI; Добавляем в строку 34, после " my $new_data = { creator => $uid, comment => $comment, subject => $subject, }; ": Код: #Telegram Название: Re: Nodeny telegram Отправлено: Redmen от 31 Октября 2017, 00:40:17 Прекрасный вариант!
Тоже думал об этом! + в карму Но: 1) Нужно попросить Стаса добавить хуки в места вставки твоего кода 2) $token и $chat_id вынести в настройки в тикетах 3) в сообщение добавить урл на абона или на сам тикет (тяжелее), тему, и как то обозначить абона (фио / адрес ) Название: Re: Nodeny telegram Отправлено: Redmen от 09 Ноября 2017, 22:01:45 Сделал патч по выше упомянутым 2м постам, но:
у меня этот патч работает с первого числа и сотрудникам понравилась идея с оповещением Название: Re: Nodeny telegram Отправлено: Redmen от 09 Ноября 2017, 22:10:11 В o_tickets.pl, в 11 строке вставляем: нужно только доп поле chat_id, ... Это дубовый способ. Если у нас много кому надо отправлять сообщения(админам,сапорту,начальству), то придется дублировать часть кода. Надо админам в Н+, добавлять поле token, chat_id и тип тикета... token бота не меняется, кроме заполненого поля chat_id, каждому кто хочет получать уведомление нужно добавить бота в контакт лист и написать ему пм. вместо выбора типа тикета, можно отправлять только тем кто исполнитель даного тикета Название: Re: Nodeny telegram Отправлено: k291 от 11 Марта 2018, 15:49:23 Подскажите как брать данные с доп.поля клиента?
Хочу чтобы клиент получал уведомление о скором списании или блокировки интернета в telegram. Еще по хорошему об отсутствии связи с клиентским роутером, на случай, "у вас интернет г...но, я не чего не трогал", а потом оказывается, роутер не подключен к розетке 220в. Название: Re: Nodeny telegram Отправлено: Efendy от 11 Марта 2018, 17:22:51 Допполе - это поле в таблице data0. select поле from data0 where uid=xxx;
Название: Re: Nodeny telegram Отправлено: Cell от 20 Мая 2018, 18:49:13 Сделал патч по выше упомянутым 2м постам, но: Спасибо, выручил. Один клиент попросил запилить и оно запилилось практически мгновенно. Нужно бы как-то рассмотреть вопрос чтобы рассылалось не по одному chat id а по всем, указанным в конфиге. Вообще бы бомба была.
у меня этот патч работает с первого числа и сотрудникам понравилась идея с оповещением Название: Re: Nodeny telegram Отправлено: k291 от 20 Мая 2018, 22:07:01 Можно поступить по "дикому" и с дублировать строки из 13-го поста под нужное количество chat id.
А можно создать доп. поле в учетке клиентов, админов и оттуда брать данные chat id. Я крутил, крутил, но так и не вышло. Название: Re: Nodeny telegram Отправлено: Cell от 20 Мая 2018, 22:10:39 Нужно этот айди через запятую писать в конфиге и по циклу отправлять. Времени нет сейчас заняться, но как-то запилю.
Название: Re: Nodeny telegram Отправлено: Cell от 15 Июня 2018, 17:48:18 В итоге отправка ботом сообщений нескольким юзерам вылилась вот в такой код, где идентификаторы чата нужно писать в настройках модуля через запятую.
Код: my $new_data = { |