From 30ac25607023752031aa98060cbf8a736109992d Mon Sep 17 00:00:00 2001 From: V Date: Sun, 24 Sep 2023 16:02:18 +0200 Subject: migrate all plugins to folders --- src/plugins/moreCommands/index.ts | 66 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 src/plugins/moreCommands/index.ts (limited to 'src/plugins/moreCommands') diff --git a/src/plugins/moreCommands/index.ts b/src/plugins/moreCommands/index.ts new file mode 100644 index 0000000..61312ac --- /dev/null +++ b/src/plugins/moreCommands/index.ts @@ -0,0 +1,66 @@ +/* + * Vencord, a modification for Discord's desktop app + * Copyright (c) 2022 Vendicated, Samu and contributors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . +*/ + +import { ApplicationCommandInputType, findOption, OptionalMessageOption, RequiredMessageOption, sendBotMessage } from "@api/Commands"; +import { Devs } from "@utils/constants"; +import definePlugin from "@utils/types"; + + +function mock(input: string): string { + let output = ""; + for (let i = 0; i < input.length; i++) { + output += i % 2 ? input[i].toUpperCase() : input[i].toLowerCase(); + } + return output; +} + +export default definePlugin({ + name: "MoreCommands", + description: "echo, lenny, mock", + authors: [Devs.Arjix, Devs.echo, Devs.Samu], + dependencies: ["CommandsAPI"], + commands: [ + { + name: "echo", + description: "Sends a message as Clyde (locally)", + options: [OptionalMessageOption], + inputType: ApplicationCommandInputType.BOT, + execute: (opts, ctx) => { + const content = findOption(opts, "message", ""); + + sendBotMessage(ctx.channel.id, { content }); + }, + }, + { + name: "lenny", + description: "Sends a lenny face", + options: [OptionalMessageOption], + execute: opts => ({ + content: findOption(opts, "message", "") + " ( ͡° ͜ʖ ͡°)" + }), + }, + { + name: "mock", + description: "mOcK PeOpLe", + options: [RequiredMessageOption], + execute: opts => ({ + content: mock(findOption(opts, "message", "")) + }), + }, + ] +}); -- cgit