-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.js
60 lines (50 loc) · 1.92 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
const { Client, Collection } = require("discord.js");
const moment = require("moment")
require('moment-duration-format')
moment.locale('pt-BR')
const bot = new Client()
const { readdir, lstatSync } = require("fs");
const { token, prefix } = require("./config.json");
bot.cmds = new Collection();
bot.aliases = new Collection();
bot.on("ready", () => {
console.log(`${bot.user.username} está online!`);
});
const carregarComandos = module.exports.carregarComandos = (dir = "./comandos/") => {
readdir(dir, (erro, arquivos) => {
if (erro) return console.log(erro);
arquivos.forEach((arquivo) => {
try {
if (lstatSync(`./${dir}/${arquivo}`).isDirectory()) {
carregarComandos(`./${dir}/${arquivo}`)
} else if (arquivo.endsWith(".js")) {
const props = require(`./${dir}/${arquivo}`)
if (!props || !props.info || !props.run || !props.info.aliases || !props.info.name) {
console.log(`Não foi possível carregar o comando ${arquivo.split(".")[0]}!`);
return;
}
bot.cmds.set(props.info.name, props);
props.info.aliases.forEach((alias) => {
bot.aliases.set(alias, props)
})
console.log(`Comando ${props.info.name} e seus ${props.info.aliases.length} aliases salvos.`)
}
} catch (ex) {
console.log(`Erro ao ler o arquivo ${arquivo}!`)
console.log(ex)
}
})
})
}
carregarComandos();
bot.on("message", async message => {
if (message.author.bot) return;
if (message.channel.type === 'dm') return;
if (message.channel.type != 'text') return;
if (message.content.indexOf(prefix) !== 0) return;
const args = message.content.slice(prefix.length).trim().split(/ +/g);
const cmd = args.shift().toLowerCase();
const cmdParaExecutar = bot.cmds.get(cmd) || bot.aliases.get(cmd)
if (cmdParaExecutar != null) cmdParaExecutar.run(bot, message, args)
})
bot.login(token)