From 070fdabb829ff92dcaee34a0884f02173a4efb5c Mon Sep 17 00:00:00 2001 From: Lio Young Date: Thu, 8 Apr 2021 02:10:37 +0200 Subject: [PATCH] add command lock feature --- src/events/message.ts | 7 +++++-- src/utils/wrapper.features.ts | 11 +++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/events/message.ts b/src/events/message.ts index aa80c2c..01942f4 100644 --- a/src/events/message.ts +++ b/src/events/message.ts @@ -4,7 +4,7 @@ import Logger from "../utils/logger"; import supabase from "../utils/database"; import { Server, Usage } from "../utils/types"; import config from "../../config"; -import { Shortlink, SourceFinder } from "../utils/wrapper.features"; +import { Commands, Shortlink, SourceFinder } from "../utils/wrapper.features"; export = { name: "message", @@ -32,9 +32,12 @@ export = { // ? Get Server Config let { data: server_data, error: server_error } = await supabase.from("servers").select().eq(`server_id`, message.guild.id).limit(1) - // ? Check if Message includes shortlinks + // ? Check if Message includes Shortlinks await Shortlink(message, server_data[0].shortlinks) + // ? Check if Message includes E621 Image Links await SourceFinder(message, server_data[0].sourcefinder) + // ? Check if Channel Topic allows Commands + if (await Commands(message)) return; // ! Prefix let PrefixArray: string[] = [...config.variables.prefix, [(server_data[0].prefix ? server_data[0].prefix : [])]].flat(Infinity) diff --git a/src/utils/wrapper.features.ts b/src/utils/wrapper.features.ts index 1a0136a..2e99846 100644 --- a/src/utils/wrapper.features.ts +++ b/src/utils/wrapper.features.ts @@ -8,9 +8,9 @@ const sourcefinder = new Sourcefinder(`Thaldrin/v${config.pkg.version} (t8.pm/bo let SL = /(nosl|no-?short(link(s|ing)?)?)/gmi let SF = /(nosf|no-?source(find(er|ing)?)?)/gmi +let CMD = /(nocmd|no-?command(s)?)/gmi - -function disabled(message: Message, feature: "sf" | "sl") { +function disabled(message: Message, feature: "sf" | "sl" | "cmd") { switch (feature) { case 'sl': @@ -19,6 +19,9 @@ function disabled(message: Message, feature: "sf" | "sl") { case 'sf': // @ts-ignore return SF.test((message.channel as TextChannel).topic) + case 'cmd': + // @ts-ignore + return CMD.test((message.channel as TextChannel).topic) default: throw new Error("No Feature was defined.") @@ -43,4 +46,8 @@ export async function SourceFinder(message: Message, setting: boolean) { let sources = await sourcefinder.find(message.content) if (!sources) return; return message.channel.send(sources?.join('\n')) +} + +export async function Commands(message: Message) { + return disabled(message, "cmd") } \ No newline at end of file