You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Haha-Yes/commands/general/facebook

66 lines
1.8 KiB
Plaintext

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) => {
console.log(response);
let postID;
if (response.id) {
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}`);
});
}
}
module.exports = facebookCommand;