From c5eba642d0bbe21739be2f27bb6ce4c56343bc2a Mon Sep 17 00:00:00 2001 From: WubzyGD Date: Wed, 30 Nov 2022 05:00:02 -0700 Subject: [PATCH] basic message parsing --- src/handle/runtime/events/messageCreate.js | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/handle/runtime/events/messageCreate.js diff --git a/src/handle/runtime/events/messageCreate.js b/src/handle/runtime/events/messageCreate.js new file mode 100644 index 0000000..4322192 --- /dev/null +++ b/src/handle/runtime/events/messageCreate.js @@ -0,0 +1,23 @@ +module.exports = async (client, message) => { + if (!message.content || !message.content.length) {return;} //privileged intent fallback + + if ([`<@${client.user.id}>`, `<@!${client.user.id}>`].includes(message.content.trim())) {} //TODO insert ping hello + + let cmd = {}; + cmd.msg = message.content.toLowerCase().trim(); //i believe in shitty naming conventions :D + + let prefixUsed = cmd.msg.startsWith(client.basePrefix) ? client.basePrefix //stamdard default/dev client prefix + : cmd.msg.startsWith(`<@${client.user.id}>`) ? `<@${client.user.id}>` //mention prefix + : cmd.msg.startsWith(`<@!${client.user.id}>`) ? `<@!${client.user.id}>` //nicknamed mention prefix + : null //no prefix used + + cmd.prefix = prefixUsed; + + if (!cmd.prefix) {return;} // ----------> PREFIXED GATEWAY <---------- + + cmd.msg = cmd.msg.slice(prefixUsed.length); + let args = cmd.msg.split(/\s+/gm); //"args" is split by ALL WHITESPACE AND IS LOWERCASED + cmd.name = args.shift(); //the command without the prefix + cmd.msg = args.join(" "); + cmd.args = message.content.trim().slice(prefixUsed.length).trim().split(/ +/gm).slice(1); //args but preserves text state and newlines +}; \ No newline at end of file