Base de bot de discordConvenções

Intents

Intents de bot de discord utilizando a Constatic Base

Os intents foram introduzidos pelo Discord para que os desenvolvedores de bots possam escolher quais eventos seu bot recebe com base em quais dados ele precisa para funcionar. Para que um determinado evento seja emitido, um determinado intent relacionado precisa ser habilitado.

Por exemplo, um dos eventos mais utilizados em bots de discord é o guildMemberAdd, este evento é emitido quando um membro se junta à guilda, mas é necessário definir o intent GuildMembers para que o evento seja emitido.

Ao gerar este projeto, por padrão todos os intents são habilitados no Client. Veja abaixo como seria um código simples sem utilizar a Constatic Base:

src/index.ts
import { Client } from "discord.js";

const client = new Client({ 
    intents: [
        "GuildMembers",
        "MessageContent",
        "Guilds",
        "GuildBans",
        "GuildPresences",
        // ...
    ]
});

Mas não é necessário definir nenhum intent, pois por padrão, todos já estão habilitados:

src/index.ts
import { bootstrap } from "#base";

await bootstrap({ meta: import.meta });

Porém se você quiser definir apenas intents específicos, como no caso de um bot público que você não queira habilitar o intent de MessageContent, basta utilizar a propriedade intents da função bootstrap, ela é a mesma das opções do Client;

src/index.ts
import { bootstrap } from "#base";

await bootstrap({ 
    meta: import.meta,
    intents: [
        "Guilds",
        "GuildWebhooks",
        "GuildBans",
        // ...
    ]    
});