Fakeuser command

This commit is contained in:
Supositware 2022-08-18 01:46:04 +02:00
parent d1217f05d0
commit abe4fe7756
2 changed files with 54 additions and 0 deletions

38
commands/fun/fakeuser.js Normal file
View file

@ -0,0 +1,38 @@
import { SlashCommandBuilder } from '@discordjs/builders';
export default {
data: new SlashCommandBuilder()
.setName('fakeuser')
.setDescription('Fake a user with webhooks')
.addMentionableOption(option =>
option.setName('user')
.setDescription('Who do you want to fake?')
.setRequired(true))
.addStringOption(option =>
option.setName('message')
.setDescription('What message do you want me to send?')
.setRequired(true))
.addAttachmentOption(option =>
option.setName('image')
.setDescription('Optional attachment.')
.setRequired(false)),
async execute(interaction) {
await interaction.deferReply({ ephemeral: true });
const attachment = interaction.options.getAttachment('image');
const message = interaction.options.getString('message');
const member = interaction.options.getMentionable('user');
const webhook = await interaction.channel.createWebhook(member.user.username, {
avatar: member.user.displayAvatarURL(),
reason: `Fakebot/user command triggered by: ${interaction.user.username}`,
});
if (attachment) {
await webhook.send({ content: message, files: [attachment] });
}
else {
await webhook.send({ content: message });
}
await webhook.delete(`Fakebot/user command triggered by: ${interaction.user.username}`);
await interaction.editReply({ content: `Faked the user ${member}` });
},
};

View file

@ -85,6 +85,22 @@ const commands = [
new SlashCommandBuilder() new SlashCommandBuilder()
.setName('stats') .setName('stats')
.setDescription('Show some stats about the bot'), .setDescription('Show some stats about the bot'),
new SlashCommandBuilder()
.setName('fakeuser')
.setDescription('Fake a user with webhooks')
.addMentionableOption(option =>
option.setName('user')
.setDescription('Who do you want to fake?')
.setRequired(true))
.addStringOption(option =>
option.setName('message')
.setDescription('What message do you want me to send?')
.setRequired(true))
.addAttachmentOption(option =>
option.setName('image')
.setDescription('Optional attachment (Image only.)')
.setRequired(false)),
] ]
.map(command => command.toJSON()); .map(command => command.toJSON());