forked from Supositware/Haha-Yes
Merge branch 'master' of https://gitlab.com/loicbersier/discordbot
commit
7a1c55e935
@ -0,0 +1,62 @@
|
||||
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;
|
@ -0,0 +1,70 @@
|
||||
const { Command } = require('discord-akairo');
|
||||
const fs = require('fs');
|
||||
const rand = require('../../rand.js');
|
||||
|
||||
class fakejoinCommand extends Command {
|
||||
constructor() {
|
||||
super('fakejoin', {
|
||||
aliases: ['fakejoin'],
|
||||
category: 'admin',
|
||||
channelRestriction: 'guild',
|
||||
args: [
|
||||
{
|
||||
id: 'member',
|
||||
type: 'string',
|
||||
match: 'rest'
|
||||
}
|
||||
],
|
||||
description: {
|
||||
content: 'Fake join message',
|
||||
usage: '[text]',
|
||||
examples: ['Supositware']
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
async exec(message, args) {
|
||||
if (fs.existsSync(`./welcome/${message.guild.id}.json`)) {
|
||||
let member;
|
||||
if (args.member) {
|
||||
member = args.member;
|
||||
} else {
|
||||
member = message.author.username;
|
||||
}
|
||||
|
||||
let welcome = require(`../../welcome/${message.guild.id}.json`);
|
||||
|
||||
const channel = this.client.channels.get(welcome['channel']);
|
||||
|
||||
let byeMessage = welcome['message'];
|
||||
|
||||
byeMessage = byeMessage.replace(/\[member\]/, member);
|
||||
byeMessage = byeMessage.replace(/\[server\]/, message.guild.name);
|
||||
|
||||
let attach;
|
||||
if (byeMessage.includes('[attach:')) {
|
||||
attach = byeMessage.split(/(\[attach:.*?])/);
|
||||
for (let i = 0, l = attach.length; i < l; i++) {
|
||||
if (attach[i].includes('[attach:')) {
|
||||
attach = attach[i].replace('[attach:', '').slice(0, -1);
|
||||
i = attach.length;
|
||||
}
|
||||
}
|
||||
byeMessage = byeMessage.replace(/(\[attach:.*?])/, '');
|
||||
}
|
||||
|
||||
byeMessage = rand.random(byeMessage);
|
||||
|
||||
message.delete();
|
||||
if (attach) {
|
||||
return channel.send(byeMessage, {files: [attach]});
|
||||
} else {
|
||||
return channel.send(byeMessage);
|
||||
}
|
||||
} else {
|
||||
return message.channel.send('The server need a join message first!');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = fakejoinCommand;
|
Loading…
Reference in New Issue