add command lock feature

This commit is contained in:
Lio Young 2021-04-08 02:10:37 +02:00
parent 25d452293d
commit 070fdabb82
No known key found for this signature in database
GPG Key ID: 789795A11879E169
2 changed files with 14 additions and 4 deletions

View File

@ -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<Server>("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)

View File

@ -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")
}