Skip to content

Latest commit

 

History

History
186 lines (133 loc) · 5.06 KB

README-ptBR.md

File metadata and controls

186 lines (133 loc) · 5.06 KB

Yui

English Version

Quase como uma filha, é um bot de propósitos gerais, chamada de Yui estou a desenvolvendo para o discord com a biblioteca discord.js, o nome tem inspiração na personagem Yui do anime Sword Art Online que a princípio é uma I.A.


🤔 Como usar no meu servidor?

  • Adicione o bot clicando nesse LINK
    • Você precisa de permissões de administrador em algum server
  • Leia a documentação dos comandos AQUI
  • Só curtir 😁

🧩 Rodando localmente

Antes de tudo você precisa ter adicionado o bot no seu servidor, para isso clique nesse link

// Clone o repositório
$ git clone https://github.com/miguelrisquelme/yui.git

// Instale as dependências
$ npm i

// Crie e configure o arquivo .env, basta seguir o arquivo de exemplo .env.example
~/.env

// Inicie a aplicação
$ npm run dev

Tratamento de erros

Para os consoles de erros darem certo, a estrutura de pastas tem que estar padronizada, para tal, basta seguir essas instruções:

  • O nome do comando deve ser o mesmo nome da pasta dele

    /commands/${nameCommand}

    module.exports = {
      name: `${nameCommand}`,
      description: "Descrição do comando",
      execute,
    };
  • O nome das funções devem ser o mesmo dos argumentos passados depois do comando

    • > time ${args}
    • /commands/time/functions/${args}.js

Exemplo de saída:

      ❌ TypeError: message.channel.sen is not a function
      🦊 Input: '> time hours'
      ✨ Command: time
      🔥 Function: hours
      🧅 Possible Path: /commands/time/hours.js

O código do catch Error:

const error = require("../utils/handlers/errors/errors.handler");
...

catch (err) {
  const args = message.content.slice(prefix.length).trim().split(/ +/);
  console.error(`
${err.toString()}
      🦊 Input: '${message.content}'
      ✨ Command: ${args[0]}
      🔥 Function: ${args[1]}
      🧅 Possible Path: /commands/${args[0]}/${args[1]}.js
    `);
  console.error(err);
  error.handler(err, message);
}

🧬 Fluxo da aplicação

Diretórios

/commands

  • Diretório onde se encontra todos os comandos do bot
  • Cada comando fica em uma pasta com o seu nome
  • Dentro de cada pasta tem
    • main.js - Configurações do comando
    • /functions - Dentro dessa pasta fica os subcomandos assim dizer

Exemplo de código

// Importações

const execute = (message, args) => {
  try {
    // O código para ser executado
  } catch (error) {
    console.error(error);
  }
};

module.exports = {
  name: "Nome do comando",
  description: "Descrição do comando",
  execute,
};

/events

  • Diretório onde se encontra todos os eventos do bot
  • Tudo que vai ser executado como ação fica aqui

/handlers

  • Onde será manipulado os dados
  • É criado handlers para manipular tipos de dados
    • Eventos
    • Erros
    • Comandos

Arquivos importantes

index.js

  • Função anônima
  • Listar os comandos
  • Executa os handlers enviando o diretório dos events

commands.handler.js

  • Lista os comandos
  • Adiciona eles ao client que é a instância do BOT

events.handler.js

  • Manipula os eventos
  • Fala quando o o bot foi iniciado por completo
  • Ouve o evento message

error.handler.js

  • Manipula os erros
  • Diz os tipos de erros

message.js

  • Verifica quem está chamando o comando, caso seja o OWNER_ID irá atribuir o nome definido no arquivo .env
  • Faz o tratamento do evento acionado
  • Faz as verificações
  • Executa o comando

ready.js

  • Mostra em quantos server o bot está conectado
  • Fala que a aplicação já está rodando




📚 References