]> git.lizzy.rs Git - furrybot-discord.git/blob - init.js
Add bad apple
[furrybot-discord.git] / init.js
1 const Discord = require("discord.js")
2 const common = require("./common.js")
3 const copypasta = require("./copypasta.json")
4 const copypastaTrigger = require("./copypasta.js")
5
6 const client = module.exports = new Discord.Client({
7         intents: [Discord.GatewayIntentBits.Guilds, Discord.GatewayIntentBits.GuildMessages, Discord.GatewayIntentBits.GuildVoiceStates]
8 })
9
10 client.login(process.env.DISCORD_TOKEN)
11
12 let fb = {
13         commands: {},
14         requests: {},
15         operators: common.storageLoad("operators") || [],
16         ignored: common.storageLoad("ignored") || [],
17 }
18
19
20 client.on("ready", _ => client.user.setActivity("Leftist propaganda"))
21
22 client.on("messageCreate", msg => {
23         if (fb.ignored[msg.author.id] || msg.author.id == client.user.id)
24                 return;
25
26         const trigger = copypastaTrigger(msg.content.toLowerCase())
27         if (trigger)
28                 return msg.reply(copypasta[trigger])
29
30         if (msg.content.startsWith("!")) {
31                 let args = msg.content.replace(/@/g, "\\@").slice(1).split(" ")
32                 let cmd = args.shift()
33                 let def = fb.commands[cmd]
34
35                 if (def) {
36                         if (def.operator && !fb.operators[msg.author.id])
37                                 msg.reply(`Sorry, you need to be an operator run this command: ${cmd}`)
38                         else
39                                 def.func(msg, args, fb)
40                 } else {
41                         msg.reply(`Invalid command: ${cmd}`)
42                 }
43         }
44 })
45
46 const modules = ["basic", "bullshit", "marriage", "http", "roleplay", "death", "economy", "waifu", "operator", "nsfw", "random", "music", "badapple"]
47
48 for (let f of modules) {
49         let m = require(`./${f}.js`)
50
51         if (m)
52                 for (let k in m)
53                         fb.commands[k] = m[k]
54 }