Модуль tgBot

    О модуле

    Модуль tgBot является надстройкой над модулем MailMan. Накопление сообщений и распределение их по адресам выполняет модуль MailMan, а tgBot позволяет привязать к e-mail пользователя телеграм бота. И тогда уведомления будут направлятся в бота телеграм, согласно адресатов.

    Возможности

    • Отправка сообщений в телеграм

    Использование

    Важно! Используется Python библиотека telebot, поэтому требуется python не ниже 3.8.

    Предполагается, что ты уже умеешь создавать ботов. Вкратце, надо найти BotFather и в нём произвести создание бота по схеме "далее далее готово". На выходе у тебя будет telegram токен.

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

    TELEGRAM_TOKEN=123456789:abcdefghi

    Далее надо сконфигурировать скрипт бота (hle2_bot.py).
    #config bot
    TELEGRAM_TOKEN = os.getenv("TELEGRAM_TOKEN")

    apikey = "dme-q1we-lele"
    http_server_aw="http://localhost/hle2" #server aw
    #config bot end
    п/п Параметр Описание
    1 http_server_aw путь до сервера с AlertsOnWings.
    2 apikey

    это ключ доступа к данным. Значение по умолчанию надо изменить. Сделано это в целях надежды, что злоумышленники не проникли. Конечно, защита эта от честного человека, но хотя бы так.

    Важно! Ключ должен совпадать с ключом в файле api/apikey.php

    По умолчанию, регистрация закрыта. Найди в скрипте строчку:
    #uncomment this line to enable register
    #Thread(target=bot.infinity_polling, args=()).start()
    Если раскомментировать её, то регистрация пользователей будет доступна. Однако, если скрипт уже был запущен, надо его будет перезапустить.
    Ещё один важный момент, если уже было много сообщений и ты не хочешь, чтобы они начали падать пользователям, то поставь в файле api/count_msg какое-нибудь большое число - например 100000. Дальше скрипт уже сам выровняет по границе и начнёт слать с текущего момента.
    Чтобы запустить скрипт автономно - можно создать юнит в systemd.
    Хотя каждый сам решает как  сделать лучше.

    Идеи, баги, вопросы?

    Сообщи нам t.me/screensquid