-
Notifications
You must be signed in to change notification settings - Fork 0
/
bot.js
68 lines (55 loc) · 2.11 KB
/
bot.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
//Log message upon starting the bot
console.log('Bot is starting...');
//require the dotenv node module
require('dotenv').config();
//require the discord.js module
const Discord = require('discord.js');
//create a Discord client with discord.js
const client = new Discord.Client({
intents: [
Discord.Intents.FLAGS.GUILDS,
Discord.Intents.FLAGS.GUILD_MEMBERS,
Discord.Intents.FLAGS.GUILD_BANS,
Discord.Intents.FLAGS.GUILD_EMOJIS_AND_STICKERS,
Discord.Intents.FLAGS.GUILD_INTEGRATIONS,
Discord.Intents.FLAGS.GUILD_WEBHOOKS,
Discord.Intents.FLAGS.GUILD_INVITES,
Discord.Intents.FLAGS.GUILD_VOICE_STATES,
Discord.Intents.FLAGS.GUILD_MESSAGES,
Discord.Intents.FLAGS.GUILD_MESSAGE_REACTIONS,
Discord.Intents.FLAGS.DIRECT_MESSAGES,
Discord.Intents.FLAGS.DIRECT_MESSAGE_REACTIONS
],
partials: ['MESSAGE', 'REACTION', 'CHANNEL']
});
//Get gotMessage
const gotMessage = require('./gotMessage');
//Get interactionCreate
const interactionCreate = require('./interactionCreate');
//Get MOTD/getMapsOnTime
const { initializeMOTD } = require('./MOTD/initializeMOTD');
const Banchojs = require('bancho.js');
// eslint-disable-next-line no-undef
const bancho = new Banchojs.BanchoClient({ username: 'Eliteronix', password: process.env.OSUIRC, apiKey: process.env.OSUTOKENV1, limiterPrivate: 1, limiterPublic: 1 });
//login with the Discord client using the Token from the .env file
// eslint-disable-next-line no-undef
client.login(process.env.BOTTOKEN);
//declare what the discord client should do when it's ready
client.on('ready', readyDiscord);
//declare the function which will be used when ready
function readyDiscord() {
//log a message when ready
console.log('The Bot is ready.');
client.user.setPresence({
status: 'online', //You can show online, idle....
activities: [{
name: 'with e!help', //The message shown
type: 'PLAYING' //PLAYING: WATCHING: LISTENING: STREAMING:
}]
});
}
client.on('messageCreate', msg => gotMessage(msg, bancho));
setInterval(() => initializeMOTD(client, bancho, false, false), 60000);
client.on('interactionCreate', interaction => {
interactionCreate(client, bancho, interaction);
});