Telegram бот-дворецкий на Go + SQLite
Бот отправляет отчёт только на команды от админов, админами считаются пользователи, чьи Telegram ID записаны в таблицу admins.
/start— Просто запуск бота/report— Отправить отчёт по пользователям, отслеживаемым в данный момент/underAttackSwitch— Переключить режим "Под атакой", доступно только админам бота.
При помощи Taskfile, либо вручную:
go build -v -o zruty-bot
./zruty-botТип значения: строка.
Переменная читается при запуске бота.
Если она задана, то в БД добавляется или обновляется существующая настройка botToken.
Тип значения: целое число в формате Telegram chat_id.
Переменная читается при запуске бота.
Если она задана, то проверяется существование такого пользователя в БД или добавляется пользователь и назначается администратором.
Тип значения: логическое, валидные значения 0, false, FALSE или 1, true, TRUE.
Переменная читается при запуске бота.
Значение настройки underAttack в БД обновляется в соответствии со значением этой переменной.
Тип значения: логическое, за истину считается true в любом регистре, остальные значения ложные.
Переменная читается при старте программы.
В зависимости от значения переменной происходит логирование апдейтов от сервера при помощи функции updateHandler.
API токен бота, используется на старте.
Тип значения: целое число, количество часов.
Используется для проверки времени неактивности пользователя.
Тип значения: строковый литерал.
Используется для ответа на команду /start от админов бота.
Тип значения: строковый литерал.
Используется для ответа на команду /start от пользователей, не являющихся админами бота.
Тип значения: строковый литерал.
Сообщение, отправляемое админам при бане пользователя в чате.
Тип значения: строковый литерал.
Приветственное сообщение, отправляемое новым пользователям.
Тип значения: логическое, в виде строки true или false
Используется для управления режимом "Под атакой".
Тип значения: целое число секунд.
Время, на которое мутить новых пользователей если включён режим underAttack. По-умолчанию равно 604800 или 1 неделе.
Тип значения: целое число секунд. Время, за которое пользователь должен нажать кнопку на приветственном сообщении. По-умолчанию равно 30 секундам.