Referência rápida
Consulte os registradores, tipos, builders e métodos mais usados do Core e do ComponentBuilder em um único lugar.
Core APIComponentBuilder APICheat sheet
Registros do Client#
| API | Responsabilidade |
|---|---|
Client.slash(definition) | Registra comando slash e deploy de application command |
Client.prefix(definition) | Registra comando por prefixo, aliases, opções e grupos |
Client.contextMenu(definition) | Registra menu de usuário ou mensagem |
Client.modal(definition) | Registra submit handler por customId |
Client.on(event, definition) | Executa em toda emissão do evento |
Client.once(event, definition) | Executa somente na primeira emissão |
Client.task(definition) | Registra rotina periódica global ou por guild |
Client.registerPrompt(id, definition) | Registra prompt reutilizável ou factory |
Client.registerPaginator(id, definition) | Registra páginas, Paginator ou factory |
Runtime e operação do Client#
| API | Retorno / efeito |
|---|---|
Client.appConfig(guildId?) | Configuração resolvida; valores de variáveis já normalizados |
Client.getAppChannels(guildId?) | Mapa de aliases para ChannelData |
Client.getAppRoles(guildId?) | Mapa de aliases para RoleData |
Client.cooldown(duration?) | Define ou consulta cooldown no contexto atual |
Client.globalCooldown(duration) | Define cooldown global do usuário |
Client.queue(key, task) | Serializa uma operação e retorna o resultado |
Client.runTask(id) | Executa uma task registrada imediatamente |
Client.startTask(id) | Inicia ou reativa o timer |
Client.stopTask(id) | Interrompe o timer no Client atual |
Client.login() | Conecta ao Discord e inicia o bootstrap |
Client.destroy() | Limpa componentes, tasks, plugins e conexão |
Interação normalizada#
| Propriedade / método | Uso |
|---|---|
user, member, guild, guildId, channel | Identidade e contexto |
options | Opções de slash/prefix e subcomandos |
reply(payload) | Resposta inicial |
deferReply(payload?) | Reserva resposta para trabalho demorado |
editReply(payload) | Edita a resposta original |
followUp(payload) | Envia resposta adicional |
promptRequest(id, options?) | Cria instância de prompt registrada |
paginatorRequest(id, options?) | Cria instância de paginator registrada |
interaction | Objeto original do Discord.js |
| ComponentRequestOptions | Significado |
|---|---|
pageIndex | Página inicial, começando em 0 |
ephemeral | Adiciona flag de resposta efêmera |
flags | Flags adicionais da mensagem |
Builders de mensagem#
| Builder | Métodos principais |
|---|---|
MessageBuilder | setContent, addEmbeds, addComponents, setFlags, setAllowedMentions, build, template |
ContainerBuilder | setAccentColor, setSpoiler, setId, addComponents e aliases tipados |
TextDisplayBuilder | setContent, setId |
SeparatorBuilder | setDivider, setSpacing, setId |
SectionBuilder | setContent, addTextDisplayComponents, setAccessory, setButtonAccessory, setThumbnailAccessory |
ThumbnailBuilder | setURL, setDescription, setSpoiler, setId |
MediaGalleryBuilder | addItems, setId, build |
MediaGalleryItemBuilder | setURL, setDescription, setSpoiler, build |
FileBuilder | setURL, setSpoiler, setId |
ActionRowBuilder | addComponents, setId, build |
Builders interativos#
| Builder | Métodos principais |
|---|---|
ButtonBuilder | setCustomId, setCallback, setURL, setLabel, setEmoji, setStyle, setDisabled, setPaginationAction |
StringSelectMenuBuilder | setCustomId, setCallback, setPlaceholder, setMinValues, setMaxValues, addOptions |
UserSelectMenuBuilder | Seleção nativa de usuários + métodos comuns de select |
RoleSelectMenuBuilder | Seleção nativa de cargos + métodos comuns de select |
ChannelSelectMenuBuilder | Seleção nativa de canais + métodos comuns de select |
MentionableSelectMenuBuilder | Seleção de usuários ou cargos + métodos comuns |
SelectMenuOptionBuilder | setLabel, setValue, setDescription, setEmoji, setDefault |
.setCallback(async (interaction, id, context) => { context.customId // ID completo context.values // todos os valores de select context.value // primeiro valor, quando existe context.componentType // tipo recebido do Discord})ComponentTemplate#
| API | Uso |
|---|---|
ComponentTemplate.create(document, metadata?) | Cria template a partir de documento |
ComponentTemplate.from(input) | Normaliza template, definição ou documento |
ComponentTemplate.fromJSON(json) | Importa representação JSON |
template.document() | Retorna cópia do documento |
template.render(context) | Hidrata tokens com um contexto |
template.validate() | Valida estrutura e limites |
template.toJSON() | Exporta representação JSON |
template.toToken() | Gera token assinado quando configurado |
template.toUnsignedToken() | Gera token sem assinatura para fluxo local |
template.toTypeScript() | Exporta uma representação TypeScript |
Paginator e Prompt#
| API | Uso |
|---|---|
Paginator.static({ pages }) | Páginas prontas |
Paginator.dynamic({ data, pageSize, render }) | Divide dados e renderiza cada fatia |
Paginator.hybrid({ intro, data, pageSize, render }) | Introdução fixa seguida de dados |
paginator.state(pageIndex?) | Estado normalizado da página |
paginator.render(pageIndex?) | Template da página |
paginator.renderDocument(pageIndex?) | Documento pronto |
Prompt.create(options) | Prompt a partir de template e opções |
Prompt.fromPages(pages, options?) | Prompt roteado por páginas exportadas |
prompt.render() | Template da pergunta |
prompt.resolveOption(customId) | Resolve a opção pelo ID completo |
prompt.resolvePage(optionId) | Encontra página associada à opção |
Imports rápidos#
import { Ninenity, LibsClient, Color, I18n, SlashCommandBuilder, PrefixCommandBuilder, ContextMenuCommandBuilder, GatewayIntentBits, Events, MessageFlags, type AppConfig, type InputCommandInteraction} from '@ninenity/core'import { MessageBuilder, ContainerBuilder, TextDisplayBuilder, SeparatorBuilder, SectionBuilder, ThumbnailBuilder, MediaGalleryBuilder, FileBuilder, ActionRowBuilder, ButtonBuilder, StringSelectMenuBuilder, ButtonStyle, ComponentTemplate, Paginator, Prompt, toDiscordMessagePayload} from '@ninenity/componentbuilder'