Добавить Strings and tags (RU)
parent
31f48950bd
commit
ee8cbf2e71
1 changed files with 399 additions and 0 deletions
399
Strings-and-tags-%28RU%29.md
Normal file
399
Strings-and-tags-%28RU%29.md
Normal file
|
|
@ -0,0 +1,399 @@
|
|||
# Обзор
|
||||
Практически все строки, которые использует бот, хранятся в файле с форматом [TOML](https://toml.io) (обычно `strings.toml`).
|
||||
Эти строки, в зависимости от контекста, могут содержать различные теги.
|
||||
Теги используются для подстановки данных в строку во время работы программы.
|
||||
Как правило, строки используются для ответа на команду.
|
||||
|
||||
## Контекст и теги
|
||||
В зависимости от выполняемой команды, форматировщик строк может обладать различным контекстом.
|
||||
Передаваемый контекст предоставляет различные теги для использования в строках.
|
||||
|
||||
### Глобальный контекст
|
||||
Глобальный контекст может использоваться во всех строках и предоставляет следующие теги:
|
||||
- `{n}`: Переход на новую строку (`\n`)
|
||||
- `{v}`: Версия программы (напр. `0.10.0`)
|
||||
- `{url}`: Строка `url` из файла строк (предполагается, что это ссылка на веб карту)
|
||||
- `{pt}`: Строка `points` из файла строк. Название "валюты" для очков, автоматически подставляется в контексте награды или баланса
|
||||
|
||||
### Контекст квеста
|
||||
Предоставляет теги для доступа к полям квеста:
|
||||
- `{q.id}`: Идентификатор квеста (напр. `#0`)
|
||||
- `{q.difficulty}`: Сложность квеста, значение подставляется из таблицы `difficulty` в файле строк в зависимости от самой сложности
|
||||
- `{q.reward}`: Награда за квест (напр. `50 {pt}`)
|
||||
- `{q.name}`: Название квеста
|
||||
- `{q.description}`: Описание квеста
|
||||
- `{q.answer}`: Ожидаемый ответ на квест, следует использовать только в командах администратора
|
||||
|
||||
### Контекст пользователя
|
||||
Предоставляет теги для обращения к пользователю:
|
||||
- `{u.mention}`: Пинг пользователя (напр. `@Second Beam`)
|
||||
- `{u.name}`: Глобальное имя пользователя (напр. `Second Beam`)
|
||||
|
||||
*примечание:* `{u.name}` *не учитывает имя пользователя в гильдии*
|
||||
|
||||
### Контекст текущего баланса
|
||||
Предоставляет тег текущего баланса пользователя, то есть без учёта разблокированных комнат:
|
||||
- `{b.current}`: Текущий баланс пользователя (напр. `50 {pt}`)
|
||||
|
||||
### Контекст полного баланса
|
||||
Предоставляет теги баланса пользователя с учётом разблокированных комнат:
|
||||
- `{b.current}`: Текущий баланс пользователя (напр. `50 {pt}`)
|
||||
- `{b.rooms}`: Суммарная стоимость разблокированных пользователем комнат (напр. `50 {pt}`)
|
||||
- `{b.full}`: Сумма текущего баланса пользователя и стоимости комнат (напр. `100 {pt}`)
|
||||
|
||||
### Контекст сообщения
|
||||
Предоставляет теги для получения доступа к сообщению:
|
||||
- `{m.link}`: Ссылка на сообщение
|
||||
- `{m.id}`: Идентификатор сообщения, используемый в социальных командах
|
||||
- `{m.channel}`: Канал, в который было отправлено сообщение
|
||||
|
||||
### Частный контекст
|
||||
Иногда команды предоставляют теги `{value}` и/или `{text}`, которые могут содержать любое значение. Для работы с ними необходимо прочитать документацию строки, в которой используется тег.
|
||||
|
||||
## Строки
|
||||
Значения по умолчанию можно найти [здесь](https://2ndbeam.ru/git/2ndbeam/squad-quest/wiki/strings.toml-%28EN%2C-default%29).
|
||||
Также есть [пример](https://2ndbeam.ru/git/2ndbeam/squad-quest/wiki/strings.toml-%28RU%29) со строками, переведёнными на русский язык.
|
||||
|
||||
#### `url`:
|
||||
Строка, передаваемая в тег `{url}`
|
||||
Контекст: глобальный
|
||||
Пример: `https://2ndbeam.ru/sq/map`
|
||||
|
||||
#### `points`:
|
||||
Строка, передаваемая в тег `{pt}`
|
||||
Контекст: глобальный
|
||||
Пример: `points`
|
||||
|
||||
#### `info`:
|
||||
Ответ на команду `/info` (`/инфо`)
|
||||
Контекст: глобальный
|
||||
Пример: `SquadQuest version {v}{n}Find the map here: {url}`
|
||||
|
||||
#### `init_reply`:
|
||||
Ответ на команду `/init` (`/инит`)
|
||||
Контекст: глобальный
|
||||
Пример: `Updated linked channels and guild.`
|
||||
|
||||
#### `timer_reply`:
|
||||
Ответ на команду `/timer` (`/таймер`)
|
||||
Контекст:
|
||||
- глобальный
|
||||
- `{value}`: Время, на которое выставлен таймер (напр. `9:00:00`)
|
||||
|
||||
Пример: `Set daily timer on {value}.`
|
||||
___
|
||||
*примечание: строки ниже находятся во вложенных таблицах и обращение к ним в документации осуществляется как `таблица.строка`, напр. `account.reset`.*
|
||||
### `[account]`
|
||||
|
||||
#### `reset`:
|
||||
Ответ на команду `/reset` (`/сброс`)
|
||||
Контекст:
|
||||
- глобальный
|
||||
- пользователь, чей аккаунт был сброшен
|
||||
|
||||
Пример: `Reset {u.name} account`
|
||||
|
||||
#### `give_pt`:
|
||||
Ответ на команду `/balance give` (`/баланс передать`)
|
||||
Контекст:
|
||||
- глобальный
|
||||
- пользователь, которому были переданы очки
|
||||
- текущий баланс текущего пользователя
|
||||
- `{value}`: количество переданных очков
|
||||
|
||||
Пример: `Given {value} {pt} to {u.name}{n}Your current balance: {b.current}`
|
||||
|
||||
#### `set_pt`:
|
||||
Ответ на команду /balance set (`/баланс установить`)
|
||||
Контекст:
|
||||
- глобальный
|
||||
- пользователь, чей баланс был изменён
|
||||
- текущий баланс пользователя
|
||||
|
||||
Пример: `Set {u.name} balance to {b.current}`
|
||||
|
||||
### `[answer]`
|
||||
|
||||
#### `from`:
|
||||
Шаблон ответа: кто прислал ответ (см. [команда `/answer`](https://2ndbeam.ru/git/2ndbeam/squad-quest/wiki/Discord-Commands-%28RU%29#%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B8%D1%82%D1%8C-%D0%BD%D0%B0-%D0%BA%D0%B2%D0%B5%D1%81%D1%82))
|
||||
Контекст:
|
||||
- глобальный
|
||||
- пользователь, отправивший ответ
|
||||
- квест, на который отправлен ответ
|
||||
|
||||
Пример: `## From: {u.mention}{n}`
|
||||
|
||||
#### `quest`:
|
||||
Шаблон ответа: информация о квесте (см. [команда `/answer`](https://2ndbeam.ru/git/2ndbeam/squad-quest/wiki/Discord-Commands-%28RU%29#%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B8%D1%82%D1%8C-%D0%BD%D0%B0-%D0%BA%D0%B2%D0%B5%D1%81%D1%82))
|
||||
Контекст:
|
||||
- глобальный
|
||||
- пользователь, отправивший ответ
|
||||
- квест, на который отправлен ответ
|
||||
|
||||
Пример: `### Quest {q.id}: {q.name}{n}`
|
||||
#### `expected`:
|
||||
Шаблон ответа: ожидаемый ответ (см. [команда `/answer`](https://2ndbeam.ru/git/2ndbeam/squad-quest/wiki/Discord-Commands-%28RU%29#%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B8%D1%82%D1%8C-%D0%BD%D0%B0-%D0%BA%D0%B2%D0%B5%D1%81%D1%82))
|
||||
Контекст:
|
||||
- глобальный
|
||||
- пользователь, отправивший ответ
|
||||
- квест, на который отправлен ответ
|
||||
|
||||
Пример: `### Expected answer:{n}||{q.answer}||`
|
||||
#### `text`:
|
||||
Шаблон ответа: текст ответа (см. [команда `/answer`](https://2ndbeam.ru/git/2ndbeam/squad-quest/wiki/Discord-Commands-%28RU%29#%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B8%D1%82%D1%8C-%D0%BD%D0%B0-%D0%BA%D0%B2%D0%B5%D1%81%D1%82))
|
||||
Контекст:
|
||||
- глобальный
|
||||
- пользователь, отправивший ответ
|
||||
- квест, на который отправлен ответ
|
||||
- `{text}`: текст ответа
|
||||
|
||||
Пример: `{n}### Passed answer:{n}{text}`
|
||||
#### `attachment_notice`:
|
||||
Шаблон ответа: примечание о том, что ответ содержит вложение (см. [команда `/answer`](https://2ndbeam.ru/git/2ndbeam/squad-quest/wiki/Discord-Commands-%28RU%29#%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B8%D1%82%D1%8C-%D0%BD%D0%B0-%D0%BA%D0%B2%D0%B5%D1%81%D1%82))
|
||||
Контекст:
|
||||
- глобальный
|
||||
- пользователь, отправивший ответ
|
||||
- квест, на который отправлен ответ
|
||||
|
||||
Пример: `{n}Passed answer has attachments.`
|
||||
|
||||
#### `accepted_by`:
|
||||
Форматирует текст ответа с указанием администратора, подтвердившего ответ
|
||||
Контекст:
|
||||
- глобальный
|
||||
- пользователь, подтвердивший ответ
|
||||
- `{text}`: предыдущий текст сообщения с ответом
|
||||
|
||||
Пример: `{text}{n}Accepted by: {u.mention}`
|
||||
|
||||
#### `rejected_by`:
|
||||
Форматирует текст ответа с указанием администратора, отклонившего ответ
|
||||
Контекст:
|
||||
- глобальный
|
||||
- пользователь, отклонивший ответ
|
||||
- `{text}`: предыдущий текст сообщения с ответом
|
||||
|
||||
Пример: `~~{text}~~{n}Rejected by: {u.mention}`
|
||||
|
||||
### `[answer.reply]`
|
||||
|
||||
#### `initial`:
|
||||
Ответ на команду `/answer` (`/ответить`)
|
||||
Контекст:
|
||||
- глобальный
|
||||
- пользователь, отправивший ответ
|
||||
- квест, на который отправлен ответ
|
||||
|
||||
Пример: `Your answer has been posted.`
|
||||
|
||||
#### `accepted`:
|
||||
Сообщение, приходящее пользователю в ЛС, если его ответ на квест был принят
|
||||
Контекст:
|
||||
- глобальный
|
||||
- выполненный квест
|
||||
- пользователь, подтвердивший ответ
|
||||
- текущий баланс пользователя
|
||||
|
||||
Пример: `Your answer to the quest {q.id} has been approved.{n}You gained: {q.reward}{n}Your current balance is {b.current}`
|
||||
|
||||
#### `rejected`:
|
||||
Сообщение, приходящее пользователю в ЛС, если его ответ на квест был отклонён
|
||||
Контекст:
|
||||
- глобальный
|
||||
- пользователь, отклонивший ответ
|
||||
- квест, на который был отправлен ответ
|
||||
- текущий баланс пользователя
|
||||
|
||||
Пример: `Your answer to the quest {q.id} has been rejected.`
|
||||
|
||||
#### `error`:
|
||||
Сообщение, приходящее пользователю в ЛС, если его ответ приняли, но возникла ошибка.
|
||||
Контекст:
|
||||
- глобальный
|
||||
- пользователь, подтвердивший ответ
|
||||
- квест, на который был отправлен ответ
|
||||
- текущий баланс пользователя
|
||||
|
||||
Пример: `Your answer to the quest {q.id} has been approved, but some server error happened. Please contact administrator for details.`
|
||||
|
||||
### `[difficulty]`
|
||||
|
||||
#### `easy`:
|
||||
Текст лёгкой сложности
|
||||
Контекст:
|
||||
- глобальный
|
||||
|
||||
Пример: `Easy`
|
||||
|
||||
#### `normal`:
|
||||
Текст средней сложности
|
||||
Контекст:
|
||||
- глобальный
|
||||
|
||||
Пример: `Normal`
|
||||
|
||||
#### `hard`:
|
||||
Текст тяжёлой сложности
|
||||
Контекст:
|
||||
- глобальный
|
||||
|
||||
Пример: `Hard`
|
||||
|
||||
#### `secret`:
|
||||
Текст секретной сложности
|
||||
Контекст:
|
||||
- глобальный
|
||||
|
||||
Пример: `Secret`
|
||||
|
||||
### `[map]`
|
||||
|
||||
#### `room_unlocked`:
|
||||
Ответ на команду `/unlock` (`/открыть`)
|
||||
Контекст:
|
||||
- глобальный
|
||||
- пользователь, открывший комнату
|
||||
- полный баланс пользователя
|
||||
- `{value}`: идентификатор открытой комнаты
|
||||
|
||||
Пример: `Unlocked room #{value}. Your balance: {b.current}`
|
||||
|
||||
#### `moved_to_room`:
|
||||
Ответ на команду `/move` (`/пойти`)
|
||||
Контекст:
|
||||
- глобальный
|
||||
- переместившийся пользователь
|
||||
- `{value}`: идентификатор новой комнаты
|
||||
|
||||
Пример: `Moved to room #{value}`
|
||||
|
||||
### `[scoreboard]`
|
||||
|
||||
#### `header`:
|
||||
Заголовок таблицы лидеров
|
||||
Контекст:
|
||||
- глобальный
|
||||
|
||||
Пример: `Current scoreboard:`
|
||||
|
||||
#### `line_format`:
|
||||
Строка таблицы лидеров
|
||||
Контекст:
|
||||
- глобальный
|
||||
- пользователь
|
||||
- полный баланс пользователя
|
||||
|
||||
Пример: `{n}{u.name}: **{b.full}** (**{b.current}** on balance+ **{b.rooms}** unlocked rooms networth)`
|
||||
|
||||
#### `you_format`:
|
||||
Форматирование строки в таблице лидеров, если это строка пользователя, вызвавшего команду
|
||||
Контекст:
|
||||
- глобальный
|
||||
- пользователь
|
||||
- полный баланс пользователя
|
||||
- `{text}`: текст строки `line_format`
|
||||
|
||||
Пример: `__{text}__ << You`
|
||||
|
||||
### `[social]`
|
||||
|
||||
#### `sent_channel`:
|
||||
Ответ на команду `/social msg channel` (`/сообщение отправить канал`)
|
||||
Контекст:
|
||||
- глобальный
|
||||
- отправленное сообщение
|
||||
|
||||
Пример: `Sent {m.link} ({m.id}) to {m.channel}`
|
||||
|
||||
#### `sent_dm`:
|
||||
Ответ на команду `/social msg user` (`/сообщение отправить пользователь`)
|
||||
Контекст:
|
||||
- глобальный
|
||||
- отправленное сообщение
|
||||
- пользователь, кому было отправлено сообщение
|
||||
|
||||
Пример: `Sent {m.link} ({m.id}) to {u.mention}`
|
||||
|
||||
#### `edited`:
|
||||
Ответ на команду `/social edit` (`/сообщение редактировать`)
|
||||
Контекст:
|
||||
- глобальный
|
||||
- изменённое сообщение
|
||||
|
||||
Пример: `Edited message {m.id}`
|
||||
|
||||
#### `deleted`:
|
||||
Ответ на команду `/social undo` (`/сообщение удалить`)
|
||||
Контекст:
|
||||
- глобальный
|
||||
- удалённое сообщение
|
||||
|
||||
Пример: `Deleted message {m.id}`
|
||||
|
||||
### `[quest]`
|
||||
|
||||
#### `list`:
|
||||
Заголовок ответа на `/quest list` (`/квест список`)
|
||||
Контекст:
|
||||
- глобальный
|
||||
- `{value}`: количество квестов
|
||||
|
||||
Пример: `Listing {value} quests:`
|
||||
|
||||
#### `list_item`:
|
||||
Строка квеста в ответе на `/quest list` (`/квест список`)
|
||||
Контекст:
|
||||
- глобальный
|
||||
- квест
|
||||
|
||||
Пример: `{n}{q.id}: {q.name}{n} Description: {q.description}`
|
||||
|
||||
#### `create`:
|
||||
Ответ на команду `/quest create` (`/квест создать`)
|
||||
Контекст:
|
||||
- глобальный
|
||||
- созданный квест
|
||||
|
||||
Пример: `Created quest {q.id}`
|
||||
|
||||
#### `update`:
|
||||
Ответ на команду `/quest update` (`/квест обновить`)
|
||||
Контекст:
|
||||
- глобальный
|
||||
- обновлённый квест
|
||||
|
||||
Пример: `Updated quest {q.id}`
|
||||
|
||||
#### `publish`:
|
||||
Ответ на команду `/quest publish` (`/квест опубликовать`)
|
||||
Контекст:
|
||||
- глобальный
|
||||
- опубликованный квест
|
||||
|
||||
Пример: `Published quest {q.id}: {text}`
|
||||
|
||||
#### `delete`:
|
||||
Ответ на команду `/quest delete` (`/квест удалить`)
|
||||
Контекст:
|
||||
- глобальный
|
||||
- `{q.id}`: идентификатор удалённого квеста
|
||||
|
||||
Пример: `Deleted quest {q.id}`
|
||||
|
||||
*примечание: помимо* `{q.id}`, *другие теги контекста квеста недоступны в этой команде*
|
||||
|
||||
#### `message_format`:
|
||||
Формат сообщения квеста в канале квестов
|
||||
Контекст:
|
||||
- глобальный
|
||||
- квест
|
||||
|
||||
Пример: ```### `{q.id}` {q.name} (+{q.reward}){n}Difficulty: *{q.difficulty}*{n}{q.description}```
|
||||
|
||||
#### `message_not_found`:
|
||||
Предупреждение в команде `/quest update` (`/квест обновить`), если он был опубликован и его сообщение не было найдено
|
||||
Контекст:
|
||||
- глобальный
|
||||
- опубликованный квест без сообщения
|
||||
|
||||
Пример: `Warning: quest {q.id} message not found`
|
||||
Loading…
Add table
Add a link
Reference in a new issue