From 9eef9dd318fa40c7fa1807335bee392c1441acba Mon Sep 17 00:00:00 2001 From: Jacob Nguyen <76754747+jacoobes@users.noreply.github.com> Date: Wed, 25 May 2022 15:49:55 -0500 Subject: [PATCH] refactor: Simplifying logic of message filter --- src/handler/events/interactionCreate.ts | 4 +++- src/handler/events/messageEvent.ts | 5 ++++- src/handler/events/observableHandling.ts | 15 ++++++--------- src/handler/events/readyEvent.ts | 1 - src/handler/sernEmitter.ts | 3 +++ 5 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/handler/events/interactionCreate.ts b/src/handler/events/interactionCreate.ts index e4cf8ac..22bbeab 100644 --- a/src/handler/events/interactionCreate.ts +++ b/src/handler/events/interactionCreate.ts @@ -201,7 +201,9 @@ export function onInteractionCreate(wrapper: Wrapper) { return modalHandler(modul, interaction); } if (interaction.isAutocomplete()) { - const modul = Files.ApplicationCommands['1'].get(interaction.commandName); + const modul = + Files.ApplicationCommands['1'].get(interaction.commandName) ?? + Files.BothCommands.get(interaction.commandName); return autoCmpHandler(modul, interaction); } return of(); diff --git a/src/handler/events/messageEvent.ts b/src/handler/events/messageEvent.ts index 5ef2061..d21a0e4 100644 --- a/src/handler/events/messageEvent.ts +++ b/src/handler/events/messageEvent.ts @@ -23,7 +23,10 @@ export const onMessageCreate = (wrapper: Wrapper) => { return { ctx: Context.wrap(message), //TODO : check for BothCommand args: ['text', rest], - mod: Files.BothCommands.get(prefix) ?? Files.TextCommands.aliases.get(prefix), + mod: + Files.TextCommands.text.get(prefix) ?? + Files.BothCommands.get(prefix) ?? + Files.TextCommands.aliases.get(prefix), }; }), ); diff --git a/src/handler/events/observableHandling.ts b/src/handler/events/observableHandling.ts index b9efc35..eb9b73c 100644 --- a/src/handler/events/observableHandling.ts +++ b/src/handler/events/observableHandling.ts @@ -30,15 +30,12 @@ export function ignoreNonBot(prefix: string) { new Observable(subscriber => { return src.subscribe({ next(m) { - const passAll = [ - isNotFromBot, - (m: Message) => - m.content - .slice(0, prefix.length) - .localeCompare(prefix, undefined, { sensitivity: 'accent' }) === 0, - ].every(fn => fn(m)); - - if (passAll) { + const messageFromHumanAndHasPrefix = + !m.author.bot && + m.content + .slice(0, prefix.length) + .localeCompare(prefix, undefined, { sensitivity: 'accent' }) === 0; + if (messageFromHumanAndHasPrefix) { subscriber.next(m); } }, diff --git a/src/handler/events/readyEvent.ts b/src/handler/events/readyEvent.ts index d1eeb29..026fddb 100644 --- a/src/handler/events/readyEvent.ts +++ b/src/handler/events/readyEvent.ts @@ -104,7 +104,6 @@ function registerModule(mod: DefinitelyDefined): Resul return Ok.EMPTY; }) .with({ type: CommandType.Slash }, mod => { - console.log(mod); Files.ApplicationCommands[ApplicationCommandType.ChatInput].set(name, mod); return Ok.EMPTY; }) diff --git a/src/handler/sernEmitter.ts b/src/handler/sernEmitter.ts index 4beb0f6..e4074d5 100644 --- a/src/handler/sernEmitter.ts +++ b/src/handler/sernEmitter.ts @@ -11,6 +11,9 @@ type SernEventsMapping = { ['error']: [Error | string]; }; +/** + * + */ export default class SernEmitter extends EventEmitter { public override on( eventName: T,