Формы
Форма — это набор вопросов, на которые участник отвечает в Discord, а команда потом читает ответы. Ответ хранится типом: у числа есть порядок, у даты — календарь, у выбранного участника — идентификатор Discord.
Когда использовать
- Заявка в состав команды или на роль.
- Отзыв о мероприятии.
- Регистрация на событие с уточняющими вопросами.
- Запрос роли, который надо обосновать.
Перед настройкой
- Модуль Формы включён.
- У бота есть Отправка сообщений и Встроенные ссылки.
- Решено, кто будет читать ответы: это отдельное право.
Типы полей
| Тип | Что спрашивает |
|---|---|
| Короткий текст | Одна строка |
| Длинный текст | Абзац |
| Число | Число с проверкой при вводе |
| Да / нет | Переключатель |
| Один вариант | Выбор одного из списка |
| Несколько вариантов | Выбор нескольких |
| Участник | Кого-то с сервера |
| Роль | Роль сервера |
| Канал | Канал сервера |
| Дата | Дату с проверкой календаря |
Полей в форме — до 20, форм на сервер — до 25.
Шаги формы
Discord показывает не больше пяти текстовых полей в одном окне. Kizora сама разбивает форму на шаги: сначала окно с текстовыми вопросами, затем выбор участников, ролей, каналов и вариантов отдельными экранами.
Незаконченный черновик живёт один час, потом удаляется.
Обязательные и необязательные поля
У каждого поля есть признак обязательности. Обязательное поле нельзя пропустить; необязательное сохраняется пустым, а не строкой «нет».
Отправка и повторы
По умолчанию один участник отправляет форму один раз. Лимит настраивается, как и пауза между отправками. Форма может показывать своё сообщение после отправки — «Спасибо, мы ответим в течение суток».
Где смотреть ответы
Ответы видны в панели, на странице формы. Срок хранения задаётся при настройке: по умолчанию 90 дней, максимум — 10 лет.
Кто видит ответы
Право forms.read — отдельное от forms.manage и помечено как доступ к личным данным. Человек, который делает формы, не обязан читать чужие ответы, и наоборот.
Предупреждение
Ответы на формы — это то, что участники написали не в публичный канал. Выдавайте forms.read тем, кому эти данные действительно нужны для работы.
Пример: заявка в команду
1. Как к вам обращаться? короткий текст, обязательно
2. Сколько вам лет? число, обязательно
3. Часовой пояс один вариант, обязательно
4. Опыт модерации длинный текст, необязательно
5. Готовы дежурить по выходным? да / нет, обязательноПосле отправки: «Заявка принята. Мы отвечаем в течение трёх дней.»
Формы внутри других модулей
Второго механизма «спросить три вопроса» в Kizora нет — вместо него везде используются формы:
- Обращения — вопросы перед созданием обращения;
- Проверка на входе — анкета для новичка.
Права
- Kizora:
forms.manage— создавать и менять формы;forms.read— видеть ответы. - Discord у бота: Отправка сообщений, Встроенные ссылки.
Что происходит при ошибке
- Канал публикации удалён — форму можно опубликовать заново.
- Роль или канал из ответа удалены — ответ сохраняется как идентификатор; в интерфейсе он показывается как недоступный объект, а не исчезает.
- Модуль выключен — форма не принимает новые ответы, старые остаются.
Частые проблемы
- Участник говорит, что форма не открывается. Проверьте, включён ли модуль и не исчерпан ли лимит отправок.
- Ответы не видны. У вас
forms.manage, но нетforms.read. - Форма просит слишком много шагов. Уменьшите число полей: каждые пять текстовых вопросов — отдельное окно.