forked from Yash094/Discord-Bot-Dashboard
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
124 lines (105 loc) · 3.28 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
const Meme = require("memer-api");
const Discord = require("discord.js");
const mongoose = require("mongoose");
const config = require("./config");
const GuildSettings = require("./models/settings");
const Dashboard = require("./dashboard/dashboard");
const client = new Discord.Client({
ws: {
intents: [
"GUILDS",
"GUILD_MEMBERS",
"GUILD_MESSAGES"
]
}
})
require('discord-buttons')(client);
client.memer = new Meme(config.MEMER_API_TOKEN)
client.commands = new Discord.Collection();
client.aliases = new Discord.Collection();
["command"].forEach(handler => {
require(`./handlers/${handler}`)(client);
});
mongoose.connect(config.mongodbUrl, {
useNewUrlParser: true,
useUnifiedTopology: true
});
client.config = config;
require("./logger")(client);
// We listen for client's ready event.
client.on("ready", async () => {
console.log("Fetching members...");
for (const [id, guild] of client.guilds.cache) {
await guild.members.fetch();
}
console.log("Fetched members.");
console.log(`Bot is ready. (${client.guilds.cache.size} Guilds - ${client.channels.cache.size} Channels - ${client.users.cache.size} Users)`);
Dashboard(client);
client.user.setActivity('BOT BY YASH | GITHUB - https://github.com/Yash094/Discord-Dashboard-Bot', ({ type: "WATCHING" }))
});
client.on("message", async message => {
const guilddb = await GuildSettings.findOne(
{
gid: message.guild.id
},
(err, guild) => {
if (err) console.error(err);
}
);
if (guilddb) {
let prefix;
if (!guilddb.prefix) {
prefix = '!!'
} else {
prefix = guilddb.prefix;
}
if (message.mentions.has('@everyone')) {
return
}
if (message.mentions.has(client.user.id)) {
message.channel.send(`${prefix} is my prefix for this server`)
}
if (message.author.bot) return;
if (!message.guild) return;
if (!message.content.startsWith(prefix)) return;
if (!message.member)
message.member = await message.guild.fetchMember(message);
const args = message.content
.slice(prefix.length)
.trim()
.split(/ +/g);
const cmd = args.shift().toLowerCase();
if (cmd.length === 0) return;
let command = client.commands.get(cmd);
if (!command) command = client.commands.get(client.aliases.get(cmd));
if (command) command.run(client, message, args);
}
if (!guilddb) {
let prefix = "!!";
if (message.mentions.has('@everyone')) {
return
}
if (message.mentions.has(client.user.id)) {
message.channel.send(`${prefix} is my prefix for this server`)
}
if (message.author.bot) return;
if (!message.guild) return;
if (!message.content.startsWith(prefix)) return;
if (!message.member)
message.member = await message.guild.fetchMember(message);
const args = message.content
.slice(prefix.length)
.trim()
.split(/ +/g);
const cmd = args.shift().toLowerCase();
if (cmd.length === 0) return;
let command = client.commands.get(cmd);
if (!command) command = client.commands.get(client.aliases.get(cmd));
if (command) command.run(client, message, args);
}
});
// Listening for error & warn events.
client.on("error", console.error);
client.on("warn", console.warn);
// We login into the bot.
client.login(config.token);