Перейти к содержанию

Discord

Типы данных, используемые в шаблонном движке JuniperBot касательно данных Discord.


Guild#

Этот тип данных описывает все доступные данные о сервере.

Свойства#
Свойство Тип Описание
id Число Уникальный идентификатор сервера
name Строка Имя сервера
iconUrl Строка Ссылка на иконку сервера
afkTimeout Число AFK таймаут голосового канала (в минутах)
afkChannel VoiceChannel AFK голосовой канал
memberCount Число Количество участников на сервере
createdAt DateTime Дата и время создания сервера
owner Member Владелец сервера
selfMember Member Данные о самом боте на сервере
boostCount Число Количество бустов на сервере
Методы#
getTextChannel(ID)#

Возвращает текстовый канал сервера по его id.

Возвращаемые типы: TextChannel

Параметр Тип Описание
ID Число, Строка Идентификатор канала

getVoiceChannel(ID)#

Возвращает голосовой канал сервера по его id.

Возвращаемые типы: VoiceChannel

Параметр Тип Описание
ID Число, Строка Идентификатор канала

getMember(ID)#

Возвращает участника сервера по его id.

Возвращаемые типы: Member

Параметр Тип Описание
ID Число, Строка Идентификатор участника

getRole(ID)#

Возвращает роль сервера по его id.

Возвращаемые типы: Role

Параметр Тип Описание
ID Число, Строка Идентификатор роли

Member#

Этот тип данных описывает все доступные данные об участнике сервера и операции над ним.

Свойства#
Свойство Тип Описание
id Число Уникальный идентификатор участника
mention Строка Упоминание участника
nickname Строка Никнейм участника на сервере (если установлен) или его оригинальное имя
tag Строка Полный тэг участника в формате Ник#1234
name Строка Имя участника
bot Логический Признак, является ли указанный участник ботом
discriminator Строка Дискриминатор участника (4 числа после #)
joinedAt DateTime Дата и время присоединения участника на сервер
createdAt DateTime Дата и время регистрации участника
status Строка Статус участника (В сети, Нет на месте, Не беспокоить, Оффлайн) с иконкой-эмоцией.
avatarUrl Строка Ссылка на аватар участника
bio Строка Информация об участнике, указанная в команде !осебе
rank Rank Данные о рейтинге участника на сервере
roles Список<Role> Список ролей участника
guild Guild Данные о сервере
attributes AttributesStorage Атрибуты участника
activities Список<Activity> Активности участника
Методы#
hasRole(Роль)#

Проверяет, есть ли указанная роль у участника.

Возвращаемые типы: Логический

Параметр Тип Описание
Роль Число, Role Идентификатор роли или объект роли

hasPermission(Название)#

Проверяет, есть ли у участника указанное право доступа (глобально).

Возвращаемые типы: Логический

Параметр Тип Описание
Название Permission Право доступа для проверки

hasPermission(Канал, Название)#

Проверяет, есть ли у участника указанное право доступа в указанном канале.

Возвращаемые типы: Логический

Параметр Тип Описание
Канал Число, TextChannel Идентификатор роли или объект текстового канала
Название Permission Право доступа для проверки

addRole(Роль)#

Выдает участнику указанную роль. Возвращает true, если набор ролей участника был изменён.

Возвращаемые типы: Логический

Внимание! Квота вызовов

Это значит, что данный метод можно вызвать только 11 раз(а) в одном шаблоне.

Параметр Тип Описание
Роль Число, Role Идентификатор роли или объект роли

addRoles(Роли)#

Выдает участнику указанные роли. Возвращает true, если набор ролей участника был изменён.

Возвращаемые типы: Логический

Внимание! Квота вызовов

Это значит, что данный метод можно вызвать только 11 раз(а) в одном шаблоне.

Параметр Тип Описание
Роли Список<Число> Список идентификаторов ролей

removeRole(Роль)#

Снимает с участника указанную роль. Возвращает true, если набор ролей участника был изменён.

Возвращаемые типы: Логический

Внимание! Квота вызовов

Это значит, что данный метод можно вызвать только 11 раз(а) в одном шаблоне.

Параметр Тип Описание
Роль Число, Role Идентификатор роли или объект роли

removeRoles(Роли)#

Снимает с участника указанные роли. Возвращает true, если набор ролей участника был изменён.

Возвращаемые типы: Логический

Внимание! Квота вызовов

Это значит, что данный метод можно вызвать только 11 раз(а) в одном шаблоне.

Параметр Тип Описание
Роли Список<Число> Список идентификаторов ролей

modifyRoles(Добавить, Снять)#

Добавляет и снимает указанные роли у участника. Возвращает true, если набор ролей участника был изменён.

Возвращаемые типы: Логический

Внимание! Квота вызовов

Это значит, что данный метод можно вызвать только 11 раз(а) в одном шаблоне.

Параметр Тип Описание
Добавить Список<Число> Список идентификаторов ролей
Снять Список<Число> Список идентификаторов ролей

modifyNickname(Имя)#

Изменяет никнейм участнику. Длина никнейма должна быть в диапазоне от 2 до 32 символов.
Возвращает true, если имя было успешно изменено.

Возвращаемые типы: Логический

Внимание! Квота вызовов

Это значит, что данный метод можно вызвать только 1 раз(а) в одном шаблоне.

Параметр Тип Описание
Имя Строка Новый никнейм участника

getAttribute(Ключ)#

Получает указанный атрибут участника (хранимое значение).

Возвращаемые типы: Attribute

Внимание! Квота вызовов

Это значит, что данный метод можно вызвать только 5 раз(а) в одном шаблоне.

Параметр Тип Описание
Ключ Строка Ключ атрибута

Activity#

Этот тип данных описывает информацию об активности (статусе) участника сервера.

Свойства#
Свойство Тип Описание
rich Логический Признак является ли эта активность Rich Presence (подробной)
type Строка Тип активности (STREAMING, LISTENING, WATCHING, CUSTOM_STATUS, COMPETING)
emoji Строка Эмоция пользовательского статуса
name Строка Название активности
url Строка Ссылка активности (ссылка на стрим)
startTime DateTime Время начала активности
endTime DateTime Время окончания активности
details Строка Подробности активности (что участник делает)
state Строка Состояние активности (ищет игру, играет один, в группе и т.п.)
largeImageUrl Строка Ссылка на большую картинку активности
largeImageText Строка Текст, связанный с большой картинкой активности
smallImageUrl Строка Ссылка на маленькую картинку активности
smallImageText Строка Текст, связанный с маленькой картинкой активности

Rank#

Этот тип данных описывает данные о рейтинге участника на сервере.

Свойства#
Свойство Тип Описание
level Число Уровень участника
remainingExp Число Опыт, оставшийся до следующего уровня
levelExp Число Суммарный опыт, необходимый на текущем уровне
levelCurrentExp Число Опыт на текущем уровне
totalExp Число Всего опыта у участника
rank Число Ранг участника по серверу
cookies Число Количество печенек участника
voiceActivity Строка Длительность голосовой активности участника текстом
voiceActivityMs Число Длительность голосовой активности участника в миллисекундах

TextChannel#

Этот тип данных описывает все доступные данные о текстовом канале сервера.

Свойства#
Свойство Тип Описание
id Число Уникальный идентификатор канала
name Строка Название канала
mention Строка Упоминание канала
topic Строка Описание (топик) канала
position Число Номер позиции канала в списке (1 — верх списка)
createdAt DateTime Дата и время создание канала
guild Guild Данные о сервере канала
parent Category Категория канала (если есть)
canTalk Логический Признак, может ли бот отправлять сообщения в этот канал
Методы#
sendMessage(Текст)#

Отправляет в этот канал указанный текст. Возвращает true, если сообщение было успешно отправлено.

Возвращаемые типы: Логический

Внимание! Квота вызовов

Это значит, что данный метод можно вызвать только 12 раз(а) в одном шаблоне.

Параметр Тип Описание
Текст Строка Текст сообщения

createEmbed()#

Создает новый конструктор панели (Embed)

Возвращаемые типы: Embed


VoiceChannel#

Этот тип данных описывает все доступные данные о голосовом канале сервера.

Свойства#
Свойство Тип Описание
id Число Уникальный идентификатор канала
name Строка Название канала
userLimit Число Лимит участников в канале. 0 — без лимита.
bitrate Число Битрейт аудио в канале
position Число Номер позиции канала в списке (1 — верх списка)
createdAt DateTime Дата и время создание канала
guild Guild Данные о сервере канала
parent Category Категория канала (если есть)

Category#

Этот тип данных описывает все доступные данные о категории (группы) каналов.

Свойства#
Свойство Тип Описание
id Число Уникальный идентификатор категории
name Строка Название категории
position Число Номер позиции категории в списке (1 — верх списка)
createdAt DateTime Дата и время создание категории
guild Guild Данные о сервере категории

Role#

Этот тип данных описывает все доступные данные о роли сервера.

Свойства#
Свойство Тип Описание
id Число Уникальный идентификатор роли
name Строка Название роли
iconUrl Строка Ссылка на иконку роли
position Число Номер позиции роли
createdAt DateTime Дата и время создания роли
permissionsRaw Число Числовое представление всех прав доступа этой роли
managed Логический Признак того, управляется ли эта роль интеграцией
hoisted Логический Признак того, отображаются ли участники с этой ролью отдельно в списке участников
publicRole Логический Признак того, является ли эта роль публичной ролью @everyone
color Строка Цвет роли в формате #RRGGBB
guild Guild Данные о сервере роли
Методы#
hasPermission(Название)#

Проверяет, есть ли у роли указанное право доступа (глобально).

Возвращаемые типы: Логический

Параметр Тип Описание
Название Permission Право доступа для проверки

hasPermission(Канал, Название)#

Проверяет, есть ли у участника указанное право доступа в указанном канале.

Возвращаемые типы: Логический

Параметр Тип Описание
Канал Число, TextChannel Идентификатор роли или объект текстового канала
Название Permission Право доступа для проверки

Message#

Этот тип данных описывает все доступные данные о сообщении в текстовом канале.

Свойства#
Свойство Тип Описание
id Число Уникальный идентификатор сообщения
contentRaw Строка Содержимое сообщения без какой-либо обработки (как его прислал Discord)
contentDisplay Строка Содержимое сообщения, где все коды каналов, эмоций и упоминаний заменены их наименованиями
contentStripped Строка Содержимое сообщения как contentDisplay, но дополнительно еще и без какого-либо форматирования
jumpUrl Строка Ссылка быстрого перехода на это сообщение
channel TextChannel Канал, в котором опубликовано это сообщение
guild Guild Данные о сервере сообщения
author Member Автор этого сообщения
createdAt DateTime Дата и время создания сообщения
mentionedMembers Список<Member> Список упоминаний участников в сообщении
mentionedChannels Список<TextChannel> Список упоминаний каналов в сообщении
mentionedRoles Список<Role> Список упоминаний ролей в сообщении
attachments Список<Attachment> Список вложений к сообщению
referencedMessage Message Отвеченное сообщение (reply)

Attachment#

Этот тип данных описывает данные о вложении сообщения (файлы, картинки, видео).

Свойства#
Свойство Тип Описание
id Число Уникальный идентификатор вложения
createdAt DateTime Дата и время создание вложения
url Строка Ссылка на вложение
proxyUrl Строка Ссылка на вложение через Discord CDN прокси
fileName Строка Имя загруженного файла
size Число Размер файла в байтах
height Число Высота картинки/видео. -1 для остальных типов файлов
width Число Ширина картинки/видео. -1 для остальных типов файлов

Embed#

Этот тип данных используется для построения embed-сообщения (панели). Большинство методов возвращают этот же embed, поэтому можно строить цепочки вроде: withTitle('Заголовок').withDescription('Описание')

Свойства#
Свойство Тип Описание
empty Логический Признак того, пустая ли сейчас панель
validLength Логический Признак того, допустимая ли длина содержимого панели для отправки в канал
length Число Возвращает длину содержимого панели
Методы#
withContent(Текст)#

Устанавливает текст, который будет отправлен вне панели.

Возвращаемые типы: Embed

Параметр Тип Описание
Текст Строка Содержимое сообщения

withTitle(Наименование, URL)#

Устанавливает наименование панели и опционально ссылку.

Возвращаемые типы: Embed

Параметр Тип Описание
Наименование Строка Содержимое заголовка
URL Строка Ссылка в заголовке (опционально)

withAuthor(Имя, URL, IconURL)#

Устанавливает имя автора, опционально ссылки на страницу и на иконку

Возвращаемые типы: Embed

Параметр Тип Описание
Имя Строка Имя автора
URL Строка Ссылка на автора
IconURL Строка Ссылка на иконку автора

withDescription(Текст)#

Устанавливает содержимое панели (описание)

Возвращаемые типы: Embed

Параметр Тип Описание
Текст Строка Содержимое описания эмбеда

appendDescription(Текст)#

Дописывает указанный текст к уже существующему содержимому панели (описанию)

Возвращаемые типы: Embed

Параметр Тип Описание
Текст Строка Содержимое описания эмбеда

withThumbnail(URL)#

Устанавливает ссылку на картинку-миниатюру

Возвращаемые типы: Embed

Параметр Тип Описание
URL Строка Ссылка на картинку-миниатюру

withImage(URL)#

Устанавливает ссылку на полноразмерную картинку

Возвращаемые типы: Embed

Параметр Тип Описание
URL Строка Ссылка на полноразмерную картинку

withColor(Цвет)#

Устанавливает цвет панели, необходимо указывать шестизначный цвет в HEX, например #FF0000 для красного (можно без решетки).

https://htmlcolorcodes.com/

Возвращаемые типы: Embed

Параметр Тип Описание
Цвет Строка Цвет панели в HEX

addField(Наименование, Значение, Однострочное)#

Добавляет новое поле к панели, с указанным наименованием, значением и признаком однострочности.

Возвращаемые типы: Embed

Параметр Тип Описание
Наименование Строка Содержимое наименования (заголовка) поля
Значение Строка Содержимое значения (описания) поля
Однострочное Логический Если true, то поле будет однострочным

withFooter(Текст, IconURL)#

Устанавливает текст футера (подвала) и опционально ссылку на иконку

Возвращаемые типы: Embed

Параметр Тип Описание
Текст Строка Содержимое футера (подвала)
IconURL Строка Ссылка на иконку в футере (подвале) (Опционально)

addReaction(Эмоция)#

Добавляет реакцию к сообщению. Работает аналогично функции reaction.

Возвращаемые типы: Embed

Параметр Тип Описание
Эмоция Строка Эмоция в одно из следующих форматах:
  • 🦊 — Unicode-символ эмоции;
  • :fox_face: — название эмоции, включая стандартные и пользовательские на сервере;
  • <a:foxwaggy:695917473874051112> — код пользовательской эмоции.

addButton(Стиль, URL_ID, Наименование, Эмоция, UUID)#

Добавляет кнопку к сообщению. Работает аналогично функции button.

Возвращаемые типы: Embed

Параметр Тип Описание
Стиль Строка Стиль кнопки:
  • LINK — Кнопка-ссылка серого цвета, используется для открытия веб-страниц;
  • PRIMARY — Основная кнопка синего цвета, обычно используется для подтверждения какой-либо операции;
  • SECONDARY — Вторичная кнопка серого цвета, используется как отмена или для редко используемых операций;
  • SUCCESS — Кнопка зелёного цвета, используется для выполнения какой-либо положительной операции;
  • DANGER — Кнопка красного цвета, используется для выполнения какой-либо деструктивной операции.
URL_ID Строка URL для кнопки-ссылки, для остальных видов кнопок уникальный идентификатор
Наименование Строка Наименование кнопки
Эмоция Строка Эмоция в одном из следующих форматах:
  • 🦊 — Unicode-символ эмоции;
  • :fox_face: — название эмоции, включая стандартные и пользовательские на сервере;
  • <a:foxwaggy:695917473874051112> — код пользовательской эмоции.

(Опционально)
UUID Строка UUID Действия для выполнения

(Требуется для всех видов кнопок, кроме кнопки-ссылки)

withDate(Дата)#

Устанавливает дату в подвале (футере) панели.

Возвращаемые типы: Embed

Параметр Тип Описание
Дата Строка, Число, DateTime Принимает:
  • Число (Unix timestamp);
  • Строку в формате: yyyy-MM-dd'T'HH:mm:ss.SSSZ
  • Дату из других типов

addBlankField(Однострочное)#

Добавляет пустое поле с указанным признаком однострочности.

Возвращаемые типы: Embed

Параметр Тип Описание
Однострочное Логический Если true, то поле будет однострочным

clearFields()#

Очищает все поля панели.

Возвращаемые типы: Embed


clear()#

Очищает панель полностью.

Возвращаемые типы: Embed


error()#

Предустанавливает панели красный цвет и заголовок ошибки (для удобства построения ошибок).

Возвращаемые типы: Embed


deleteAfterSec(Секунды)#

Устанавливает время в секундах, через которое панель будет удалена после отправки.

Возвращаемые типы: Embed

Параметр Тип Описание
Секунды Число Время в секундах, через которое панель будет удалена после отправки

send()#

Отправляет в этот канал эту панель.
Возвращает true, если сообщение было успешно отправлено.

Возвращаемые типы: Логический

Внимание! Квота вызовов

Это значит, что данный метод можно вызвать только 22 раз(а) в одном шаблоне.


update(id)#

Обновляет сообщение с указанным идентификатором на эту панель.
Возвращает true, если сообщение было успешно отредактировано.

Можно редактировать только сообщения самого бота!

Возвращаемые типы: Логический

Внимание! Квота вызовов

Это значит, что данный метод можно вызвать только 22 раз(а) в одном шаблоне.

Параметр Тип Описание
id Число Идентификатор сообщения

AttributesStorage#

Это динамический тип, свойствами которого являются соответствующие атрибуты участника.

Внимание

В рамках выполнения одного шаблона сообщения допускается обращение максимум к 5 атрибутам участника.

Attribute#

Этот тип данных описывает атрибут участника. С помощью атрибутов можно хранить какие-либо собственные привязанные к участникам данные.

Свойства#
Свойство Тип Описание
value Строка Текущее значение атрибута
updatedAt DateTime Дата последнего обновления атрибута
Методы#
update(Значение)#

Обновляет значение атрибута указанной строкой, числом или логическим значением. Максимальная длина значения 2000 символов. Возвращает это же значение.

Возвращаемые типы: Строка, Число, Логический

Внимание! Квота вызовов

Это значит, что данный метод можно вызвать только 13 раз(а) в одном шаблоне.

Параметр Тип Описание
Значение Строка, Число, Логический Новое значение атрибута

increment(Число)#

Увеличивает числовое значение на указанное число. Возвращает новое значение. Отсчет начинается с 0 если текущее хранимое значение не число.

Возвращаемые типы: Число

Внимание! Квота вызовов

Это значит, что данный метод можно вызвать только 13 раз(а) в одном шаблоне.

Параметр Тип Описание
Число Число Увеличить числовое значение на указанное число

decrement(Число)#

Уменьшает числовое значение на указанное число. Возвращает новое значение. Отсчет начинается с 0 если текущее хранимое значение не число.

Возвращаемые типы: Число

Внимание! Квота вызовов

Это значит, что данный метод можно вызвать только 13 раз(а) в одном шаблоне.

Параметр Тип Описание
Число Число Уменьшить числовое значение на указанное число

clear()#

Очищает атрибут и удаляет из базы данных.

Внимание! Квота вызовов

Это значит, что данный метод можно вызвать только 1 раз(а) в одном шаблоне.


Arguments#

Этот тип данных описывает аргументы и параметры вызова пользовательской команды.

Свойства#
Свойство Тип Описание
value Строка Исходная строка вызова пользовательской команды
args Список<Строка> Список аргументов, извлеченных из строки и разделенных пробелом
Методы#
get(Номер)#

Получение аргумента по указанному номеру.

Возвращаемые типы: Строка

Параметр Тип Описание
Номер Число Номер аргумента

after(Номер)#

Получение всех аргументов, начиная с указанного номера включительно.

Возвращаемые типы: Строка

Параметр Тип Описание
Номер Число Номер аргумента

before(Номер)#

Получение всех аргументов от первого до указанного включительно.

Возвращаемые типы: Строка

Параметр Тип Описание
Номер Число Номер аргумента

range(Начало, Конец)#

Получение диапазона аргументов.

Возвращаемые типы: Строка

Параметр Тип Описание
Начало Число Начало диапазона
Конец Число Конец диапазона

getOption(Название)#

Получение параметра слэш-команды по названию.

Возвращаемые типы: Строка, Число, Логический, Member, Role, TextChannel, VoiceChannel, Category

Параметр Тип Описание
Название Строка Название параметра

getOptionsByType(Тип)#

Получение списка параметров слэш-команды по их типу.

Возвращаемые типы: Список<Строка>, Список<Число>, Список<Логический>, Список<Member>, Список<Role>, Список<TextChannel>, Список<VoiceChannel>, Список<Category>

Параметр Тип Описание
Тип Строка Тип параметра (STRING, INTEGER, DECIMAL, BOOLEAN, MEMBER, ROLE, CHANNEL)

Информация

Отсчет номера аргумента начинается с 1.

Parameters#

Этот тип данных описывает информацию о параметрах действий пользовательских команд.

Свойства#

Этот тип данных использует динамический список свойств в зависимости от переданных в действие параметров методом store или тэгом run.

Методы#
get(Ключ)#

Возвращает значение параметра по его ключу.

Возвращаемые типы: Строка, Число

Параметр Тип Описание
Ключ Строка Ключ параметра

store(Ключ, Значение)#

Сохраняет указанное значение в текущий контекст параметров.

Параметр Тип Описание
Ключ Строка Ключ параметра
Значение Строка, Число Значение параметра

Информация

В параметрах можно передавать только числа и строки.

Component#

Этот тип данных описывает информацию о компонентах действий пользовательских команд.

Свойства#
Свойство Тип Описание
id Строка Идентификатор компонента
type Строка Тип компонента:
  • BUTTON — компонент кнопки;
  • SELECTION_MENU — компонент меню выбора.
selectedOptions Список<Строка> Список указанных вариантов выбора компонента меню.

Permission#

Здесь описан список всех возможных прав доступа. Их нужно передавать в методы как строки.

Право доступа Описание
CREATE_INSTANT_INVITE Создать экспресс-приглашение
KICK_MEMBERS Выгнать участников
BAN_MEMBERS Банить участников
ADMINISTRATOR Администратор
MANAGE_CHANNEL Управление каналами
MANAGE_SERVER Управление сервером
MESSAGE_ADD_REACTION Добавлять реакции
VIEW_AUDIT_LOGS Просмотр журнала аудита
PRIORITY_SPEAKER Приоритет говорящего
VIEW_GUILD_INSIGHTS Просмотр аналитики сервера
VIEW_CHANNEL Читать текстовые и видеть голосовые каналы
MESSAGE_READ Читать сообщения
MESSAGE_WRITE Отправлять сообщения
MESSAGE_TTS Отправлять TTS-сообщения
MESSAGE_MANAGE Управлять сообщениями
MESSAGE_EMBED_LINKS Встраивать ссылки
MESSAGE_ATTACH_FILES Прикреплять файлы
MESSAGE_HISTORY Читать историю сообщений
MESSAGE_MENTION_EVERYONE Упомянуть всех
MESSAGE_EXT_EMOJI Использовать внешние эмодзи
MESSAGE_EXT_STICKER Использовать внешние стикеры
USE_SLASH_COMMANDS Использовать слэш-команды
MANAGE_THREADS Управление ветками
USE_PUBLIC_THREADS Использовать публичные ветки
USE_PRIVATE_THREADS Использовать приватные ветки
VOICE_STREAM Транслировать
VOICE_CONNECT Подключаться к голосовому чату
VOICE_SPEAK Говорить в голосовом чате
VOICE_MUTE_OTHERS Отключить голос участникам
VOICE_DEAF_OTHERS Отключить звук участникам
VOICE_MOVE_OTHERS Переместить участников
VOICE_USE_VAD Использовать режим активации по голосу
VOICE_START_ACTIVITIES Начинать активности
REQUEST_TO_SPEAK Попросить выступить
NICKNAME_CHANGE Изменить свой никнейм
NICKNAME_MANAGE Управление никнеймами
MANAGE_ROLES Управление ролями
MANAGE_PERMISSIONS Управление правами
MANAGE_WEBHOOKS Управление вебхуками
MANAGE_EMOTES Управление эмодзи


  1. У всех методов изменения ролей общий счётчик квоты вызовов. 

  2. У всех методов отправки сообщений общий счётчик квоты вызовов. 

  3. У всех методов обновления значения общий счётчик квоты вызовов (в рамках одного атрибута). 

Вернуться наверх