Advertisement
Guest User

asdasd

a guest
Mar 28th, 2020
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const { Client, Collection } = require("discord.js");
  2. const { readdir, lstatSync } = require("fs");
  3. const { token, prefix } = require("./config.json");
  4. const client = new Client();
  5.  
  6. client.cmds = new Collection();
  7. client.aliases = new Collection();
  8.  
  9. client.on("ready", () => {
  10.    
  11.    
  12.     console.log(`O Bot Spooky em ${ bot.guilds.cache.size} servidores com ${ bot.users.cache.size} membros, iniciou com sucesso.`);
  13.     const s = [
  14.         {name: `Em ${ bot.guilds.cache.size} servidores`, type: 'STREAMING', url: 'http://www.twitch.tv/nome%27%7D'},
  15.         {name: `Com ${ bot.users.cache.size} membros`, type: 'STREAMING', url: 'http://www.twitch.tv/nome%27%7D'},
  16.         {name: `B.V.P`, type: 'STREAMING', url: 'http://www.twitch.tv/nome%27%7D'},
  17.     ];
  18.  
  19.  
  20.     setInterval(() => {
  21.         const rs = s[Math.floor(Math.random() * s.length)];
  22.         bot.user.setActivity(rs.name, { type: rs.type, url: rs.url });
  23.     }, 1800);
  24. });
  25.  
  26. const carregarComandos = module.exports.carregarComandos = (dir = "./commands/") => {
  27.     readdir(dir, (erro, arquivos) => {
  28.         if (erro) return console.log(erro);
  29.         arquivos.forEach((arquivo) => {
  30.             try {
  31.                 if (lstatSync(`./${dir}/${arquivo}`).isDirectory()) {
  32.                     carregarComandos(`./${dir}/${arquivo}`)
  33.                 } else if (arquivo.endsWith(".js")) {
  34.                     const props = require(`./${dir}/${arquivo}`)
  35.                     if (!props || !props.info || !props.run || !props.info.aliases || !props.info.name) {
  36.                         console.log(`Não foi possível carregar o comando ${arquivo.split(".")[0]} pois ou não há ou falta propiedades.`);
  37.                         return;
  38.                     }
  39.                     client.cmds.set(props.info.name, props);
  40.                     props.info.aliases.forEach((alias) => {
  41.                         client.aliases.set(alias, props)
  42.                     })
  43.  
  44.                     console.log(`Comando ${props.info.name} e seus ${props.info.aliases.length} aliases salvos.`)
  45.                 }
  46.             } catch (ex) {
  47.                 console.log(`Erro ao ler o arquivo ${arquivo}`)
  48.                 console.log(ex)
  49.             }
  50.         })
  51.     })
  52. }
  53. carregarComandos();
  54.  
  55. /*
  56. Todo arquivo de comando deve seguir o seguinte padrão:
  57.  
  58. module.exports.run = (client, message, args) => {
  59. ~ código do comando aqui ~
  60. }
  61.  
  62. module.exports.info = {
  63.     name: "nome do comando",
  64.     aliases: ["outro meio de chamar o comando"]
  65. }  
  66. */
  67.  
  68.  
  69. client.on("message", async message => {
  70.     if (message.author.bot) return;
  71.     if (message.content.indexOf(prefix) !== 0) return;
  72.     if(message.channel.type != 'text') return; // opcional: vai ignorar todos os comandos que não forem executados em canais de texto
  73.     const args = message.content.slice(prefix.length).trim().split(/ +/g);
  74.     const cmd = args.shift().toLowerCase();
  75.  
  76.     const cmdParaExecutar = client.cmds.get(cmd) || client.aliases.get(cmd)
  77.     if(cmdParaExecutar != null) cmdParaExecutar.run(client, message, args)
  78. })
  79.  
  80. client.login(token)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement