63 lines
No EOL
1.8 KiB
JavaScript
63 lines
No EOL
1.8 KiB
JavaScript
const { Command } = require('discord-akairo');
|
|
const Filter = require('bad-words');
|
|
let filter = new Filter();
|
|
const fetch = require('node-fetch');
|
|
const reload = require('auto-reload');
|
|
const rand = require('../../rand.js');
|
|
const { fbChannel, fbToken } = require('../../config.json');
|
|
|
|
class facebookCommand extends Command {
|
|
constructor() {
|
|
super('facebook', {
|
|
aliases: ['facebook', 'fb'],
|
|
category: 'general',
|
|
args: [
|
|
{
|
|
id: 'text',
|
|
type: 'string',
|
|
match: 'rest'
|
|
}
|
|
],
|
|
description: {
|
|
content: 'Post your message to the bot facebook page',
|
|
usage: '[text]',
|
|
examples: ['epic']
|
|
}
|
|
});
|
|
}
|
|
|
|
async exec(message, args) {
|
|
let text = args.text;
|
|
|
|
let censor = reload('../../json/censor.json');
|
|
let uncensor = reload('../../json/uncensor.json');
|
|
filter.addWords(...censor);
|
|
filter.removeWords(...uncensor);
|
|
|
|
const blacklist = reload('../../json/Blacklist.json');
|
|
const channel = this.client.channels.get(fbChannel);
|
|
|
|
if (blacklist.includes(message.author.id)) {
|
|
return message.channel.send('You have been blacklisted from this command... be less naughty next time.');
|
|
}
|
|
|
|
//Filter out swear word
|
|
text = filter.clean(text);
|
|
|
|
text = rand.random(text, message);
|
|
text = encodeURI(text);
|
|
|
|
fetch(`https://graph.facebook.com/v3.2/1254967721332652/feed?message=${text}&access_token=${fbToken}`, {
|
|
method: 'post',
|
|
}).then((response) => {
|
|
return response.json();
|
|
}).then((response) => {
|
|
let postID = response.id.slice(17);
|
|
message.channel.send(`Go see ur epic post https://www.facebook.com/HahaYesDiscord/posts/${postID}`);
|
|
channel.send(`AUTHOR: ${message.author.username} (${message.author.id}) Sent: ${args.text}\nhttps://www.facebook.com/HahaYesDiscord/posts/${postID}`);
|
|
console.log(response);
|
|
});
|
|
}
|
|
}
|
|
|
|
module.exports = facebookCommand; |