This commit is contained in:
2021-03-04 03:33:54 +03:00
parent 368382f63c
commit 5ac17d713f
67 changed files with 1824 additions and 119 deletions
+60
View File
@@ -0,0 +1,60 @@
import {CREATOR_ID, getExceptionText, includes, MessageContext} from "../../base/base";
import {Command} from "./command";
import {adminsList} from "../../base/db";
import {sendMessage} from "../../base/net";
import {Test} from "../test";
import {Help} from "../help";
import {Ae} from "../ae";
import {Dad} from "../dad";
import {FuckYou} from "../fuckYou";
import {Mom} from "../mom";
import {Mute} from "../mute";
import {Unmute} from "../unmute";
import {Ping} from "../ping";
import {Q} from "../q";
import {RandomString} from "../randomString";
import {SystemSpecs} from "../systemSpecs";
export async function parseCommands(context: MessageContext) {
try {
const cmd = searchCommand(context)
if (!cmd ||
(cmd.requireChat && !context.isChat()) ||
(cmd.requireReply && !context.hasRepliedMessage())) return
if ((cmd.requireCreator && context.senderId != CREATOR_ID) ||
(cmd.requireAdmin && !includes(adminsList, context.senderId))) {
await sendMessage(context, 'У вас нет доступа')
return
}
cmd.execute(
context,
context.text.match(cmd.regexp),
context.repliedMessage
)
} catch (e) {
console.log(getExceptionText(e))
}
function searchCommand(message, text?: string): Command {
return commands.find(c => c.regexp.test(message ? message.text : text))
}
}
let commands: Command[] = [
new Ae(),
new Dad(),
new FuckYou(),
new Help(),
new Mom(),
new Mute(),
new Unmute(),
new Ping(),
new Q(),
new RandomString(),
new SystemSpecs(),
new Test()
]