/[sudobot]/trunk/src/commands/automation/EmbedCommand.ts
ViewVC logotype

Annotation of /trunk/src/commands/automation/EmbedCommand.ts

Parent Directory Parent Directory | Revision Log Revision Log


Revision 393 - (hide annotations)
Mon Jul 29 17:29:59 2024 UTC (8 months, 2 weeks ago) by rakin
File MIME type: application/typescript
File size: 1826 byte(s)
style: add license comments (#77)

* style: add license commits

* fix: shebang errors
1 rakin 393 /**
2     * This file is part of SudoBot.
3     *
4     * Copyright (C) 2021-2022 OSN Inc.
5     *
6     * SudoBot is free software; you can redistribute it and/or modify it
7     * under the terms of the GNU Affero General Public License as published by
8     * the Free Software Foundation, either version 3 of the License, or
9     * (at your option) any later version.
10     *
11     * SudoBot is distributed in the hope that it will be useful, but
12     * WITHOUT ANY WARRANTY; without even the implied warranty of
13     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14     * GNU Affero General Public License for more details.
15     *
16     * You should have received a copy of the GNU Affero General Public License
17     * along with SudoBot. If not, see <https://www.gnu.org/licenses/>.
18     */
19    
20 rakin 249 import { CommandInteraction, Message } from 'discord.js';
21 rakin 248 import BaseCommand from '../../utils/structures/BaseCommand';
22     import DiscordClient from '../../client/Client';
23 rakin 249 import CommandOptions from '../../types/CommandOptions';
24 rakin 248 import InteractionOptions from '../../types/InteractionOptions';
25 rakin 249 import { emoji } from '../../utils/Emoji';
26 rakin 248
27     export default class EmbedCommand extends BaseCommand {
28     supportsInteractions: boolean = true;
29 rakin 249 subcommands = ['send', 'schema', 'build'];
30 rakin 248
31     constructor() {
32 rakin 273 super('embed', 'automation', []);
33 rakin 248 }
34    
35 rakin 249 async run(client: DiscordClient, message: Message | CommandInteraction, options: CommandOptions | InteractionOptions) {
36 rakin 271 if (!options.isInteraction) {
37 rakin 249 await message.reply(`${emoji('error')} This command can not be used in legacy mode. Use slash commands instead.`);
38     return;
39     }
40 rakin 248
41 rakin 271 const subcommand = options.options.getSubcommand();
42 rakin 248
43 rakin 249 const command = client.commands.get('embed__' + subcommand);
44 rakin 248
45 rakin 249 if (command) {
46     await command.execute(client, message, options);
47 rakin 248 }
48     }
49     }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26