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 supabase from "../utils/database";
import { Server, Usage } from "../utils/types"; import { Server, Usage } from "../utils/types";
import config from "../../config"; import config from "../../config";
import { Shortlink, SourceFinder } from "../utils/wrapper.features"; import { Commands, Shortlink, SourceFinder } from "../utils/wrapper.features";
export = { export = {
name: "message", name: "message",
@ -32,9 +32,12 @@ export = {
// ? Get Server Config // ? Get Server Config
let { data: server_data, error: server_error } = await supabase.from<Server>("servers").select().eq(`server_id`, message.guild.id).limit(1) 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) await Shortlink(message, server_data[0].shortlinks)
// ? Check if Message includes E621 Image Links
await SourceFinder(message, server_data[0].sourcefinder) await SourceFinder(message, server_data[0].sourcefinder)
// ? Check if Channel Topic allows Commands
if (await Commands(message)) return;
// ! Prefix // ! Prefix
let PrefixArray: string[] = [...config.variables.prefix, [(server_data[0].prefix ? server_data[0].prefix : [])]].flat(Infinity) 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 SL = /(nosl|no-?short(link(s|ing)?)?)/gmi
let SF = /(nosf|no-?source(find(er|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" | "cmd") {
function disabled(message: Message, feature: "sf" | "sl") {
switch (feature) { switch (feature) {
case 'sl': case 'sl':
@ -19,6 +19,9 @@ function disabled(message: Message, feature: "sf" | "sl") {
case 'sf': case 'sf':
// @ts-ignore // @ts-ignore
return SF.test((message.channel as TextChannel).topic) return SF.test((message.channel as TextChannel).topic)
case 'cmd':
// @ts-ignore
return CMD.test((message.channel as TextChannel).topic)
default: default:
throw new Error("No Feature was defined.") 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) let sources = await sourcefinder.find(message.content)
if (!sources) return; if (!sources) return;
return message.channel.send(sources?.join('\n')) return message.channel.send(sources?.join('\n'))
}
export async function Commands(message: Message) {
return disabled(message, "cmd")
} }