summary refs log tree commit diff
path: root/src/util/message_interceptors/plural_tooling
diff options
context:
space:
mode:
authorTheArcaneBrony <myrainbowdash949@gmail.com>2023-02-19 19:55:28 +0100
committerTheArcaneBrony <myrainbowdash949@gmail.com>2023-02-19 19:55:43 +0100
commit506954f3dfb855bba9cc5515536c874dc7d0a5b5 (patch)
tree0ff6d01844cdeee846ef11c392e2a0e7b8d36378 /src/util/message_interceptors/plural_tooling
parentAdd .idea to gitignore (diff)
downloadserver-ts-506954f3dfb855bba9cc5515536c874dc7d0a5b5.tar.xz
Add basic message interceptor framework
Signed-off-by: TheArcaneBrony <myrainbowdash949@gmail.com>
Diffstat (limited to 'src/util/message_interceptors/plural_tooling')
-rw-r--r--src/util/message_interceptors/plural_tooling/PluralCommandInterceptor.ts46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/util/message_interceptors/plural_tooling/PluralCommandInterceptor.ts b/src/util/message_interceptors/plural_tooling/PluralCommandInterceptor.ts
new file mode 100644

index 00000000..ac6bb153 --- /dev/null +++ b/src/util/message_interceptors/plural_tooling/PluralCommandInterceptor.ts
@@ -0,0 +1,46 @@ +import { + emitEvent, + IMessageInterceptor, Message, + MessageCreateEvent, MessageDeleteEvent, MessageFlags, + MessageInterceptorContext, + MessageInterceptResult, MessageTypes +} from "@fosscord/util"; + +export class PluralCommandInterceptor implements IMessageInterceptor { + async execute(ctx: MessageInterceptorContext): Promise<MessageInterceptResult> { + let result = new MessageInterceptResult(); + result.cancel = false; + result.message = ctx.message; + + if(ctx.message.content?.toLowerCase().startsWith("p;")) { + console.log("[PluralCommandInterceptor] Plural command prefix detected, cancelling message send. Content: ", ctx.message.content) + result.cancel = true; + } + + + if(result.cancel) { + /*await emitEvent({ + event: "MESSAGE_DELETE", + channel_id: ctx.message.channel_id, + data: { + id: ctx.message.id, + channel_id: ctx.message.channel_id, + guild_id: ctx.message.guild_id + }, + } as MessageDeleteEvent);*/ + //result.message.flags = String((BigInt(ctx.message.flags ?? "0")) | MessageTypes.); + // @ts-ignore + result.message.ephemeral = true; + result.message.content += ' (ephemeral?)'; + /*await emitEvent({ + event: "MESSAGE_CREATE", + //channel_id: ctx.opts.channel_id, + user_id: ctx.opts.author_id, + data: ctx.message.toJSON(), + } as MessageCreateEvent);*/ + } + + return result; + } + +} \ No newline at end of file