-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
65 lines (58 loc) · 1.84 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
import "dotenv/config";
import Discord from "discord.js";
import CommandProcessor from "./utils/command-processor.js";
import keepServerRunning from "./utils/server.js";
import MessageLogger from "./utils/message-logger.js";
import KeywordResponder from "./utils/keyword-responder.js";
import Data from "./utils/data.js";
import Troll from "./utils/troll.js";
const client = new Discord.Client({ intents: ["GUILDS", "GUILD_MESSAGES"] });
const settings = Data.getSettings();
const prefix = settings.prefix;
client.on("ready", () => {
console.log(`Logged in as ${client.user.tag}!`);
client.user.setActivity(`My Master [${prefix}help]`, {
type: "WATCHING",
});
CommandProcessor.onReady();
Troll.showStatus();
});
client.on("messageCreate", (message) => {
try {
if (message.author.bot) return;
if (message.content.startsWith(prefix))
CommandProcessor.processCommand(message, client);
KeywordResponder.checkForKeyword(message);
MessageLogger.logCreatedMessage(message);
if (message.author.id === settings.users.master) {
Troll.initializeTrolling(message);
Troll.showStatus();
}
} catch (error) {
message.channel.send("**An unknown error has occured**");
console.log(error);
}
});
client.on("messageDelete", (message) => {
try {
if (message.author.bot) return;
CommandProcessor.modifySnipeCommand(true, message);
MessageLogger.logDeletedMessage(message, client);
} catch (error) {
console.log(error);
}
});
client.on("messageUpdate", (oldMessage, newMessage) => {
try {
if (oldMessage.author.bot) return;
CommandProcessor.modifySnipeCommand(false, {
before: oldMessage,
after: newMessage,
});
MessageLogger.logEditedMessage(oldMessage, newMessage, client);
} catch (error) {
console.log(error);
}
});
keepServerRunning();
client.login(process.env.TEST);