Skip to content

Commit a714027

Browse files
committed
fix(qm & us): wrong username
1 parent 518bb01 commit a714027

File tree

2 files changed

+28
-3
lines changed

2 files changed

+28
-3
lines changed

src/minecraft/commands/quickMathsCommand.js

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,18 @@ const getAnswer = (message) => {
1010
return message.split(": ")[1];
1111
};
1212

13+
const getUsername = (message) => {
14+
const match = message.match(
15+
/^(?:(?:\[(?<rank>[^\]]+)\] )?(?:(?<username>\w+)(?: \[(?<guildRank>[^\]]+)\])?: )?)?(?<message>.+)$/
16+
);
17+
18+
if (!match) {
19+
return null;
20+
}
21+
22+
return match.groups.username;
23+
};
24+
1325
class QuickMathsCommand extends minecraftCommand {
1426
constructor(minecraft) {
1527
super(minecraft);
@@ -43,7 +55,7 @@ class QuickMathsCommand extends minecraftCommand {
4355
}
4456

4557
answered = true;
46-
this.send(`${userUsername} Correct! It took you ${(Date.now() - startTime).toLocaleString()}ms`);
58+
this.send(`${getUsername(message)} Correct! It took you ${(Date.now() - startTime).toLocaleString()}ms`);
4759
bot.removeListener("chat", listener);
4860
};
4961

src/minecraft/commands/unscrambleCommand.js

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@ const { getRandomWord, scrambleWord } = require("../constants/words.js");
22
const minecraftCommand = require("../../contracts/minecraftCommand.js");
33
const getWord = (message) => message.split(" ").pop();
44

5+
const getUsername = (message) => {
6+
const match = message.match(
7+
/^(?:(?:\[(?<rank>[^\]]+)\] )?(?:(?<username>\w+)(?: \[(?<guildRank>[^\]]+)\])?: )?)?(?<message>.+)$/
8+
);
9+
10+
if (!match) {
11+
return null;
12+
}
13+
14+
return match.groups.username;
15+
};
16+
517
const cooldowns = new Map();
618

719
class unscrambleCommand extends minecraftCommand {
@@ -23,7 +35,6 @@ class unscrambleCommand extends minecraftCommand {
2335

2436
async onCommand(username, message) {
2537
try {
26-
const userUsername = username;
2738
const length = this.getArgs(message)[0];
2839
const answer = getRandomWord(length);
2940
const scrambledWord = scrambleWord(answer);
@@ -44,7 +55,9 @@ class unscrambleCommand extends minecraftCommand {
4455
cooldowns.set(this.name, Date.now());
4556
const listener = (username, message) => {
4657
if (getWord(message) === answer) {
47-
this.send(`${userUsername} guessed it right! Time elapsed: ${(Date.now() - startTime).toLocaleString()}ms!`);
58+
this.send(
59+
`${getUsername(message)} guessed it right! Time elapsed: ${(Date.now() - startTime).toLocaleString()}ms!`
60+
);
4861
bot.removeListener("chat", listener);
4962
answered = true;
5063
cooldowns.delete(this.name);

0 commit comments

Comments
 (0)