Documentação/Operação
REFERÊNCIA / APIs

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#

APIResponsabilidade
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#

APIRetorno / 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étodoUso
user, member, guild, guildId, channelIdentidade e contexto
optionsOpçõ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
interactionObjeto original do Discord.js
ComponentRequestOptionsSignificado
pageIndexPágina inicial, começando em 0
ephemeralAdiciona flag de resposta efêmera
flagsFlags adicionais da mensagem

Builders de mensagem#

BuilderMétodos principais
MessageBuildersetContent, addEmbeds, addComponents, setFlags, setAllowedMentions, build, template
ContainerBuildersetAccentColor, setSpoiler, setId, addComponents e aliases tipados
TextDisplayBuildersetContent, setId
SeparatorBuildersetDivider, setSpacing, setId
SectionBuildersetContent, addTextDisplayComponents, setAccessory, setButtonAccessory, setThumbnailAccessory
ThumbnailBuildersetURL, setDescription, setSpoiler, setId
MediaGalleryBuilderaddItems, setId, build
MediaGalleryItemBuildersetURL, setDescription, setSpoiler, build
FileBuildersetURL, setSpoiler, setId
ActionRowBuilderaddComponents, setId, build

Builders interativos#

BuilderMétodos principais
ButtonBuildersetCustomId, setCallback, setURL, setLabel, setEmoji, setStyle, setDisabled, setPaginationAction
StringSelectMenuBuildersetCustomId, setCallback, setPlaceholder, setMinValues, setMaxValues, addOptions
UserSelectMenuBuilderSeleção nativa de usuários + métodos comuns de select
RoleSelectMenuBuilderSeleção nativa de cargos + métodos comuns de select
ChannelSelectMenuBuilderSeleção nativa de canais + métodos comuns de select
MentionableSelectMenuBuilderSeleção de usuários ou cargos + métodos comuns
SelectMenuOptionBuildersetLabel, setValue, setDescription, setEmoji, setDefault
TSassinatura de callback
.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#

APIUso
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#

APIUso
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#

TScore-imports.ts
import {  Ninenity,  LibsClient,  Color,  I18n,  SlashCommandBuilder,  PrefixCommandBuilder,  ContextMenuCommandBuilder,  GatewayIntentBits,  Events,  MessageFlags,  type AppConfig,  type InputCommandInteraction} from '@ninenity/core'
TScomponent-imports.ts
import {  MessageBuilder,  ContainerBuilder,  TextDisplayBuilder,  SeparatorBuilder,  SectionBuilder,  ThumbnailBuilder,  MediaGalleryBuilder,  FileBuilder,  ActionRowBuilder,  ButtonBuilder,  StringSelectMenuBuilder,  ButtonStyle,  ComponentTemplate,  Paginator,  Prompt,  toDiscordMessagePayload} from '@ninenity/componentbuilder'