Windows Официальный Telegram-бот

bosporsky написал(а):
Согласен. Тогда можно зайти со стороны сервера. Ведь, заведение уведомлений совсем вручную - это довольно не удобно. А вот если бы, можно было в LKDSDomain, на конкретное исполнение ЛБ, вывести списком ВСЕ возможные состояния ЛБ (с ошибками СУЛ) и просто чекбоксом (флажками) отметить те, на которые нужно формировать уведомление, а на какие нет, то это бы сильно увеличило полезность такого информирования.

На импортных лифтах этот список может состоять из нескольких тысяч таких состояний. !
 
andreyzv написал(а):
На импортных лифтах этот список может состоять из нескольких тысяч таких состояний. !

Тем более. Сейчас очень "удобно" несколько тысяч вручную заводить. А вообще, реализовать это просто:

0. Выбор исполнения ЛБ;

Выбираем исполнение, переходим в окно настройки уведомлений:

1. Вверху слева - два признака: Выделить все, Отменить все;
2. Вверху справа - строка поиска (можно по номеру/коду, можно по тексту);
3. Сам список - "живой", при вводе текста в поле поиска, начинает автоматически сортировать список и выводить только подходящие. Если поле пустое, отображаются все;
4. Напротив элемента списка событий (например слева) чекбокс (признак вкл/выкл)


Собственно и всё
 
Последнее редактирование модератором:
Андрей Ефименко написал(а):
Проблем действительно много.
Главная проблема для меня - не ясно чем лучше получать оповещения в Telegram, чем по обычной электронной почте.

Но, раз уж пошла такая тема, некоторые работы по ознакомлению с самим API Telegraм проведены.

Пусть мы решили посылать оповещения в Telegram.
Важно, что бы сервера диспетчеризации (LKDSDisp, LKDSCloud, LKDSDomain) не сильно пострадали от этого.
Поэтому можно предложить следующую схему:

1. Введём еще один тип оповещений - "через чат Telegraм".
2. Что бы не нагружать сервера диспетчеризации ни алгоритмически, ни в настройке введём промежуточный сервер (LKDSAlertBot), который будет поддерживать общение в одном чате Telegram
3. сервера диспетчеризации просто посылаю оповещения в LKDSAlertBot. В этих оповещениях есть, кроме тела, заголовок, содержащий:
- тип сервера диспетчеризации
- организацию
- имя пользователя
- MD5 хеш пароля
4. сервер LKDSAlertBot, получив оповещения, знает от какого IP пришло оповещения и, используя данные заголовка, может определить конкретного пользователя чата, которому оповещение послано. Если конечно в LKDSAlertBot есть описание пользователя чата

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

И эскиз этого диалога создан в чате Telegram, который называется LKDSAlertBot.

Предлагаю ознакомиться с этим диалогом и высказать замечания, т.е. в Telegram подключаетесь к чату LKDSAlertBot и начинаете работать. Оповещения приходить не будут, т.к. сервера диспетчеризации ещё не подготовлены.

Нужно оценить сам диалог.

Попробовал диалог ввода параметров серверов диспетчеризации один человек - будем, конечно, надеяться на возрастающий интерес к данному подходу доставки оповещений.

Что бы не плодить сущности, доставка оповещений от серверов диспетчеризации (LKDSDisp, LKDSDomain, LKDSCloud) будет производиться с помощью HTTP оповещений. Т.е. в пользователе нужно указать URL TCP порта сервера поддержки LKDSAlertBot - http://tg.lkds.net:82/tg LKDSAlertBot3.png

Доступность сервера поддержки LKDSAlertBot можно проверить в браузере LKDSAlertBot4.png

Для работы сервера поддержки LKDSAlertBot, HTTP сообщения должны в Xml теле иметь дополнительные поля, поэтому без доработки серверов диспетчеризации не обойтись. Если путь указан tg (http://tg.lkds.net:82/tg ), то НТТР сообщение дополняется этой информацией.

Сейчас доработки сделаны только для LKDSDomain

LKDSDomain пока не выложен в штатное обновление, и его нужно обновить вручную

1. Переименуйте имеющийся в папке \LKDSDrv\LKDSDomain\ файл LKDSDomain.exe в файл LKDSDomain.exe_old
2. Поместите файл LKDSDomain.ttt в папку \LKDSDrv\LKDSDomain\ под именем LKDSDomain.exe
3. перезагрузите службу LKDSDomain из "Диспетчера задач" (закладка "службы") или из "Командной строки" командами:
net stop LKDSDomain
net start LKDSDomain

Т.е. уже можно пробовать передавать оповещения из LKDSDomain в Telegram через бот LKDSAlertBot

LKDSDomain выложен в штатное обновление
 

Вложения

  • LKDSAlertBot3.png
    LKDSAlertBot3.png
    20.1 KB · Просмотры: 0
  • LKDSAlertBot4.png
    LKDSAlertBot4.png
    54.3 KB · Просмотры: 0
Последнее редактирование модератором:
Оперативно однако. Всё сделал - не завелось. Уведомления не приходят 😥Всё работает 👍
 
Последнее редактирование модератором:
bosporsky написал(а):
Оперативно однако. Всё сделал - не завелось. Уведомления не приходят 😥

Не приходят HTTP оповещения от Вашего LKDSDomain на наш сервере поддержки LKDSAlertBot, т.е. нечего ретранслировать.

1. Попробуйте в браузере открыть ссылку http://tg.lkds.net:82 Она откроется ?
2. Пришлите содержимое папки \LKDSDrv\LKDSDomain\Logs\Alert\
3. Если в папке \LKDSDrv\LKDSDomain\Logs\Alert\ нет файлов, то проблемы в настройке оповещений - нужно разрешить отправку HTTP оповещений:
- в LKDSDomainCfg LKDSDomainCfgHTTP.png
- пользователю LKDSAlertBot3.png
- в самом оповещении EnableHTTP.png
 

Вложения

  • LKDSAlertBot3.png
    LKDSAlertBot3.png
    30 KB · Просмотры: 0
  • LKDSDomainCfgHTTP.png
    LKDSDomainCfgHTTP.png
    7.4 KB · Просмотры: 0
  • EnableHTTP.png
    EnableHTTP.png
    19 KB · Просмотры: 0
Андрей Ефименко написал(а):
Не приходят HTTP оповещения от Вашего LKDSDomain на наш сервере поддержки LKDSAlertBot, т.е. нечего ретранслировать.

1. Попробуйте в браузере открыть ссылку http://tg.lkds.net:82 Она откроется ?
2. Пришлите содержимое папки \LKDSDrv\LKDSDomain\Logs\Alert\
3. Если в папке \LKDSDrv\LKDSDomain\Logs\Alert\ нет файлов, то проблемы в настройке оповещений - нужно разрешить отправку HTTP оповещений:
- в LKDSDomainCfg Вложение IPB #2620
- пользователю Вложение IPB #2619
- в самом оповещении Вложение IPB #2621

Получилось. Моё почтение, совсем другой уровень! B)

------------------------------
Небольшое пожелание: попробуйте пожалуйста выставить признак форматирования для текста оповещений - "моноширинный". Так будет поплотнее текст и посолиднее. И нужен механизм удаления лишних описаний сервера
______________2022_06_16___11.55.21.png
 

Вложения

  • ______________2022_06_16___11.55.21.png
    ______________2022_06_16___11.55.21.png
    2 MB · Просмотры: 0
Последнее редактирование модератором:
bosporsky написал(а):
Небольшое пожелание: попробуйте пожалуйста выставить признак форматирования для текста оповещений - "моноширинный". Так будет поплотнее текст и посолиднее. И нужен механизм удаления лишних описаний сервера
Вложение IPB #2622

1. Почему-то я думал, что "моноширинные" шрифты менее плотные, т.е. позволяют поместить на строке меньшее число символов.

Например, в этой строке
Например, в этой строке

2. Меню можно "приподнять" и там будет пункт удаления описания TelegramDelServ.PNG
 

Вложения

  • TelegramDelServ.PNG
    TelegramDelServ.PNG
    145 KB · Просмотры: 0
Андрей Ефименко написал(а):
1. Почему-то я думал, что "моноширинные" шрифты менее плотные, т.е. позволяют поместить на строке меньшее число символов.

Например, в этой строке
Например, в этой строке

2. Меню можно "приподнять" и там будет пункт удаления описания Вложение IPB #2623

1. Действительно. Ну это в чём-то, больше чтобы отличать сообщения бота от сообщений сервера, так сказать (моноширинный в телеграм другого цвета). Не настаиваю, всё работает и это хорошо.
2. Вот это я опростоволосился. Спасибо, удалил
 
Последнее редактирование модератором:
Андрей Ефименко написал(а):
Что бы не плодить сущности, доставка оповещений от серверов диспетчеризации (LKDSDisp, LKDSDomain, LKDSCloud) будет производиться с помощью HTTP оповещений. Т.е. в пользователе нужно указать URL TCP порта сервера поддержки LKDSAlertBot - http://tg.lkds.net:82/tg Вложение IPB #2615

Доступность сервера поддержки LKDSAlertBot можно проверить в браузере Вложение IPB #2616

Для работы сервера поддержки LKDSAlertBot, HTTP сообщения должны в Xml теле иметь дополнительные поля, поэтому без доработки серверов диспетчеризации не обойтись. Если путь указан tg (http://tg.lkds.net:82/tg ), то НТТР сообщение дополняется этой информацией.

Т.е. уже можно пробовать передавать оповещения из LKDSDomain в Telegram через бот LKDSAlertBot

LKDSCloud доработан для посылки оповещений в Telegram через бот LKDSAlertBot

Для использования этой возможности нужно:

- в общих параметрах LKDSAlertBotLKDSCloud0.png разрешить отправку HTTP оповещений LKDSAlertBotLKDSCloud.png
- разрешить пользователю посылать HTTP оповещения и указать URL http://tg.lkds.net:82/tg Вложение IPB #2619
- в самом оповещении разрешить его отправку по HTTP Вложение IPB #2621
 

Вложения

  • LKDSAlertBotLKDSCloud0.png
    LKDSAlertBotLKDSCloud0.png
    10.5 KB · Просмотры: 0
  • LKDSAlertBotLKDSCloud.png
    LKDSAlertBotLKDSCloud.png
    24.3 KB · Просмотры: 0
Тема очень интересная. Хотелось бы почитать пошаговую инструкцию по настойке бота для малограмотных :rolleyes: .
 
bosporsky написал(а):
Ну есть трудности с уведомлениями. Я бы хотел чтобы мне сыпалась не "авария привода по УКСЛ" в уведомлении, а "Код 94. Включенное состояние реле тормоза KV19..." в мессенджер. И не хотелось бы иметь зависимость работы уведомлений, от желания google например. Да и вообще, может LKDS в дальнейшем так прокачает такое взаимодействие, что механику будет достаточно в боте нажать "принято" как на сервере начнётся отсчёт времени до выполнения заявки и прочее, прочее, прочее.

В общем, если вкратце, в перспективе поддерживать работу такого сервиса в Telegram будет дешевле и проще, чем стабильную работу собственных приложений для разных платформ. Телеграм даже для CLI есть :D


Вообще был бы "высший пилотаж" если бот сможет реализовать хотя бы часть функций таких монстров как Арпикон, Лифт Мониторинг и некоторых аналогичных им!
 
Последнее редактирование модератором:
Van Gog написал(а):
Тема очень интересная. Хотелось бы почитать пошаговую инструкцию по настойке бота для малограмотных :rolleyes: .

Используется штатная система оповещений ДК "Обь"

Настройка системы оповещений ДК "Обь" для посылки в Telegram (LKDSDomain выложен в штатное обновление ПО и вручную его не нужно обновлять) описана в статье
Нужно не забыть разрешить в LKDSDomainCfg отправку HTTP уведомлений LKDSDomainHTTP.png

После подключения к боту LKDSAlertBot, доступно меню: IMG_0058.PNG

1. Во первых выбираем пункт "Новое описание сервера", после чего отвечаем на вопросы о параметрах сервера диспетчеризации, который будет посылать оповещения в Telegram

2. Во вторых, по пункту меню "Принимать оповещение от сервера", выбираем из предложенного списка (вначале список из одного описания сервера), от которых разрешено получать оповещения
 

Вложения

  • IMG_0058.PNG
    IMG_0058.PNG
    144.9 KB · Просмотры: 0
  • LKDSDomainHTTP.png
    LKDSDomainHTTP.png
    7.5 KB · Просмотры: 0
Понятно. :) Доступно.
Но что-то у меня нет сообщений... Все сделал по описанию.
По логу все нормально вроде, а не телефоне нет ничего.
 
Последнее редактирование модератором:
revit написал(а):
Понятно. :) Доступно.
Но что-то у меня нет сообщений... Все сделал по описанию.
По логу все нормально вроде, а не телефоне нет ничего.

Нужно установить на смартфоне приложение Telegram.

В приложении Telegram, в самом боте LKDSAlertBot, нужно описать сервера диспетчеризации, от которых ожидаются оповещения.

После подключения в приложении Telegram к боту LKDSAlertBot (поиск и ввести LKDSAlertBot ), доступно меню: Вложение IPB #2627

1. Во первых, выбираем пункт "Новое описание сервера", после чего отвечаем на вопросы о параметрах сервера диспетчеризации, который будет посылать оповещения в Telegram

2. Во вторых, по пункту меню "Принимать оповещение от сервера", выбираем из предложенного списка (вначале список из одного описания сервера), от которых разрешено получать оповещения
 
Последнее редактирование модератором:
revit написал(а):
Дык все так и сделал. Я ж не совсем далёкий то... :)

Нужно внимательно посмотреть на имя чата, имя должно быть LKDSAlertBot
Существует ещё тестовый чат LKDSAlertTestBot - в него заходить не нужно.
 
Назад
Сверху