obama-bot/shitposts.js

34 lines
1.4 KiB
JavaScript
Raw Normal View History

2020-08-04 14:56:01 +00:00
const Discord = require('discord.js');
const client = require('./index').client;
const tChannelID = '740207856288268289';
const emoji = '719181283393142786';
client.on('messageReactionAdd', async function(reaction, user) {
let publish = false;
// Fetch partials
if (reaction.partial) reaction = await reaction.fetch();
if (user.partial) user = await user.fetch();
if (user.bot && user.id != client.user.id) return;
if (reaction.message.channel.id != tChannelID) return;
if (reaction.message.channel.type != 'news') return;
if (reaction.emoji.id != emoji) return;
const count = reaction.message.reactions.cache.filter(e => e.emoji.id == emoji).array()[0].count;
if (count == reaction.message.attachments.array().length > 0 ? 3 : 5) publish = true; // When the message has an attachment, publish it at 3 upvotes, else at 5
// This publishes the message using a direct API call. (Copied from https://github.com/Forcellrus/Discord-Auto-Publisher/blob/master/bot.js)
if (!publish) return;
reaction.message.react(client.emojis.cache.get('730053273561727063')).catch();
await fetch(`https://discord.com/api/v6/channels/${reaction.message.channel.id}/messages/${reaction.message.id}/crosspost`, {
method: 'POST',
headers: {
Authorization: `Bot ${require('./config.json').token}`,
},
});
});