Перейти к содержанию

Подключённые Telegram-боты

Реестр ботов, работающих в вашей компании: запись — бот одного из подключаемых типов со своим токеном, списком пользователей и правами на команды. Бот каждого типа на сервере один: включённая запись того же типа в другой компании базы его заменяет, а выключенная запись того же типа при перезапуске сервера может его остановить — держите по одной записи на тип.

Где искать: Модули → Система → Регистры → Подключённые Telegram-боты

Разбор на примере

Подключённые телеграм-боты

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

  • паспорт: имя, описание, токен доступа к Telegram и флажки «Бот отключен» и «Публичный бот»;
  • пользователи — кто именно имеет доступ к боту: логин в ERP и его Telegram-идентификатор, который подтягивается из карточки пользователя автоматически;
  • права — какие команды и кнопки меню доступны конкретному Telegram-аккаунту.

Две матрицы не дублируют друг друга: первая отвечает на вопрос «кто ты», вторая — «что тебе можно».

Кто может писать боту

Бот заявок (wash_up) сейчас отключён в самой программе, пока не переработают его диалоги: запись этого типа не запускается даже с токеном и без флажка «Бот отключен». Сохранить такую запись с токеном и без флажка не выйдет: сохранение отказывает с текстом «Telegram-бот «wash_up» отключён: его диалоги нужно переработать, прежде чем им пользоваться». Отметьте «Бот отключен» или уберите токен — и запись сохранится; сохранению других записей реестра такая запись не мешает. Матрицы пользователей и прав читает wash_up (он отвечал только Telegram-идентификаторам из матрицы пользователей), а матрицу пользователей — ещё и онлайн-бронирование: уведомления о новом бронировании оно шлёт через бот wash_up. Так что сейчас эти матрицы на работу ни одного бота не влияют.

Бот статусов заказов (status_bot) задуман для клиентов и матрицу пользователей не читает: отвечает любому, но привязывает клиента к чату только по своему номеру — тому, что отправлен кнопкой «Відправити свій номер телефону». Чужую карточку контакта или номер, набранный вручную, он не принимает: иначе посторонний получал бы статусы чужих заказов.

Флажок «Публичный бот» на это не влияет: он сохраняется в карточке, но код запуска бота его не читает. Это пометка для человека, а не настройка — бот отвечает одинаково независимо от неё.

Флажок «Бот отключен» работает: бот не получает токен и не поднимается, при этом ни токен, ни права не теряются. Изменение карточки (токен, этот флажок) бот подхватывает сразу: сохранение перезапускает ботов уже с тем, что в нём записано.

Типичные ситуации

Бот не отвечает. Проверьте флажок «Бот отключен», токен (без него Telegram не пустит) и тип бота: wash_up сейчас не запускается вовсе.

Сотрудник пишет боту заявок, а тот молчит. Бот wash_up сейчас отключён в программе — он не отвечает никому, что бы ни стояло в матрице пользователей.

Нужно ограничить команду. Матрица прав — строка на пару «пользователь — команда»: есть у пользователя хоть одна строка — ему доступны только перечисленные команды, нет ни одной — все. Действует она лишь для wash_up, а он сейчас отключён; у status_bot команд меню нет.

Куда смотреть дальше