Bot Class

O que é a classe Bot?

A classe Bot da simpleDiscordLib é a base para criar seu bot. Ela permite configurar eventos, comandos e a interação com a API do Discord de forma estruturada e eficiente.

Criando o Bot

Para começar a usar a classe Bot, você precisa instanciá-la e configurar seu token. Aqui está um exemplo básico de como inicializar o bot:


// index.js
const { Bot } = require("simple-discord-lib");
const bot = new Bot("SEU_TOKEN_AQUI");

bot.connect(); // Conecta o bot ao Discord
    

Depois de inicializar o bot com o token, você pode começar a adicionar comandos e eventos.

Definindo o Status do Bot

Você pode usar o método setStatus para personalizar o status do bot. Aqui estão exemplos com diferentes tipos de status e atividades:


// Exemplo 1: Jogando (Playing)
await bot.setStatus("Desenvolvendo bots incríveis", "Playing", "online");

// Exemplo 2: Competindo (Competing)
await bot.setStatus("Um torneio de programação", "Competing", "idle");

// Exemplo 3: Transmitindo (Streaming)
await bot.setStatus("Minha live de JavaScript", "Streaming", "dnd");

// Exemplo 4: Assistindo (Watching)
await bot.setStatus("Tutoriais no YouTube", "Watching", "online");

// Exemplo 5: Ouvindo (Listening)
await bot.setStatus("Podcasts sobre tecnologia", "Listening", "idle");

// Exemplo 6: Customizado (Custom)
await bot.setStatus("Disponível para ajudar!", "Custom", "online");
  

Esses exemplos mostram como definir diferentes combinações de texto, tipo de atividade e status do bot.

Atualizando a Bio do Bot

Você pode usar o método setBio para atualizar a descrição (bio) do seu bot. Aqui está um exemplo de uso:


// Exemplo de uso
await bot.setBio("Um bot incrível, pronto para ajudar!");
  

Este exemplo define a bio do bot como Um bot incrível, pronto para ajudar!. A nova descrição será visível na página do bot no Discord.

Executando Ações com Reações

Você pode usar o método onReaction para adicionar reações a mensagens e executar ações quando alguém reagir. Aqui está um exemplo de uso:


// Exemplo de uso
bot.onReaction({
  message: targetMessage, // Mensagem alvo
  emoji: "👍", // Emoji a ser adicionado e monitorado
  action: (reaction, user) => {
    console.log(`${user.username} reagiu com ${reaction.emoji.name}!`);
  }
});
  

Este exemplo adiciona o emoji 👍 à mensagem especificada e registra no console o nome do usuário que reagiu ao emoji.

Configurando Respostas Automáticas

Você pode usar o método addAutoResponse para configurar respostas automáticas baseadas em palavras-chave. Aqui está um exemplo de uso:


// Exemplo de uso
bot.addAutoResponse({
  keywords: ["olá", "tudo bem?", "adeus"],
  responses: ["Oi! Como posso ajudar?", "Estou bem, e você?", "Até mais!"]
});
  

Este exemplo configura três palavras-chave (olá, tudo bem? e adeus) com respostas correspondentes. Quando um usuário enviar uma mensagem contendo essas palavras-chave, o bot responderá automaticamente com a resposta associada.

Verificando Permissões do Usuário

A função checkPermissions verifica se um usuário tem as permissões necessárias em um servidor. Aqui está um exemplo de uso:


// Exemplo de uso
const hasPermission = await bot.checkPermissions(guild, userId, ["admin", "kick"]);
if (hasPermission) {
  console.log("O usuário tem as permissões necessárias!");
} else {
  console.log("O usuário não possui as permissões exigidas.");
}
  

No exemplo, a função verifica se o usuário possui as permissões de admin e kick. Se todas as permissões forem encontradas, ela retorna true; caso contrário, false.

Saindo de um Servidor

A função guildLeave permite que o bot saia de um servidor específico. Aqui está um exemplo de uso:


// Exemplo de uso
const leftServer = await bot.guildLeave("123456789012345678");
if (leftServer) {
  console.log("O bot saiu do servidor com sucesso.");
} else {
  console.log("Houve um problema ao tentar sair do servidor.");
}
  

No exemplo, a função tenta fazer o bot sair do servidor com o ID 123456789012345678. Se a operação for bem-sucedida, ela retorna true; caso contrário, lança um erro.

Utilitários da Classe Bot

A classe Bot oferece diversos utilitários para facilitar a interação com o Discord. Alguns exemplos incluem: