-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
82 lines (71 loc) · 2.43 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
/**
* Colon Bot
*
* Ik ben DevNL's Discord Ontwikkelaars Butler. Ik sta paraat voor forum interactie, handige
* ontwikkelaarstools maar ook simpele rol en moderatietools. Ik ben gemaakt voor DevNL.
*
* @author V17 Development
* @copyright V17 Development (C) 2021 - All Rights Reserved
*/
/** Configuration and Imports */
const { Client, Intents, Collection } = require('discord.js');
const DotEnv = require('dotenv');
const FileSystem = require('fs');
// Environment Variables
DotEnv.config();
// Defineer bestandsmappen
const RegistryFiles = FileSystem.readdirSync('./registry').filter(file => file.endsWith('.js'));
const EventFiles = FileSystem.readdirSync('./events').filter(file => file.endsWith('.js'));
const CommandFiles = FileSystem.readdirSync('./commands').filter(file => file.endsWith('.js'));
const ActionFiles = FileSystem.readdirSync('./actions').filter(file => file.endsWith('.js'));
// Intents
var DiscordIntents = [
Intents.FLAGS.GUILDS,
Intents.FLAGS.GUILD_MESSAGES
];
/**
* Klaarstomen
*
* Colon doet nog even haar make-up op en meldt zich zodra ze klaar
* voor de start is.
*
* Commando's: Slash commando (Voorbeeld: /hallo)
* Actie's: Parsed String (Voorbeeld: !deploy)
*/
const DiscordClient = new Client({ intents: DiscordIntents})
DiscordClient.Registry = RegistryFiles;
DiscordClient.Commands = new Collection();
DiscordClient.Actions = new Collection();
// Bouw een collectie met commando's
for (const File of CommandFiles) {
const Command = require(`./commands/${File}`);
DiscordClient.Commands.set(Command.Name, Command);
}
// Bouw een collectie met actie's
for (const File of ActionFiles) {
const Action = require(`./actions/${File}`);
DiscordClient.Actions.set(Action.Name, Action);
}
DiscordClient.once('ready', () => {
console.log('Colon Started');
});
/**
* Events
*
* Vanaf nu gaat Colon luisteren naar acties waar ze iets mee kan. Dit
* noemen we ook wel events. Events werken dan weer met interactions.
*/
for (const File of EventFiles) {
const TriggerEvent = require(`./events/${File}`);
if(TriggerEvent.once) {
DiscordClient.once(TriggerEvent.Name, (...args) => TriggerEvent.Execute(...args, DiscordClient));
}else{
DiscordClient.on(TriggerEvent.Name, (...args) => TriggerEvent.Execute(...args, DiscordClient));
}
}
/**
* Inloggen
*
* Colon logt zich nu in op Discord. We zijn er klaar voor!
*/
DiscordClient.login(process.env.DISCORD_TOKEN);