Skip to content
This repository was archived by the owner on Oct 1, 2026. It is now read-only.
WorldTradeComPublic archive

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TeleBotSupervisor

TeleBotSupervisor – это система для надзора за работоспособностью ботов Telegram, инициализированных с помощью systemd на дистрибутивах Linux.

Принцип работы заключается в отправке боту команды /start и отслеживания ответа. Таким образом проверяется именно фактическая работа бота. Также поддерживается отправка сообщений об ошибках, логов journald и перезапуск юнита systemd.

Порядок установки и использования

  1. Скачать и распаковать последний релиз либо клонировать репозиторий.
  2. Убедиться в доступности на вашем устройстве Python версии 3.10 или новее.
  3. Открыть каталог со скриптом в консоли: можно воспользоваться командой cd или встроенными возможностями файлового менеджера.
  4. Создать виртуальное окружение Python.
python -m venv .venv
  1. Активировать вирутальное окружение.
source .venv/bin/activate
  1. Установить зависимости.
pip install -r requirements.txt
  1. Создать файлы конфигурации ботов и зарегестрировать для них аккаунты.
  2. Активировать сервис командой python main.py.
  3. Для автоматического запуска рекомендуется провести инициализацию сервиса через systemd.

Конфигурация бота

Для создания пустого файла конфигурации вашего бота выполните python main.py config {BOT_NAME}, где имя бота это его идентификатор в Telegram (например, @testbot).

По пути Configs/{BOT_NAME}.json будет создан файл следующего содержания.

{
	"bot_token": "",
	"systemd_unit": "",
	"period": 60,
	"timeout": 15,
	"on_failure": {
		"report_to": [],
		"attach_logs": false,
		"restart": false
	}
}

Отредактируйте его согласно вашим нуждам, используя пояснения ниже.

Корневая секция

"bot_token": ""

Сюда необходимо занести токен бота Telegram (можно получить у BotFather). От имени этого бота вам будут приходить отчёты об ошибках.


"systemd_unit": ""

Название юнита systemd, отвечающего за работу бота.


"period": 60

Период отправки команды /start в минутах.

Warning

Не рекомендуется задавать менее 10 минут, так как это может привести к кратковременной блокировке аккаунта за флуд боту.


"timeout": 15

Время ожидания реакции бота на команду /start в секундах.

on_failure


"report_to": []

Список ID пользователей, которым нужно отправлять отчёты об остановке бота. ID можно получить Chat ID Bot, написав /start.


"attach_logs": false

Указывает, следует ли прикрепить к сообщению логи юнита из journald.


"restart": false

Указывает, требуется ли перезапускать юнит бота при отсутствии ответа. В случае перезапуска работоспособность бота проверяется ещё раз вне очереди, а результат прикрепляется к отчёту.

Copyright © DUB1401. 2025.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages