62 lines
No EOL
1.6 KiB
JavaScript
62 lines
No EOL
1.6 KiB
JavaScript
const { Command } = require('discord-akairo');
|
|
const fs = require('fs');
|
|
const reload = require('auto-reload');
|
|
|
|
class fakebotCommand extends Command {
|
|
constructor() {
|
|
super('fakebot', {
|
|
aliases: ['fakebot', 'fakeuser', 'fakemember'],
|
|
category: 'fun',
|
|
clientPermissions: ['MANAGE_WEBHOOKS'],
|
|
args: [
|
|
{
|
|
id: 'member',
|
|
type: 'user',
|
|
prompt: {
|
|
start: 'Who should i fake?',
|
|
}
|
|
},
|
|
{
|
|
id: 'message',
|
|
type: 'string',
|
|
prompt: {
|
|
start: 'What message should i send?',
|
|
},
|
|
match: 'rest',
|
|
}
|
|
],
|
|
description: {
|
|
content: 'Fake a bot/user with webhook',
|
|
usage: '',
|
|
examples: ['']
|
|
}
|
|
});
|
|
}
|
|
|
|
async exec(message, args) {
|
|
if (!fs.existsSync(`./webhook/${message.guild.id}_${message.channel.id}.json`)) {
|
|
message.channel.createWebhook('fakebot')
|
|
.then(webhook => {
|
|
fs.writeFile(`./webhook/${message.guild.id}_${message.channel.id}.json`, `{"id": "${webhook.id}", "token": "${webhook.token}", "channel": "${message.channel.id}"}`, function (err) {
|
|
if (err) {
|
|
console.log(err);
|
|
}
|
|
return message.channel.send('Please run me again to send the message!');
|
|
});
|
|
});
|
|
} else {
|
|
let webhook = reload(`../../webhook/${message.guild.id}_${message.channel.id}.json`);
|
|
this.client.fetchWebhook(webhook.id, webhook.token)
|
|
.then(webhook => {
|
|
webhook.edit({
|
|
name: args.member.username,
|
|
avatar: args.member.displayAvatarURL()
|
|
});
|
|
|
|
message.delete();
|
|
return webhook.send(args.message);
|
|
});
|
|
}
|
|
}
|
|
}
|
|
module.exports = fakebotCommand; |