Команды администрации, предупреждения, антифлуд и список банов.
Статья 8
Команды модерации
Доступны администрации чата: /warn, /unwarn, /warns, /mute, /unmute, /kick, /ban, /unban, /del, /purge.
Слэш не обязателен: те же команды понимаются словом — «мут 2 минуты», «бан 2 дня реклама», «кик», «варн спам», «снять варн». Слово должно стоять первым, а цель — быть названной явно: реплаем, именем пользователя или идентификатором. Без цели бот молчит и пропускает сообщение дальше, поэтому обычная речь вроде «забаньте уже этот спам» командой не становится.
Сроки пишутся коротко — 30m, 2h, 3d, 1w — или словами: «2 минуты», «час», «сутки», «неделю». Всё, что сроком не оказалось, считается причиной. Без срока — навсегда.
Решение принимает не бот, а правило: команда администратора или счётчик антифлуда. Бот только объявляет наказание в чате и всегда называет причину.
Целью не могут быть администрация и сам бот. От вызвавшего бот требует именно то право, которое нужно команде: ограничивать участников — для банов, мутов и предупреждений, удалять сообщения — для /del и /purge. Команда /warns без цели показывает собственные предупреждения и доступна всем.
Статья 9
Предупреждения и антифлуд
Предупреждения сгорают через 14 дней. Третье действующее предупреждение влечёт перманентный бан, после наказания счётчик обнуляется. Два замечания за полгода в бан не складываются, три за две недели — складываются.
Антифлуд считает два независимых окна на человека: частоту сообщений и повторы одного и того же подряд. Регистр и лишние пробелы от повтора не спасают. Срабатывание по умолчанию — мут на несколько минут, а не предупреждение: мут молчит ровно столько, сколько человек мешал, тогда как предупреждение довело бы флудера до бана за минуту помех.
Администрация под антифлуд не попадает. Разговорного ответа флудер тоже не получает.
Статья 10
Банлист
«банлист», «бан лист», «баны», /banlist — кто сейчас в бане, по десять записей на страницу, листается кнопками. В записи указаны имя, срок, причина и тот, кто забанил.
Разбанили — запись уходит: список отвечает на вопрос «кто в бане сейчас», а не «кого когда-либо банили».
Список неполон по устройству Telegram, и это не поломка: бот видит только те баны, которые сделал сам или заметил, пока состоит в чате администратором, и не знает истории до своего прихода. Причина есть у банов через бота и у автобанов антифлуда; у бана, сделанного руками через интерфейс Telegram, её негде взять, и в списке так и написано.