-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbot.js
67 lines (63 loc) · 1.89 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
import { Client, Intents } from "discord.js";
import logger from "winston";
import * as Commands from "./commands.js";
import dotenv from "dotenv";
dotenv.config();
// Configure logger settings
logger.remove(logger.transports.Console);
logger.add(new logger.transports.Console(), {
colorize: true,
});
logger.level = "debug";
// Initialize Discord Bot
const client = new Client({
intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES],
});
client.on("ready", () => {
logger.info("Connected");
});
client.login(process.env.DISCORD_TOKEN);
// It will listen for messages that will start with `!ar`
client.on("messageCreate", async (message) => {
const messageContent = message.content;
if (messageContent.substring(0, 3) == "!ar") {
var args = messageContent.substring(4).split(" ");
var cmd = args[0];
args = args.splice(1);
console.log("message", messageContent);
console.log("args", args);
console.log("cmd", cmd);
let response = "Do hwut?!";
switch (cmd) {
case "ping":
response = `Don't ping me ${user}!`;
message.reply(response);
break;
case "help":
response = Commands.GetHelp();
message.reply(response);
break;
case "kdr":
response = await Commands.GetKillDeathRatioAsync(args[0]);
message.reply(response);
break;
case "highestRank":
response = await Commands.GetHighestRankAsync(args[0]);
message.reply(response);
break;
case "playerDetails":
const embedResult = await Commands.GetPlayerDetailsAsEmbedAsync(
args[0]
);
if (typeof embedResult === "string" || embedResult instanceof String) {
message.reply(embedResult);
break;
}
message.reply({ embeds: [embedResult] });
break;
default:
response = `Do hwut?!`;
message.reply(response);
}
}
});