Задать параметры в файле конфигурации модуля lbcore-telegram-bot

Предварительно выполните следующие шаги.

  1. Установите модуль lbcore-telegram-bot,
  2. Зарегистрируйте бота в Telegram-менеджере ботов @BotFather и получите в нём токен доступа к HTTP API.
    Как создать бота и получить токен?

После этого откройте файл конфигурации и задайте настройки, необходимые для взаимодействия Telegram-бота с LANBilling.

Также файле в конфигурации можно:

Открыть файл конфигурации:

nano /etc/lanbilling/lbcore-telegram-bot.conf

Пример конфигурации:

# Настройки доступа к LANBilling LBcore Server
[LBcore]
# адрес доступа к LBcore в формате admin:password@host:port
address = "admin@127.0.0.1:1502"
# Идентификатор оператора, пользователям которого разрешено использовать бот, если 0 все операторы
oper_id = 0
# Ссылка на оплату в личном кабинете
payUrl = ""

# Настройки доступа к Telegram API
[Telegram]
token = ""

# Настройки логирования
[Logging]
# Путь для файла логов, если не указано, используется syslog
path = ""
# Записывать в лог запросы к LBcore
log_requests = false

[Commands]
# Настройки команд, указываются в формате
# command1 = "Текст ответа на команду"
# command2 = "Текст ответа на втору команду"

[Buttons]
# Настройка отключения кнопок
# Для отключения кнопки в секции [Buttons] необходимо добавить подсекцию вида: [Buttons.<имя кнопки>],
#  содержащую опцию disabled со значением true.
# Имена кнопок:
#  balance - "Показать баланс"
#  status - "Статус услуг"
#  pay - "Оплата"
#  promise - "Обещанный платеж"
#  incident - "Сообщить о проблеме"
  • Секция [LBcore] — параметры доступа модуля к ядру LANBillig.

    • address — адрес доступа к LBcore в формате admin:password@host:port. Например, admin:yie9ohNg@127.0.0.1:1502

    • oper_id — идентификатор организации-оператора, которой принадлежит бот.

      По умолчанию в конфигурации задано значение 0 — пользоваться ботом смогут все абоненты, которые есть в вашей установке LANBillig, вне зависимости от принадлежности к организации. Если хотите привязать бота к определённой организации, укажите её ID в этой строке.

    • payUrl — ссылка на страницу пополнения баланса в личном кабинете, которая будет открываться при нажатии кнопки «Оплатить».

  • Секция [Telegram] — параметры доступа к HTTP API.

    • token — скопируйте в эту строку токен, полученный при регистрации бота в менеджере @BotFather.
  • Секция [Logging] — параметры логирования модуля.

    • path — путь к файлу с логами модуля. Если не указан, используется syslog.
    • log_requests — определяет, будут ли записываться в логи запросы модуля к LBcore:
      • true — записывать,
      • false — (по умолчанию) не записывать.
  • Секция [Commands] — команды, которые вы хотите добавить в меню Telegram-бота. По умолчанию эта секция пустая.

  • Секция [Buttons] — позволяет настраивать видимость стандартных кнопок в Telegram-боте. По умолчанию эта секция пустая.

Когда укажете все необходимые параметры, запустите модуль lbcore-telegram-bot.

Обратите внимание: если вы редактируете конфигурацию уже настроенного и запущенного модуля, вам потребуется его перезапустить, чтобы новые настройки вступили в силу.

Добавить в меню бота свои команды и ответы на них

Сначала добавьте в @BotFather хинты для команд с помощью /setcommands.

Пример:

image

В конфигурационном файле в секции [Commands] добавьте команды, которые вы хотите отображать в меню Telegram-бота.

Пример:

[Commands]
dtv = "Позвоните нам по номеру +7 (000) 000-00-00, чтобы оставить заявку!"
  • dtv — название команды, которое вы указали в BotFather,
  • "Позвоните нам по номеру +7 (000) 000-00-00, чтобы оставить заявку!" — ответ, который отобразит бот, когда пользователь нажмет команду.

Скрыть стандартные кнопки Telegram-бота

Секция [Buttons] позволяет настраивать видимость стандартных кнопок в Telegram-боте. Если хотите убрать одну или несколько стандартных кнопок, добавьте подсекцию с названием кнопки и опцией disabled = true.

Пример:

[Buttons]
# Отключить кнопку "Сообщить о проблеме"
[Buttons.incident]
disabled = true

# Отключить кнопку "Оплата"
[Buttons.pay]
disabled = true