Тесты на айкью
Команда -айкьютест для команды чата - выдача теста участнику, срок на прохождение и отчёты в админ-чат.
Иногда участник спорит так уверенно, что проще измерить, чем переубедить. Команда выписывает человеку персональный тест на айкью. Бот создаёт ссылку и отправляет её в чат кнопкой, а дальше всё происходит в личных сообщениях, вопросы, таймер и итоговый балл. В чате бот цифру не объявляет, она уходит отчётом в админ-чат, так что публичной казни не будет.
Как тест выглядит со стороны участника, описано на отдельной странице про тест на айкью.
-айкьютестВыдаёт участнику персональный тест на айкью
-сгенерироватьайкью/iqtest<параметр> — обязательный[параметр] — необязательный
Выписать тест тому, кто равен вам по роли или выше, не получится, начальству айкью мерить не положено. Себе можно, но потом с результатом жить вам.
В ответе бота видно, кому выписан тест и сколько времени даётся, а под сообщением появляется кнопка «Начать». Она ведёт в личные сообщения с ботом, и открыть тест по ней сможет только тот участник, которому его выписали (сдать за друга не выйдет). Если у него уже есть переписка с ботом, телеграм иногда не передаёт ссылку. Тогда достаточно написать боту /start, и бот сам предложит начать свежий тест.
Срок на прохождение
Без срока на тест даётся 30 минут. Число без единицы измерения бот считает минутами, так что -айкьютест @юзер 15 это четверть часа. Можно писать и словами: 10м, 1ч, 2ч 30м, 7д. Меньше минуты поставить нельзя, верхнего предела нет: хоть неделя на 30 вопросов, если вы очень добрый. Полный список форматов лежит в правилах команд. При выборе срока держите в голове, что в тесте 30 вопросов.
Таймер стартует не от вашей команды, а с первого вопроса, когда участник откроет тест. До этого ссылка просто ждёт. Дальше время идёт, даже если диалог с ботом закрыт, вернуться к вопросам можно, пока оно не вышло. Когда истекло, тест закрывается сам и уходит в отчёт как просроченный.
Отчёты в админ-чат
Про каждый тест бот пишет в админ-чат три раза: когда участник его начал, когда закончил и когда просрочил.

В отчёте о завершении видно участника, чат, число верных ответов, итоговый балл и сколько времени ушло на прохождение. Балл считается от 70 при нуле верных ответов до 150 при полном попадании, так что совсем без утешительной цифры не уйдёт никто. Отдельной строкой бот отмечает, сколько раз участник отвечал подозрительно долго: пересылать и копировать вопросы он не даёт, а вот заглянуть в соседнее окно ему не видно, так что эта строка единственная подсказка, решал человек сам или советовался с половиной интернета.
Достижение за тест
Бот умеет автоматически выдавать за пройденный тест достижение чата: не всякую цифру приятно носить, но сам факт участия увековечить можно. Создайте достижение с ключом iq_test_completed и условием ручная: выдавать его руками не придётся, бот отдаст его сам, как только участник дойдёт до последнего вопроса. Нужно, чтобы достижения в чате были включены, а участник состоял в группе, где выписан тест.
Как выключить тесты
Модуль отключается в панели -настройки → «Модули» → «Активности» → «IQ-тесты». После этого команда перестаёт создавать тесты, а уже выданные ссылки и кнопки в личных сообщениях бота больше не отвечают, даже если тест был в процессе. Выключать модуль посреди чьего-то теста немного жестоко, зато действенно.
Обратное включение возвращает всё как было.