-
-
Notifications
You must be signed in to change notification settings - Fork 72
/
Copy pathmusico.js
67 lines (61 loc) · 2.06 KB
/
musico.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
/*
* @License GNU[2]
* @Author: Whirl <[email protected]>
Copyright (C) 2021 Whirl
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/**
* Ah yes requiring every fucking thing from this universe
*/
const { Collection, GatewayIntentBits, Client } = require("discord.js");
const { Player } = require("discord-player");
const { QuickDB } = require("quick.db");
const db = new QuickDB();
const config = require("./musico.config");
const handleEvents = require("./handlers/eventsHandler");
const handleInteractions = require("./handlers/interactionHandlers");
const registrar = require("./handlers/registrar");
const handlePlayer = require("./handlers/playerEventsHandler");
const client = new Client({
intents: [
// Yeah this sux
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.GuildVoiceStates
],
});
/**
* Global variables< Client and Player... etc.>
*/
const player = new Player(client,
{
leaveOnEnd: false,
leaveOnEmpty: false
}
);
client.slashCommands = new Collection();
client.contextCommands = new Collection();
client.db = db;
client.player = player;
client.config = config;
/**
* Handle events , handle interactions and register commands
*/
handleEvents(client, `${__dirname}/events`);
handlePlayer(client, `${__dirname}/events/player`);
handleInteractions(client, __dirname);
registrar(client);
/**
* Login to the bot
*/
client.login(client.config.botToken);