Spaces:
Paused
Paused
| import type { Command } from "commander"; | |
| import type { MessageCliHelpers } from "./helpers.js"; | |
| import { collectOption } from "../helpers.js"; | |
| export function registerMessageEmojiCommands(message: Command, helpers: MessageCliHelpers) { | |
| const emoji = message.command("emoji").description("Emoji actions"); | |
| helpers | |
| .withMessageBase(emoji.command("list").description("List emojis")) | |
| .option("--guild-id <id>", "Guild id (Discord)") | |
| .action(async (opts) => { | |
| await helpers.runMessageAction("emoji-list", opts); | |
| }); | |
| helpers | |
| .withMessageBase( | |
| emoji | |
| .command("upload") | |
| .description("Upload an emoji") | |
| .requiredOption("--guild-id <id>", "Guild id"), | |
| ) | |
| .requiredOption("--emoji-name <name>", "Emoji name") | |
| .requiredOption("--media <path-or-url>", "Emoji media (path or URL)") | |
| .option("--role-ids <id>", "Role id (repeat)", collectOption, [] as string[]) | |
| .action(async (opts) => { | |
| await helpers.runMessageAction("emoji-upload", opts); | |
| }); | |
| } | |
| export function registerMessageStickerCommands(message: Command, helpers: MessageCliHelpers) { | |
| const sticker = message.command("sticker").description("Sticker actions"); | |
| helpers | |
| .withMessageBase( | |
| helpers.withRequiredMessageTarget(sticker.command("send").description("Send stickers")), | |
| ) | |
| .requiredOption("--sticker-id <id>", "Sticker id (repeat)", collectOption) | |
| .option("-m, --message <text>", "Optional message body") | |
| .action(async (opts) => { | |
| await helpers.runMessageAction("sticker", opts); | |
| }); | |
| helpers | |
| .withMessageBase( | |
| sticker | |
| .command("upload") | |
| .description("Upload a sticker") | |
| .requiredOption("--guild-id <id>", "Guild id"), | |
| ) | |
| .requiredOption("--sticker-name <name>", "Sticker name") | |
| .requiredOption("--sticker-desc <text>", "Sticker description") | |
| .requiredOption("--sticker-tags <tags>", "Sticker tags") | |
| .requiredOption("--media <path-or-url>", "Sticker media (path or URL)") | |
| .action(async (opts) => { | |
| await helpers.runMessageAction("sticker-upload", opts); | |
| }); | |
| } | |