Условия достижений
Из чего собирается условие достижения чата - слова и медиа, счётчики активности, время, роли и ограничения на число получателей.
Условие это последняя часть при создании достижения. Бот сверяет его с каждым сообщением участника, и как только всё сходится, ачивка выдаётся сама, а участник видит карточку в ответ на своё сообщение.
Условия пишутся словами. Часть проверок работает сама по себе, часть принимает значение через двоеточие: слово:печенька, уровень:10, время:00:00-06:00. Регистр не важен, подчёркивания читаются как пробелы, у большинства условий есть английский вариант.
Сообщение
| Условие | Когда сработает |
|---|---|
слово:печенька | В сообщении встречается этот текст, где угодно внутри |
точно:доброе утро | Сообщение совпадает целиком |
длина:500 | Сообщение не короче указанного числа символов |
фото | Сообщение с картинкой |
стикер | Стикер |
голосовое | Голосовое или аудио |
кружок | Видеосообщение |
ответ:@юзер | Ответ конкретному участнику, можно указать цифровой ид |
упоминание:@юзер | Упоминание участника в тексте |
регекс:^ку+$ | Совпадение по шаблону, если простого слова не хватает |
Активность участника
Здесь сравнение идёт «не меньше указанного»: уровень:10 сработает и на десятом уровне, и на двадцатом.
| Условие | Что проверяет |
|---|---|
сообщений:1000 | Всего сообщений в чате |
сообщений за день:100 | Сообщений за сегодня |
сообщений за неделю:500 | Сообщений за неделю |
сообщений за месяц:2000 | Сообщений за месяц |
уровень:10 | Уровень участника |
xp:5000 | Накопленный опыт |
репутация:50 | Репутация |
стрик:30 | Дней подряд с сообщениями |
дней в чате:365 | Сколько дней участник состоит в чате |
Время, дни и роли
| Условие | Что проверяет |
|---|---|
время:00:00-06:00 | Время сообщения по часовому поясу чата, интервал через полночь тоже работает: 23:00-02:00 |
день:пн | День недели, можно списком пн,ср,пт или диапазоном пт-вс |
месяц:март | Месяц, можно номером 3 и списком июнь,июль,август |
роль:модератор | Есть ли у участника такая роль, по коду или по названию |
Кому и сколько раз
| Условие | Что делает |
|---|---|
первый кто | Достанется только первому, кто выполнит условие |
лимит:10 | Выдаётся, пока получивших меньше указанного числа |
кд:3600 | Пауза между выдачами в секундах |
ручная | Автоматически не выдаётся никогда, только руками через -ач дать |
Выдачи руками тоже считаются: они увеличивают счётчик получивших, а значит влияют и на первый кто, и на лимит.
Несколько условий сразу
Условия соединяются словами и (все должны сойтись) и или (достаточно любого). Вместо слов можно писать & и |.
слово:кофе и время:06:00-09:00фото или стикер или кружокСмешивать и с или в одном условии не стоит: стоит появиться хотя бы одному или, и вся строка читается как «достаточно любого». Для сложной логики проще сделать два достижения с разными условиями.
Незнакомую строку бот считает словом-триггером: условие печенька работает так же, как слово:печенька. Это удобно для самых простых ачивок, но если вы ждали другого поведения, проверьте написание.