· 5 years ago · Dec 17, 2020, 04:44 AM
1const Discord = require('discord.js');
2const commando = require('discord.js-commando');
3const { Krunker: Api, OrderBy, UserNotFoundError} = require("@fasetto/krunker.io")
4const Krunker = new Api();
5
6class krunkerStatsCommand extends commando.Command {
7 constructor(client) {
8 super(client, {
9 name: "krunker",
10 aliases: ["kr"],
11 examples: ["krunker histefanhere", "krunker Username"],
12 group: "krunker",
13 memberName: "krunker",
14 description: "Gets a krunker players statistics.",
15 details: "Use this command to quickly view your or anyones stats. See someone in game who's really good? Check them out with this command!",
16 args: [
17 {
18 key: "player",
19 label: 'player',
20 prompt: "please include a krunker username",
21 type: "string"
22 }
23 ],
24 argsPromptLimit: 0,
25 })
26 }
27
28 async run(message, args) {
29 const response = message.channel.send(`${message.author} =>`, new Discord.RichEmbed({
30 fields: [
31 {
32 name: `**${args.player}**:`,
33 value: "*Please wait...*"
34 }
35 ]
36 }));
37 response.then(async (message_) => {
38 try
39 {
40 const data = await Krunker.GetProfile(args.player);
41 message_.edit(message_.content, new Discord.RichEmbed({
42 title: `**${args.player}**:`,
43 fields: [ {
44 name: "General:",
45 value: `**Level**: ${data.level}
46 **Clan**: ${data.clan}
47 **Score**: ${data.score}
48 **KR**: ${data.funds}`,
49 inline: true
50 }, {
51 name: "Games:",
52 value: `**Time**: ${data.playTime}
53 **Games**: ${data.totalGamesPlayed}
54 **Wins, Losses**: ${data.wins}, ${data.loses}
55 **W/L**: ${data.wl}`,
56 inline: true
57 }, {
58 name: "Stats:",
59 value: `**SPK:** ${data.spk}
60 **Wins**: ${data.wins}
61 **Loses**: ${data.loses}
62 **KDR**: ${data.kdr}`
63 }],
64 color: 0xea9920
65 }));
66 }
67 catch (e)
68 {
69 if (e instanceof UserNotFoundError) {
70 message_.edit(message_.content, new Discord.RichEmbed({
71 fields: [
72 {
73 name: `**${args.player}**:`,
74 value: `*Player "${args.player}" not found!*`
75 }]
76 }));
77 }
78 else {
79 message_.edit(message_.content, new Discord.RichEmbed({
80 fields: [{
81 name: `**${args.player}**:`,
82 value: `*Error, Failed to reach Krunker Servers!*`
83 }]
84 }));
85 throw e;
86 }
87 }
88 });
89 }
90}
91
92module.exports = krunkerStatsCommand;