Skip to content

weirdvic/zruty-bot

Repository files navigation

Zruty bot

Telegram бот-дворецкий на Go + SQLite

Список команд бота

Бот отправляет отчёт только на команды от админов, админами считаются пользователи, чьи Telegram ID записаны в таблицу admins.

  • /start — Просто запуск бота
  • /report — Отправить отчёт по пользователям, отслеживаемым в данный момент
  • /underAttackSwitch — Переключить режим "Под атакой", доступно только админам бота.

Сборка бота

При помощи Taskfile, либо вручную:

go build -v -o zruty-bot
./zruty-bot

Описание переменных окружения

BOT_TOKEN

Тип значения: строка.

Переменная читается при запуске бота.

Если она задана, то в БД добавляется или обновляется существующая настройка botToken.

BOT_ADMIN_ID

Тип значения: целое число в формате Telegram chat_id.

Переменная читается при запуске бота.

Если она задана, то проверяется существование такого пользователя в БД или добавляется пользователь и назначается администратором.

UNDER_ATTACK

Тип значения: логическое, валидные значения 0, false, FALSE или 1, true, TRUE.

Переменная читается при запуске бота.

Значение настройки underAttack в БД обновляется в соответствии со значением этой переменной.

LOG_UPDATES

Тип значения: логическое, за истину считается true в любом регистре, остальные значения ложные.

Переменная читается при старте программы.

В зависимости от значения переменной происходит логирование апдейтов от сервера при помощи функции updateHandler.

Описание настроек в таблице settings

botToken

API токен бота, используется на старте.

banAfter

Тип значения: целое число, количество часов.

Используется для проверки времени неактивности пользователя.

greetAdminMessage

Тип значения: строковый литерал.

Используется для ответа на команду /start от админов бота.

notAdminMessage

Тип значения: строковый литерал.

Используется для ответа на команду /start от пользователей, не являющихся админами бота.

kickMessage

Тип значения: строковый литерал.

Сообщение, отправляемое админам при бане пользователя в чате.

welcomeMessage

Тип значения: строковый литерал.

Приветственное сообщение, отправляемое новым пользователям.

underAttack

Тип значения: логическое, в виде строки true или false

Используется для управления режимом "Под атакой".

muteDuration

Тип значения: целое число секунд.

Время, на которое мутить новых пользователей если включён режим underAttack. По-умолчанию равно 604800 или 1 неделе.

challengeTime

Тип значения: целое число секунд. Время, за которое пользователь должен нажать кнопку на приветственном сообщении. По-умолчанию равно 30 секундам.

About

Telegram бот для встречи и приветствия новых пользователей в русскоязычной Telegram группе про NetHack

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages