commit f9fcbe3f4cd1191024fc40f83566adb37d738fbd Author: Alexey <2ndbeam@disroot.org> Date: Thu Dec 18 14:30:27 2025 +0000 Добавить Discord Commands (RU) diff --git a/Discord-Commands-%28RU%29.md b/Discord-Commands-%28RU%29.md new file mode 100644 index 0000000..edd9887 --- /dev/null +++ b/Discord-Commands-%28RU%29.md @@ -0,0 +1,107 @@ +## Основные команды +### Информация (общая) +`/info` +`/инфо` +Отправляет сообщение, содержащее строку `info` +### Ответить на квест (общая) +`/answer quest_id: integer text: text? file1: file2: file3: ` +`/ответить ид_квеста: целое_число текст: текст? файл1: <вложение?> файл2: <вложение?> файл3: <вложение?>` +Отправить ответ на выбранный квест на проверку. +Ответ отправляется в канал для ответов по следующему шаблону: +`answer.from` + +`answer.quest` + +`answer.expected` + +`answer.text` (если есть текст ответа) + +`answer.attachment_notice` (если присутствуют вложения) + +При нажатии кнопки "Accept" ответ заменяется строкой `answer.accepted_by` и пользователю в ЛС отправляется строка `answer.accepted` или `answer.error` (в случае возникновения ошибок) +При нажатии кнопки "Reject" ответ заменяется строкой `answer.rejected_by` и пользователю в ЛС отправляется строка `answer.rejected` + +*примечание: тип? в примере использования означает необязательный параметр* +### Инициализация (админ) +`/init quests_channel: #channel answers_channel: #channel` +`/инит канал_квестов: #канал канал_ответов: #канал` +Устанавливает каналы для квестов и ответов на них, а также текущую гильдию +Отвечает на команду строкой `init_reply` +### Запуск таймера (админ) +`/timer time: 9:00:00` +`/таймер время: 9:00:00` +Запускает таймер автопубликации квестов на заданное время. +Время указывается по часовому поясу UTC (МСК -3) в формате ЧЧ:ММ:СС. +Выдаёт ошибку, если таймер уже запущен +Отвечает на команду строкой `timer_reply` + +*примечание: 9:00:00 по UTC это 12:00:00 по МСК* +## Социальные команды (/social, /сообщение) +### Отправка сообщения (админ) +**В канал** +`/social msg channel: #channel content: text? file: ` +`/сообщение отправить канал: #канал содержание: текст? файл: <вложение?>` +Отвечает на команду строкой `social.sent_channel` +**В ЛС** +`/social msg user: @user content: text? file: ` +`/сообщение отправить пользователь: @пользователь содержание: текст? файл: <вложение?>` +Отвечает на команду строкой `social.sent_dm` + +Отправляет сообщение в канал/пользователю с указанным текстом и/или вложениями + +*примечание: тип? в примере использования означает необязательный параметр* +### Редактирование сообщения (админ) +**В канале** +`/social edit message: message_id channel: #channel content: text? file: ` +`/сообщение редактировать сообщение: ид_сообщения канал: #канал содержание: текст? файл: <вложение?>` +**В ЛС** +`/social edit message: message_id user: @user content: text? file: ` +`/сообщение редактировать сообщение: ид_сообщения пользователь: @пользователь содержание: текст? файл: <вложение?>` +Редактирует указанное сообщение, заменяя все указанные параметры +Отвечает на команду строкой `social.edited` + +*примечание: тип? в примере использования означает необязательный параметр* +### Удаление сообщения (админ) +**В канале** +`/social undo message: message_id channel: #channel` +`/сообщение удалить сообщение: ид_сообщения канал: #канал` +**В ЛС** +`/social undo message: message_id user: @user` +`/сообщение удалить сообщение: ид_сообщения пользователь: @пользователь` +Удаляет указанное сообщение +Отвечает на команду строкой `social.deleted` +## Управление квестами (/quest, /квест) +### Список квестов (админ) +`/quest list` +`/квест список` +Выводит список квестов по шаблону: +Заголовок: строка `quest.list` +Каждый квест: строка `quest.list_item` +### Создание квеста (админ) +`/quest create difficulty: difficulty reward: integer name: text description: text answer: text available: date?` +`/квест создать сложность: Сложность награда: целое_число название: текст описание: текст доступен: дата?` +Создаёт новый квест и назначает ему идентификатор. +Сложность: строка из выпадающего списка (Easy, Normal, Hard, Secret) +Может быть выставлен на автопубликацию, если указан параметр `доступен` +Отвечает на команду строкой `quest.create` + +*примечание: дата указывается в формате ГГГГ-ММ-ДД, напр. 2025-12-24* +*примечание: тип? в примере использования означает необязательный параметр* +### Редактирование квеста (админ) +`/quest update id: integer difficulty: difficulty? reward: integer? name: text? description: text? answer: text? available: date? reset: flag` +`/квест обновить идентификатор: целое_число сложность: сложность? награда: целое_число? название: текст? описание: текст? ответ: текст? доступен: дата? сброс: флаг` +Обновляет все указанные в команде значения квеста +Сложность: строка из выпадающего списка (Easy, Normal, Hard, Secret) +Также обновляет сообщение квеста, если тот опубликован +Если квест опубликован, но его сообщение не найдено, отвечает строкой `quest.message_not_found` +Если установлен флаг сброса, отменяет автопубликацию квеста +Отвечает на команду строкой `quest.update` + +*примечание: дата указывается в формате ГГГГ-ММ-ДД, напр. 2025-12-24* +*примечание: тип? в примере использования означает необязательный параметр* +### Публикация квеста (админ) +`/quest publish id: integer` +`/квест опубликовать идентификатор: целое_число` +Отмечает квест как публичный и отправляет сообщение квеста в канал для квестов +Отвечает на команду строкой `quest.publish` +### Удаление квеста (админ) +`/quest delete id: integer` +`/квест удалить идентификатор: целое_число` +Удаляет указанный квест, а также его сообщение, если тот был опубликован +Отвечает на команду строкой `quest.delete`