diff --git a/dist/handlers/events/messageCreate.js b/dist/handlers/events/messageCreate.js index 22a713339d..7112146939 100644 --- a/dist/handlers/events/messageCreate.js +++ b/dist/handlers/events/messageCreate.js @@ -12,19 +12,19 @@ exports.default = new DiscordEventHandler_1.DiscordEventHandler({ description: "This event is fired when someone sends a message", listener: async function (message) { const prefix = await this.getPrefix(message); - const args = message.content - .slice(prefix?.length ?? 0) - .trim() - .split(/ +/g); - const name = prefix ? args.shift()?.toLowerCase() : args[0]; + const content = message.content.trim(); + const hasPrefix = prefix !== null; + const rawArgs = (hasPrefix ? content.slice(prefix.length) : content).trim().split(/ +/g); + const name = rawArgs[0]?.toLowerCase(); const commands = this.commands.get("messageCreate").filter( // Allow always execute commands (cmd) => !cmd.name || ( // Check if it matches the command name or one of aliases (cmd.name === name || !!cmd.data.aliases?.includes(name)) && // If unprefixed there can be no prefix - (cmd.data.unprefixed ? true : !!prefix))); + (cmd.data.unprefixed ? true : hasPrefix))); for (const command of commands) { + const args = command.name ? rawArgs.slice(1) : rawArgs; Interpreter_1.Interpreter.run({ obj: message, command, diff --git a/dist/handlers/events/messageCreate.js.map b/dist/handlers/events/messageCreate.js.map index da60278b3c..845c1598ee 100644 --- a/dist/handlers/events/messageCreate.js.map +++ b/dist/handlers/events/messageCreate.js.map @@ -1 +1 @@ -{"version":3,"file":"messageCreate.js","sourceRoot":"","sources":["../../../src/handlers/events/messageCreate.ts"],"names":[],"mappings":";AAAA;;;EAGE;;AAEF,wDAAoD;AACpD,uFAAmF;AAEnF,kBAAe,IAAI,yCAAmB,CAAC;IACnC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAW,OAAO;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAE5C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO;aACvB,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;aAC1B,IAAI,EAAE;aACN,KAAK,CAAC,KAAK,CAAC,CAAA;QACjB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAE3D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,MAAM;QACtD,gCAAgC;QAChC,CAAC,GAAG,EAAE,EAAE,CACJ,CAAC,GAAG,CAAC,IAAI;YACT,EAAC,yDAAyD;YACtD,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAK,CAAC,CAAC;gBAC1D,uCAAuC;gBACvC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CACnD,CAAA;QAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,yBAAW,CAAC,GAAG,CAAC;gBACZ,GAAG,EAAE,OAAO;gBACZ,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,OAAO,EAAE;wBACL,GAAG,EAAE,OAAO;qBACf;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAC3B,IAAI;aACP,CAAC,CAAA;QACN,CAAC;IACL,CAAC;IACD,OAAO,EAAE,CAAC,eAAe,EAAE,gBAAgB,CAAC;CAC/C,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"messageCreate.js","sourceRoot":"","sources":["../../../src/handlers/events/messageCreate.ts"],"names":[],"mappings":";AAAA;;;EAGE;;AAEF,wDAAoD;AACpD,uFAAmF;AAEnF,kBAAe,IAAI,yCAAmB,CAAC;IACnC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAW,OAAO;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACtC,MAAM,SAAS,GAAG,MAAM,KAAK,IAAI,CAAA;QACjC,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACzF,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAA;QAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,MAAM;QACtD,gCAAgC;QAChC,CAAC,GAAG,EAAE,EAAE,CACJ,CAAC,GAAG,CAAC,IAAI;YACT,EAAC,yDAAyD;YACtD,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAK,CAAC,CAAC;gBAC1D,uCAAuC;gBACvC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CACpD,CAAA;QAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;YAEtD,yBAAW,CAAC,GAAG,CAAC;gBACZ,GAAG,EAAE,OAAO;gBACZ,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,OAAO,EAAE;wBACL,GAAG,EAAE,OAAO;qBACf;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAC3B,IAAI;aACP,CAAC,CAAA;QACN,CAAC;IACL,CAAC;IACD,OAAO,EAAE,CAAC,eAAe,EAAE,gBAAgB,CAAC;CAC/C,CAAC,CAAA"} \ No newline at end of file diff --git a/src/handlers/events/messageCreate.ts b/src/handlers/events/messageCreate.ts index 8ae868fb44..6a82f261b2 100644 --- a/src/handlers/events/messageCreate.ts +++ b/src/handlers/events/messageCreate.ts @@ -12,12 +12,10 @@ export default new DiscordEventHandler({ description: "This event is fired when someone sends a message", listener: async function (message) { const prefix = await this.getPrefix(message) - - const args = message.content - .slice(prefix?.length ?? 0) - .trim() - .split(/ +/g) - const name = prefix ? args.shift()?.toLowerCase() : args[0] + const content = message.content.trim() + const hasPrefix = prefix !== null + const rawArgs = (hasPrefix ? content.slice(prefix!.length) : content).trim().split(/ +/g) + const name = rawArgs[0]?.toLowerCase() const commands = this.commands.get("messageCreate").filter( // Allow always execute commands @@ -26,10 +24,12 @@ export default new DiscordEventHandler({ (// Check if it matches the command name or one of aliases (cmd.name === name || !!cmd.data.aliases?.includes(name!)) && // If unprefixed there can be no prefix - (cmd.data.unprefixed ? true : !!prefix)) + (cmd.data.unprefixed ? true : hasPrefix)) ) for (const command of commands) { + const args = command.name ? rawArgs.slice(1) : rawArgs + Interpreter.run({ obj: message, command,