Болид (НВП) · программное обеспечение: Telegram-бот для просмотра состояния зон и получения событий из базы данных «Орион» и программа администрирования бота
Telegram-бот ИСО «Орион» — просмотр состояния зон и уведомления о событиях в мессенджере, программа администрирования бота
Программа администрирования подключает базу «Орион» (MS SQL или PostgreSQL) и выдаёт клиентам доступ к зонам; бот в 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; старые сообщения удаляют вручную или очисткой истории чата.
- Кнопки «Вперёд» и «Назад» без стрелки не действуют, даже если кнопка отображается.