Болид (НВП) · программное обеспечение: Telegram-бот для просмотра состояния зон и получения событий из базы данных «Орион» и программа администрирования бота

Telegram-бот ИСО «Орион» — просмотр состояния зон и уведомления о событиях в мессенджере, программа администрирования бота

Программа администрирования подключает базу «Орион» (MS SQL или PostgreSQL) и выдаёт клиентам доступ к зонам; бот в Telegram показывает их состояние и присылает уведомления о событиях.

Модели семейства

Telegram-бот и программа администрирования ботаДве части: программа администрирования (настройки, клиенты, привязка зон, запуск) и сам бот в мессенджере Telegram, в чат которого приходят состояния зон и события.
Подключение к БД «Орион»MS SQL — только к текущей БД, записанной в реестр; PostgreSQL — ввод параметров подключения вручную, затем «Тест соединения»
Локальная БДSQLite: поля «Путь к библиотеке SQLite» и «Файл база данных»; в штатной работе менять не нужно
Обязательные параметры ботапуть к исполняемому файлу бота и токен, выдаваемый при регистрации бота в Telegram
Проксиадрес прокси-сервера, имя пользователя и пароль (при необходимости)
Дополнительные настройки«Период жизни сессии» (сутки при бездействии), «Предупредить о закрытии сессии», «Передать события за последние» (часы, при запуске бота), «Количество зон в меню бота»
Вход в чатпо адресу электронной почты и паролю клиента, заданным в программе администрирования
Удаление сообщения о событиикнопкой «Удалить» только в течение 48 часов после получения (ограничение Telegram)

Как это работает и подключается

  • Порядок настройки: во вкладке «Настройки» заполнить «Подключение к БД Орион», при необходимости «Подключение к Локальной БД», затем «Параметры Telegram-бота» (путь к исполняемому файлу бота и токен). Не настроенное приложение показывает в поле состояния две ошибки.
  • Для PostgreSQL заполняют поля подключения к рабочей базе и нажимают «Тест соединения»: при успехе выводится «Соединение установлено» и кнопка «Сохранить» становится активной, при неудаче — «Ошибка соединения!». Настройки применяются кнопкой «Сохранить».
  • На вкладке «Главная» появляются сотрудники, группы и зоны. Выбрать сотрудника → «Добавить в клиенты» → в форме «Добавление клиента бота» ввести адрес электронной почты (он будет логином для входа в бота) и пароль.
  • Выбрать клиента в списке и привязать зоны: в списке «Группа» — группу, в «Зоны» — зону, «Добавить зону» или «Добавить все». Добавленные зоны видны в списке полномочий.
  • Запуск — кнопкой «Запустить»; в поле состояния появляется запись о запуске, индикатор «мониторинг» меняет цвет с красного на зелёный.
  • Работа в чате: «Старт» → приветствие для гостей и кнопка «Войти» → ввод логина (адреса почты из программы администрирования) → ввод пароля. После успеха — приветствие и кнопки «Выйти» и «Просмотреть зоны»; при отказе — сообщение об отказе доступа и кнопка «Войти».
  • Меню «Список доступных групп» (или сразу список зон, если доступна одна группа): число кнопок зависит от настройки «Количество зон в меню бота»; если групп больше, появляются «Вперёд» и «Назад» (стрелка вправо или влево показывает, что переход возможен) и кнопка «На главную» или «В группы».

Монтаж

  • Требуется токен: бот регистрируют в мессенджере Telegram, токен вносится в «Параметры Telegram-бота» (подробности регистрации — по ссылке из документа производителя ibot.by/info/base/token/).
  • Если выход в сеть идёт через прокси, адрес прокси-сервера, имя пользователя и пароль вводят в том же разделе «Параметры Telegram-бота».
  • Для PostgreSQL заполняются поля подключения к рабочей базе данных «Орион»; для MS SQL подключение возможно только к текущей базе, записанной в реестр.

Примеры

Дежурному — состояние зон в телефоне

Клиент входит в чат бота по адресу почты и паролю, открывает «Просмотреть зоны», выбирает группу и нажимает кнопку зоны — получает её состояние на момент нажатия.

Уведомления о событиях по доступным зонам

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

Частые вопросы

Какие базы данных поддерживает?

MS SQL (только текущая БД, записанная в реестр) и PostgreSQL (параметры подключения вводятся вручную); локальная служебная БД — SQLite.

Что нужно, чтобы бот заработал?

Токен, выданный при регистрации бота в Telegram, и путь к исполняемому файлу бота в «Параметрах Telegram-бота»; затем клиентам (адрес почты и пароль) назначают зоны и нажимают «Запустить».

Как клиент входит в чат?

«Старт» → «Войти» → логин (адрес электронной почты из программы администрирования) → пароль; после входа доступны «Просмотреть зоны» и «Выйти».

Как ограничить, какие зоны видит клиент?

В программе администрирования выбрать клиента и добавить ему только нужные зоны («Добавить зону»); «Добавить все» добавляет все зоны.

За какой период бот отдаёт события при запуске?

За период, заданный параметром «Передать события за последние» (в часах).

Нюансы и грабли

  • Для СУБД MS SQL «на данный момент доступно только подключение к текущей БД, записанной в реестр» — задать другое подключение к MS SQL в программе нельзя.
  • Кнопка «Сохранить» остаётся неактивной, пока «Тест соединения» не прошёл успешно.
  • Логин клиента бота — адрес электронной почты, заданный в программе администрирования, а пароль должен совпадать с заданным там же; иначе бот отвечает отказом в доступе.
  • Кнопка «Удалить» в уведомлении убирает сообщение из чата только в течение 48 часов после получения — это ограничение мессенджера Telegram; старые сообщения удаляют вручную или очисткой истории чата.
  • Кнопки «Вперёд» и «Назад» без стрелки не действуют, даже если кнопка отображается.

Документация