1 |
import { ColorResolvable, CommandInteraction, Message, Util } from 'discord.js'; |
/** |
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 |
|
import { ColorResolvable, CommandInteraction, Util } from 'discord.js'; |
21 |
import BaseCommand from '../../utils/structures/BaseCommand'; |
import BaseCommand from '../../utils/structures/BaseCommand'; |
22 |
import DiscordClient from '../../client/Client'; |
import DiscordClient from '../../client/Client'; |
23 |
import InteractionOptions from '../../types/InteractionOptions'; |
import InteractionOptions from '../../types/InteractionOptions'; |
24 |
import MessageEmbed from '../../client/MessageEmbed'; |
import MessageEmbed from '../../client/MessageEmbed'; |
25 |
|
|
26 |
export default class EmbedCommand extends BaseCommand { |
export default class EmbedSendCommand extends BaseCommand { |
27 |
supportsInteractions: boolean = true; |
supportsInteractions: boolean = false; |
28 |
supportsLegacy: boolean = false; |
supportsLegacy: boolean = false; |
29 |
|
supportsContextMenu: boolean = false; |
30 |
|
|
31 |
constructor() { |
constructor() { |
32 |
super('embed', 'automation', []); |
super('embed__send', 'automation', []); |
33 |
} |
} |
34 |
|
|
35 |
async run(client: DiscordClient, interaction: CommandInteraction, options: InteractionOptions) { |
async run(client: DiscordClient, interaction: CommandInteraction, options: InteractionOptions) { |
62 |
image: getString('image') ? { |
image: getString('image') ? { |
63 |
url: getString('image') |
url: getString('image') |
64 |
} : undefined, |
} : undefined, |
65 |
|
video: getString('video') ? { |
66 |
|
url: getString('video') |
67 |
|
} : undefined, |
68 |
footer: footer.text ? footer : undefined, |
footer: footer.text ? footer : undefined, |
69 |
color: (getString('color') ?? '#007bff') as ColorResolvable, |
color: (getString('color') ?? '#007bff') as ColorResolvable, |
70 |
timestamp: getString('timestamp') ? (getString('timestamp') === 'current' ? new Date() : new Date(getString('timestamp')!)) : undefined, |
timestamp: getString('timestamp') ? (getString('timestamp') === 'current' ? new Date() : new Date(getString('timestamp')!)) : undefined, |
76 |
value: value.trim(), |
value: value.trim(), |
77 |
}; |
}; |
78 |
}) : [], |
}) : [], |
79 |
url: getString('url') |
url: getString('url'), |
80 |
}); |
}); |
81 |
|
|
82 |
try { |
try { |