Настройка БД
Настройка работы с базой данных и создание таблиц:
mysql -D abills < /usr/abills/Abills/modules/Telegram/Telegram.sql
Создание бота
(если у вас уже есть бот, эту часть можно пропустить)
Эту операцию нужно делать с устройства где установлен Telegram.
- Заходим https://t.me/botfather .
Если есть аккаунт нажимаем кнопку “Send message”.
Если нету, то регистрируемся в Telegram-е, затем снова заходим и нажимаем “Send message”,
или можно сразу зайти в Telegram, в поиске вбить BotFather и перейти к диалогу с ним. - На главном экране бота нажимаем “Start”.
- Покажется список возможных команд для обращения к BotFather.
Нам нужно ввести команду/newbot
. - BotFather спросит имя нашего бота.
Это имя будет отображаться в деталях контакта. Вводим имя бота, например, Testbot. - Следующий шаг нас спрашивают Имя пользователя бота (username).
Этот параметр будет использоваться для запросов к боту.
От 5 до 32 символов, регистр-чувствительная латиница, цифры и нижние подчеркивания.
Имя пользователя бота должно заканчиваться на bot. Вводим имя пользователя (username), напримерTestAbills_bot
. - Вы зарегистрировали вашего бота – внимательно осмотрите финальное сообщение на предмет параметров:
Линк Телеграм-бота
Например:https://t.me/TestAbills_bot
а так же очень важный параметр - токен.
Например:167953392:
AAGwtpKCJnVU7U2vHdqX2dxpyYa12DfQ1
- Бот успешно создан!
Настройка
- Для нормальной работы через webhook вам необходимо открыть порт 443,или 80, 88, 8443 для входящих POST запросов.
Важно: Телеграм не работает с портом 9443. Обязательно включить шифрование. Необходимо создать конфигурацию доступа веб-сервера Apache для работы Telegram-бота.
Заходим в директории, где находится конфиг Apache.- В
telegram_httpd.conf
меняем порт з 9443 на 8443. Создайте директорию со сложным названием:
Создание каталога для Telegram-ботаmkdir /usr/abills/cgi-bin/TelegramAAGwtpKCJnVU7U2vHdqX2dxpyYa12DfQ1/
Название директории желательно сделать сложным и уникальным, для этого можно использовать токен (или его часть).Скопируйте в эту директорию файл
telegram_admin_bot.cgi
Привязка телеграм-ботаln -s /usr/abills/Abills/modules/Telegram/telegram_admin_bot.cgi /usr/abills/cgi-bin/TelegramAAGwtpKCJnVU7U2vHdqX2dxpyYa12DfQ1/
- Необходимо прописать в
config.pl
обязательные параметры (ниже в таблице).
В config.pl нужно добавить:
Параметр | Описание |
---|---|
$conf{TELEGRAM_ADMIN_TOKEN}=' '; | Обязательный параметр. Пример: |
$conf{TELEGRAM_ADMIN_BOT_NAME}=' '; | Обязательный параметр. Пример: |
| Локализация бота. По умолчанию, доступны три значения: |
Проверьте появился ли доступ к файлу (https://YOUR.URL:YOURPORT/Telegram
AAGwtpKCJnVU7U2vHdqX2dxpyYa12DfQ1
/
telegram_admin_bot.cgi
).
Если доступ есть – можно установить вебхук, соединение с Bot API Telegram.
Если используется действующий SSL-сертификат:
curl -F "url=https://YOUR.URL:YOURPORT/TelegramAAGwtpKCJnVU7U2vHdqX2dxpyYa12DfQ1/telegram_admin_bot.cgi" https://api.telegram.org/bot<YOURTOKEN>/setWebhook
Если используется самоподписанный SSL-сертификат:
curl -F "url=https://YOUR.URL:YOURPORT/TelegramAAGwtpKCJnVU7U2vHdqX2dxpyYa12DfQ1/telegram_admin_bot.cgi" -F "certificate=@/usr/abills/Certs/server.crt" https://api.telegram.org/bot<YOURTOKEN>/setWebhook
Примечание:
- в поле CN (Common Name) сертификата должен быть ваш домен или IP, иначе Telegram его не примет.
- при любом изменении/обновлении самоподписанного сертификата, его необходимо обновить с помощью команды выше (сертификат указываем явно).
Успешное выполнение команды установки вебхука выглядит примерно так:
{"ok":true,"result":true,"description":"Webhook was set"}
После настройки Телеграм бота нужно перезапустить бота "Остановить и блокировать/Остановить бота", а затем нажать кнопку "Перезапустить бота".
Интерфейс бота
Бот загружает файлы из папки /usr/abills/Abills/modules/Telegram/buttons-enabled/
Каждый файл - это отдельная кнопка, которая добавляется в меню.
Для подключения новых функций, необходимо скопировать нужные вам кнопки (или создать ссылку) из папки /usr/abills/Abills/modules/Telegram/buttons-avaiable/
mkdir /usr/abills/Abills/modules/Telegram/buttons-enabled/ ln -s /usr/abills/Abills/modules/Telegram/buttons-avaiable/Send_message.pm /usr/abills/Abills/modules/Telegram/buttons-enabled/
На сегодняшний день доступны следующие функции.
Название файла | Кнопка | Описание |
---|---|---|
Admin_equipment.pm | Оборудование | |
Admin_msgs.pm | Сообщения | Информации о сообщениях администратора |
Начало работы с ботом
Для того чтобы начать работать с ботом администратор должен подписаться на него.
Для корректной работы с ботом нужно, чтобы номер телефона абонента в биллинге был уникален.
Подписаться на бота можно только с одного логина.
Для проверки результата после установки бота, используйте эту команду:
curl https://api.telegram.org/bot<TELEGRAM_TOKEN>/getWebhookInfo