https://github.com/weirdvic/zruty-bot
Telegram бот для встречи и приветствия новых пользователей в русскоязычной Telegram группе про NetHack
https://github.com/weirdvic/zruty-bot
go golang nethack tbot telegram
Last synced: 5 months ago
JSON representation
Telegram бот для встречи и приветствия новых пользователей в русскоязычной Telegram группе про NetHack
- Host: GitHub
- URL: https://github.com/weirdvic/zruty-bot
- Owner: weirdvic
- Created: 2021-11-26T06:31:13.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-05-26T14:24:48.000Z (about 1 year ago)
- Last Synced: 2025-05-26T14:29:11.104Z (about 1 year ago)
- Topics: go, golang, nethack, tbot, telegram
- Language: Go
- Homepage:
- Size: 58.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Zruty bot
Telegram бот-дворецкий на Go + SQLite
# Список команд бота
Бот отправляет отчёт только на команды от админов, админами считаются пользователи, чьи Telegram ID записаны в таблицу `admins`.
- `/start` — Просто запуск бота
- `/report` — Отправить отчёт по пользователям, отслеживаемым в данный момент
- `/underAttackSwitch` — Переключить режим "Под атакой", доступно только админам бота.
# Сборка бота
При помощи [Taskfile](https://taskfile.dev/), либо вручную:
``` shell
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 секундам.