1
0
Fork 0

Actually fix partial messages

akairo
loicbersier 4 years ago
parent 890d294f9d
commit 00389b326d

@ -31,263 +31,263 @@ class messageListener extends Listener {
return console.error(err); return console.error(err);
}); });
} else { } else {
return; if (message.author.bot) return;
}
if (message.author.bot) return; /* Banned words section
*
* This section contains code about the banned words features
*
*/
/* Banned words section // Banned words
* const bannedWords = await BannedWords.findAll({where: {word: Sequelize.where(Sequelize.fn('LOCATE', Sequelize.col('word'), message.content.replace(/\u200B/g, '').replace(/[\u0250-\ue007]/g, '')), Sequelize.Op.ne, 0), serverID: message.guild.id}});
* This section contains code about the banned words features const whitelistWord = await WhitelistWord.findAll({where: {word: Sequelize.where(Sequelize.fn('LOCATE', Sequelize.col('word'), message.content.replace(/\u200B/g, '').replace(/[\u0250-\ue007]/g, '')), Sequelize.Op.ne, 0), serverID: message.guild.id}});
*
*/
// Banned words if (whitelistWord[0]) {
const bannedWords = await BannedWords.findAll({where: {word: Sequelize.where(Sequelize.fn('LOCATE', Sequelize.col('word'), message.content.replace(/\u200B/g, '').replace(/[\u0250-\ue007]/g, '')), Sequelize.Op.ne, 0), serverID: message.guild.id}}); return; // If word is whitelisted just return
const whitelistWord = await WhitelistWord.findAll({where: {word: Sequelize.where(Sequelize.fn('LOCATE', Sequelize.col('word'), message.content.replace(/\u200B/g, '').replace(/[\u0250-\ue007]/g, '')), Sequelize.Op.ne, 0), serverID: message.guild.id}});
if (whitelistWord[0]) {
return; // If word is whitelisted just return
}
if (bannedWords[0]) {
// Remove accent
let censoredMessage = message.content.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '');
// Remove zero width space character
censoredMessage = censoredMessage.replace(/\u200B/g, '');
// Remove non latin character
censoredMessage = censoredMessage.replace(/[\u0250-\ue007]/g, '');
for (let i = 0; i < bannedWords.length; i++) {
if (!safe(bannedWords[i].get('word'))) return;
let regex = new RegExp(bannedWords[i].get('word'), 'g');
censoredMessage = censoredMessage.replace(regex, '█'.repeat(bannedWords[i].get('word').length));
} }
let Embed = this.client.util.embed()
.setColor(message.member.displayHexColor)
.setAuthor(message.author.username, message.author.displayAvatarURL())
.setDescription(censoredMessage);
message.channel.send(Embed); if (bannedWords[0]) {
return message.delete({reason: `Deleted message: ${message.content}`}); // Remove accent
let censoredMessage = message.content.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '');
// Remove zero width space character
censoredMessage = censoredMessage.replace(/\u200B/g, '');
// Remove non latin character
censoredMessage = censoredMessage.replace(/[\u0250-\ue007]/g, '');
} else { for (let i = 0; i < bannedWords.length; i++) {
/* Autoresponse feature & tag if (!safe(bannedWords[i].get('word'))) return;
* let regex = new RegExp(bannedWords[i].get('word'), 'g');
* This section contains autoresponse and tag feature censoredMessage = censoredMessage.replace(regex, '█'.repeat(bannedWords[i].get('word').length));
*
*/
// auto responses
const autoresponseStat = await autoResponseStat.findOne({where: {serverID: message.guild.id, stat: 'enable'}});
if (autoresponseStat) {
// Infinit haha very yes
if (message.content.toLowerCase().startsWith('haha very') && message.content.toLowerCase().endsWith('yes')) {
let yes = message.content.toLowerCase().replace('haha', '');
yes = yes.replace('yes', '');
yes += 'very';
return message.channel.send(`haha${yes} yes`);
} else if (message.content.toLowerCase() == 'haha yes') {
return message.channel.send('haha very yes');
} }
let Embed = this.client.util.embed()
.setColor(message.member.displayHexColor)
.setAuthor(message.author.username, message.author.displayAvatarURL())
.setDescription(censoredMessage);
// Reply with images as attachement message.channel.send(Embed);
const autoresponse = await autoResponse.findOne({where: {trigger: message.content.toLowerCase()}}); return message.delete({reason: `Deleted message: ${message.content}`});
if (autoresponse) { } else {
autoResponse.findOne({where: {trigger: message.content.toLowerCase()}}); /* Autoresponse feature & tag
let trigger = autoresponse.get('trigger'); *
let type = autoresponse.get('type'); * This section contains autoresponse and tag feature
let content = autoresponse.get('response'); *
*/
if (trigger == message.content.toLowerCase() && type == 'text') {
return message.channel.send(content); // auto responses
} else if (trigger == message.content.toLowerCase() && type == 'react') { const autoresponseStat = await autoResponseStat.findOne({where: {serverID: message.guild.id, stat: 'enable'}});
return message.react(content); if (autoresponseStat) {
} else if (trigger == message.content.toLowerCase() && type == 'image') { // Infinit haha very yes
return message.channel.send({files: [content]}); if (message.content.toLowerCase().startsWith('haha very') && message.content.toLowerCase().endsWith('yes')) {
let yes = message.content.toLowerCase().replace('haha', '');
yes = yes.replace('yes', '');
yes += 'very';
return message.channel.send(`haha${yes} yes`);
} else if (message.content.toLowerCase() == 'haha yes') {
return message.channel.send('haha very yes');
} }
}
}
// User autoresponse // Reply with images as attachement
const tag = await Tag.findOne({where: {trigger: message.content.toLowerCase(), serverID: message.guild.id}}); const autoresponse = await autoResponse.findOne({where: {trigger: message.content.toLowerCase()}});
if (tag) {
Tag.findOne({where: {trigger: message.content.toLowerCase(), serverID: message.guild.id}}); if (autoresponse) {
let text = tag.get('response'); autoResponse.findOne({where: {trigger: message.content.toLowerCase()}});
if (text.includes('[ban]')) { let trigger = autoresponse.get('trigger');
message.member.ban('Tag ban :^)'); let type = autoresponse.get('type');
} else if (text.includes('[kick]')) { let content = autoresponse.get('response');
message.member.kick('Tag kick :^)');
} else if (text.includes('[delete]')) { if (trigger == message.content.toLowerCase() && type == 'text') {
message.delete(); return message.channel.send(content);
} } else if (trigger == message.content.toLowerCase() && type == 'react') {
return message.react(content);
text = rand.random(text, message); } else if (trigger == message.content.toLowerCase() && type == 'image') {
return message.channel.send({files: [content]});
let attach = '';
if (text.includes('[attach:')) {
attach = text.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;
} }
} }
text = text.replace(/(\[attach:.*?])/, '');
} }
// THIS SECTION IS VERY VERY BAD MUST CHANGE // User autoresponse
if (text.includes('[embed]')) { const tag = await Tag.findOne({where: {trigger: message.content.toLowerCase(), serverID: message.guild.id}});
text = text.replace(/\[embed\]/, ' '); if (tag) {
Tag.findOne({where: {trigger: message.content.toLowerCase(), serverID: message.guild.id}});
let title = ''; let text = tag.get('response');
let desc = ''; if (text.includes('[ban]')) {
let image; message.member.ban('Tag ban :^)');
let thumbnail; } else if (text.includes('[kick]')) {
let footer = ''; message.member.kick('Tag kick :^)');
let color; } else if (text.includes('[delete]')) {
message.delete();
if (text.includes('[embedImage:')) { }
image = text.split(/(\[embedImage:.*?])/);
text = rand.random(text, message);
for (let i = 0, l = image.length; i < l; i++) {
if (image[i].includes('[embedImage:')) { let attach = '';
image = image[i].replace('[embedImage:', '').slice(0, -1);
text = text.replace(/(\[embedimage:.*?])/g, ''); if (text.includes('[attach:')) {
i = image.length; attach = text.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;
} }
} }
text = text.replace(/(\[attach:.*?])/, '');
} }
if (text.includes('[embedThumbnail:')) { // THIS SECTION IS VERY VERY BAD MUST CHANGE
thumbnail = text.split(/(\[embedThumbnail:.*?])/); if (text.includes('[embed]')) {
text = text.replace(/\[embed\]/, ' ');
for (let i = 0, l = thumbnail.length; i < l; i++) {
if (thumbnail[i].includes('[embedThumbnail:')) { let title = '';
thumbnail = thumbnail[i].replace('[embedThumbnail:', '').slice(0, -1); let desc = '';
text = text.replace(/(\[embedThumbnail:.*?])/g, ''); let image;
i = thumbnail.length; let thumbnail;
let footer = '';
let color;
if (text.includes('[embedImage:')) {
image = text.split(/(\[embedImage:.*?])/);
for (let i = 0, l = image.length; i < l; i++) {
if (image[i].includes('[embedImage:')) {
image = image[i].replace('[embedImage:', '').slice(0, -1);
text = text.replace(/(\[embedimage:.*?])/g, '');
i = image.length;
}
} }
} }
}
if (text.includes('[embedThumbnail:')) {
if (text.includes('[embedColor:')) { thumbnail = text.split(/(\[embedThumbnail:.*?])/);
color = text.split(/(\[embedColor:.*?])/);
for (let i = 0, l = color.length; i < l; i++) { for (let i = 0, l = thumbnail.length; i < l; i++) {
if (color[i].includes('[embedColor:')) { if (thumbnail[i].includes('[embedThumbnail:')) {
color = color[i].replace('[embedColor:', '').slice(0, -1); thumbnail = thumbnail[i].replace('[embedThumbnail:', '').slice(0, -1);
text = text.replace(/(\[embedColor:.*?])/g, ''); text = text.replace(/(\[embedThumbnail:.*?])/g, '');
i = color.length; i = thumbnail.length;
}
} }
} }
}
if (text.includes('[embedColor:')) {
color = text.split(/(\[embedColor:.*?])/);
if (text.includes('[embedTitle:')) { for (let i = 0, l = color.length; i < l; i++) {
title = text.split(/(\[embedTitle:.*?])/); if (color[i].includes('[embedColor:')) {
for (let i = 0, l = title.length; i < l; i++) { color = color[i].replace('[embedColor:', '').slice(0, -1);
if (title[i].includes('[embedTitle:')) { text = text.replace(/(\[embedColor:.*?])/g, '');
title = title[i].replace('[embedTitle:', '').slice(0, -1); i = color.length;
text = text.replace(/(\[embedTitle:.*?])/g, ''); }
i = title.length;
} }
} }
}
if (text.includes('[embedFooter:')) { if (text.includes('[embedTitle:')) {
footer = text.split(/(\[embedFooter:.*?])/); title = text.split(/(\[embedTitle:.*?])/);
for (let i = 0, l = footer.length; i < l; i++) { for (let i = 0, l = title.length; i < l; i++) {
if (footer[i].includes('[embedFooter:')) { if (title[i].includes('[embedTitle:')) {
footer = footer[i].replace('[embedFooter:', '').slice(0, -1); title = title[i].replace('[embedTitle:', '').slice(0, -1);
text = text.replace(/(\[embedFooter:.*?])/g, ''); text = text.replace(/(\[embedTitle:.*?])/g, '');
i = footer.length; i = title.length;
}
} }
} }
}
if (text.includes('[embedFooter:')) {
if (text.includes('[embedDesc:')) { footer = text.split(/(\[embedFooter:.*?])/);
desc = text.split(/(\[embedDesc:.*?])/); for (let i = 0, l = footer.length; i < l; i++) {
for (let i = 0, l = desc.length; i < l; i++) { if (footer[i].includes('[embedFooter:')) {
if (desc[i].includes('[embedDesc:')) { footer = footer[i].replace('[embedFooter:', '').slice(0, -1);
desc = desc[i].replace('[embedDesc:', '').slice(0, -1); text = text.replace(/(\[embedFooter:.*?])/g, '');
i = desc.length; i = footer.length;
}
}
}
if (text.includes('[embedDesc:')) {
desc = text.split(/(\[embedDesc:.*?])/);
for (let i = 0, l = desc.length; i < l; i++) {
if (desc[i].includes('[embedDesc:')) {
desc = desc[i].replace('[embedDesc:', '').slice(0, -1);
i = desc.length;
}
} }
} }
const embed = this.client.util.embed()
.setColor(color)
.setTitle(title)
.setImage(image)
.setThumbnail(thumbnail)
.setDescription(desc)
.setFooter(footer)
.setTimestamp();
if (attach) {
return message.channel.send(embed, {files: [attach]});
} else {
return message.channel.send(embed);
}
} }
const embed = this.client.util.embed()
.setColor(color)
.setTitle(title)
.setImage(image)
.setThumbnail(thumbnail)
.setDescription(desc)
.setFooter(footer)
.setTimestamp();
if (attach) { if (attach) {
return message.channel.send(embed, {files: [attach]}); return message.channel.send(text, {files: [attach]});
} else { } else {
return message.channel.send(embed); return message.channel.send(text);
} }
} }
if (attach) {
return message.channel.send(text, {files: [attach]});
} else {
return message.channel.send(text);
}
} /* Quotation feature
*
* This section will contain the code for the quotation feature, it will detect link for it and send it as embed
*
*/
const quotationstat = await quotationStat.findOne({where: {serverID: message.guild.id, stat: 'enable'}});
/* Quotation feature if (quotationstat && message.content.includes('discordapp.com/channels/')) {
* let url = message.content.split('/');
* This section will contain the code for the quotation feature, it will detect link for it and send it as embed let guildID = url[4];
* let channelID = url[5];
*/ let messageID = url[6].split(' ')[0];
const quotationstat = await quotationStat.findOne({where: {serverID: message.guild.id, stat: 'enable'}});
if (quotationstat && message.content.includes('discordapp.com/channels/')) {
let url = message.content.split('/');
let guildID = url[4];
let channelID = url[5];
let messageID = url[6].split(' ')[0];
// Verify if the guild, channel and message exist
let guild = this.client.guilds.resolve(guildID);
if (!guild) return;
let channel = this.client.channels.resolve(channelID);
if (!channel) return;
let quote = await channel.messages.fetch(messageID)
.catch(() => {
return;
});
if (!quote) return;
let Embed = this.client.util.embed()
.setAuthor(quote.author.username, quote.author.displayAvatarURL()) // Verify if the guild, channel and message exist
.setColor(message.member ? message.member.displayHexColor : 'NAVY') let guild = this.client.guilds.resolve(guildID);
.addField('Jump to', `[message](https://discordapp.com/channels/${message.guild.id}/${channelID}/${messageID})`, true) if (!guild) return;
.addField('In channel', quote.channel.name, true) let channel = this.client.channels.resolve(channelID);
.addField('Quoted by', message.author, true) if (!channel) return;
.setDescription(quote.content) let quote = await channel.messages.fetch(messageID)
.setTimestamp(quote.createdTimestamp); .catch(() => {
return;
if (quote.member) Embed.setAuthor(`${quote.author.username}#${quote.author.discriminator}`, quote.author.displayAvatarURL()); });
if (!quote) return;
if (quote.author.bot) Embed.setAuthor(`${quote.author.username}#${quote.author.discriminator} (bot)`, quote.author.displayAvatarURL());
let Embed = this.client.util.embed()
if (guild.id != message.guild.id) Embed.addField('In guild', guild.name, true); .setAuthor(quote.author.username, quote.author.displayAvatarURL())
let Attachment = (quote.attachments).array(); .setColor(message.member ? message.member.displayHexColor : 'NAVY')
if (Attachment[0]) Embed.setImage(Attachment[0].url); .addField('Jump to', `[message](https://discordapp.com/channels/${message.guild.id}/${channelID}/${messageID})`, true)
.addField('In channel', quote.channel.name, true)
return message.channel.send(Embed); .addField('Quoted by', message.author, true)
.setDescription(quote.content)
.setTimestamp(quote.createdTimestamp);
if (quote.member) Embed.setAuthor(`${quote.author.username}#${quote.author.discriminator}`, quote.author.displayAvatarURL());
if (quote.author.bot) Embed.setAuthor(`${quote.author.username}#${quote.author.discriminator} (bot)`, quote.author.displayAvatarURL());
if (guild.id != message.guild.id) Embed.addField('In guild', guild.name, true);
let Attachment = (quote.attachments).array();
if (Attachment[0]) Embed.setImage(Attachment[0].url);
return message.channel.send(Embed);
}
} }
} }
} }
} }

@ -12,61 +12,59 @@ class MessageReactionAddListener extends Listener {
} }
async exec(reaction) { async exec(reaction) {
let starboardChannel, shameboardChannel;
let reactionCount = reaction.count;
if (reaction.message.partial) { if (reaction.message.partial) {
await reaction.message.fetch() await reaction.message.fetch()
.catch(err => { .catch(err => {
return console.error(err); return console.error(err);
}); });
} else { } else {
return; // If one of the reaction is the author of the message remove 1 to the reaction count
} reaction.users.cache.forEach(user => {
if (reaction.message.author == user) reactionCount--;
let starboardChannel, shameboardChannel; });
let reactionCount = reaction.count;
// Starboard
// If one of the reaction is the author of the message remove 1 to the reaction count if (fs.existsSync(`./board/star${reaction.message.guild.id}.json`)) {
reaction.users.cache.forEach(user => { starboardChannel = require(`../../board/star${reaction.message.guild.id}.json`);
if (reaction.message.author == user) reactionCount--; let staremote = starboardChannel.emote;
}); let starcount = starboardChannel.count;
delete require.cache[require.resolve(`../../board/star${reaction.message.guild.id}.json`)]; // Delete the boardChannel cache so it can reload it next time
// Starboard
if (fs.existsSync(`./board/star${reaction.message.guild.id}.json`)) { // Get name of the custom emoji
starboardChannel = require(`../../board/star${reaction.message.guild.id}.json`); if (reaction.message.guild.emojis.resolve(staremote.replace(/\D/g,''))) {
let staremote = starboardChannel.emote; staremote = reaction.message.guild.emojis.resolve(staremote.replace(/\D/g,''));
let starcount = starboardChannel.count; }
delete require.cache[require.resolve(`../../board/star${reaction.message.guild.id}.json`)]; // Delete the boardChannel cache so it can reload it next time
// Get name of the custom emoji
if (reaction.message.guild.emojis.resolve(staremote.replace(/\D/g,''))) {
staremote = reaction.message.guild.emojis.resolve(staremote.replace(/\D/g,''));
}
if (reaction.emoji == staremote || reaction.emoji.name == staremote) { if (reaction.emoji == staremote || reaction.emoji.name == staremote) {
if (messageID[reaction.message.id] && reactionCount > starcount) { if (messageID[reaction.message.id] && reactionCount > starcount) {
return editEmbed('starboard', staremote, messageID[reaction.message.id], this.client); return editEmbed('starboard', staremote, messageID[reaction.message.id], this.client);
} else if (reactionCount == starcount) { } else if (reactionCount == starcount) {
return sendEmbed('starboard', staremote, this.client); return sendEmbed('starboard', staremote, this.client);
}
} }
} }
}
//Shameboard //Shameboard
if (fs.existsSync(`./board/shame${reaction.message.guild.id}.json`)) { if (fs.existsSync(`./board/shame${reaction.message.guild.id}.json`)) {
shameboardChannel = require(`../../board/shame${reaction.message.guild.id}.json`); shameboardChannel = require(`../../board/shame${reaction.message.guild.id}.json`);
let shameemote = shameboardChannel.emote; let shameemote = shameboardChannel.emote;
let shamecount = shameboardChannel.count; let shamecount = shameboardChannel.count;
delete require.cache[require.resolve(`../../board/shame${reaction.message.guild.id}.json`)]; // Delete the boardChannel cache so it can reload it next time delete require.cache[require.resolve(`../../board/shame${reaction.message.guild.id}.json`)]; // Delete the boardChannel cache so it can reload it next time
// Get name of the custom emoji // Get name of the custom emoji
if (reaction.message.guild.emojis.resolve(shameemote.replace(/\D/g,''))) { if (reaction.message.guild.emojis.resolve(shameemote.replace(/\D/g,''))) {
shameemote = reaction.message.guild.emojis.resolve(shameemote.replace(/\D/g,'')); shameemote = reaction.message.guild.emojis.resolve(shameemote.replace(/\D/g,''));
} }
if (reaction.emoji == shameemote || reaction.emoji.name == shameemote) { if (reaction.emoji == shameemote || reaction.emoji.name == shameemote) {
if (messageID[reaction.message.id] && reactionCount > shamecount) { if (messageID[reaction.message.id] && reactionCount > shamecount) {
return editEmbed('shameboard', shameemote, messageID[reaction.message.id], this.client); return editEmbed('shameboard', shameemote, messageID[reaction.message.id], this.client);
} else if (reactionCount == shamecount) { } else if (reactionCount == shamecount) {
return sendEmbed('shameboard', shameemote, this.client); return sendEmbed('shameboard', shameemote, this.client);
}
} }
} }
} }
@ -86,7 +84,7 @@ class MessageReactionAddListener extends Listener {
// If the original embed description is empty make this embed empty ( and not undefined ) // If the original embed description is empty make this embed empty ( and not undefined )
let description = message.embeds[0].description; let description = message.embeds[0].description;
if (!message.embeds[0].description || message.embeds[0].description == undefined) if (!message.embeds[0].description || message.embeds[0].description == undefined)
description = ''; description = '';
let Embed = client.util.embed() let Embed = client.util.embed()

@ -11,67 +11,65 @@ class messageReactionRemoveListener extends Listener {
} }
async exec(reaction) { async exec(reaction) {
let starboardChannel, shameboardChannel;
let reactionCount = reaction.count;
if (reaction.message.partial) { if (reaction.message.partial) {
await reaction.message.fetch() await reaction.message.fetch()
.catch(err => { .catch(err => {
return console.error(err); return console.error(err);
}); });
} else { } else {
return; // If one of the reaction removed is the author of the message add 1 to the reaction count
} reaction.users.cache.forEach(user => {
if (reaction.message.author == user) reactionCount++;
let starboardChannel, shameboardChannel; });
let reactionCount = reaction.count;
// Starboard
// If one of the reaction removed is the author of the message add 1 to the reaction count if (fs.existsSync(`./board/star${reaction.message.guild.id}.json`)) {
reaction.users.cache.forEach(user => { starboardChannel = require(`../../board/star${reaction.message.guild.id}.json`);
if (reaction.message.author == user) reactionCount++; let staremote = starboardChannel.emote;
}); let starcount = starboardChannel.count;
delete require.cache[require.resolve(`../../board/star${reaction.message.guild.id}.json`)]; // Delete the boardChannel cache so it can reload it next time
// Starboard
if (fs.existsSync(`./board/star${reaction.message.guild.id}.json`)) { // Get name of the custom emoji
starboardChannel = require(`../../board/star${reaction.message.guild.id}.json`); if (reaction.message.guild.emojis.resolve(staremote.replace(/\D/g,''))) {
let staremote = starboardChannel.emote; staremote = reaction.message.guild.emojis.resolve(staremote.replace(/\D/g,''));
let starcount = starboardChannel.count; }
delete require.cache[require.resolve(`../../board/star${reaction.message.guild.id}.json`)]; // Delete the boardChannel cache so it can reload it next time
if (messageID[reaction.message.id] && (reaction.emoji == staremote || reaction.emoji.name == staremote) && reactionCount < starcount) {
// Get name of the custom emoji let channel = this.client.channels.resolve(starboardChannel.starboard);
if (reaction.message.guild.emojis.resolve(staremote.replace(/\D/g,''))) { let message = await channel.messages.resolve(messageID[reaction.message.id]);
staremote = reaction.message.guild.emojis.resolve(staremote.replace(/\D/g,'')); delete messageID[reaction.message.id];
} // If it didn't find any message don't do anything
if (!message) return;
if (messageID[reaction.message.id] && (reaction.emoji == staremote || reaction.emoji.name == staremote) && reactionCount < starcount) {
let channel = this.client.channels.resolve(starboardChannel.starboard); message.delete();
let message = await channel.messages.resolve(messageID[reaction.message.id]); } else if ((reaction.emoji == staremote || reaction.emoji.name == staremote) && reactionCount >= starcount) {
delete messageID[reaction.message.id]; return editEmbed('starboard', staremote, messageID[reaction.message.id], this.client);
// If it didn't find any message don't do anything }
if (!message) return;
message.delete();
} else if ((reaction.emoji == staremote || reaction.emoji.name == staremote) && reactionCount >= starcount) {
return editEmbed('starboard', staremote, messageID[reaction.message.id], this.client);
}
}
//Shameboard
if (fs.existsSync(`./board/shame${reaction.message.guild.id}.json`)) {
shameboardChannel = require(`../../board/shame${reaction.message.guild.id}.json`);
let shameemote = shameboardChannel.emote;
let shamecount = shameboardChannel.count;
delete require.cache[require.resolve(`../../board/shame${reaction.message.guild.id}.json`)]; // Delete the boardChannel cache so it can reload it next time
// Get name of the custom emoji
if (reaction.message.guild.emojis.resolve(shameemote.replace(/\D/g,''))) {
shameemote = reaction.message.guild.emojis.resolve(shameemote.replace(/\D/g,''));
} }
if (messageID[reaction.message.id] && (reaction.emoji == shameemote || reaction.emoji.name == shameemote) && reactionCount < shamecount) { //Shameboard
let channel = this.client.channels.resolve(shameboardChannel.shameboard); if (fs.existsSync(`./board/shame${reaction.message.guild.id}.json`)) {
let message = await channel.messages.resolve(messageID[reaction.message.id]); shameboardChannel = require(`../../board/shame${reaction.message.guild.id}.json`);
delete messageID[reaction.message.id]; let shameemote = shameboardChannel.emote;
message.delete(); let shamecount = shameboardChannel.count;
} else if ((reaction.emoji == shameemote || reaction.emoji.name == shameemote) && reactionCount >= shamecount) { delete require.cache[require.resolve(`../../board/shame${reaction.message.guild.id}.json`)]; // Delete the boardChannel cache so it can reload it next time
return editEmbed('shameboard', shameemote, messageID[reaction.message.id], this.client);
// Get name of the custom emoji
if (reaction.message.guild.emojis.resolve(shameemote.replace(/\D/g,''))) {
shameemote = reaction.message.guild.emojis.resolve(shameemote.replace(/\D/g,''));
}
if (messageID[reaction.message.id] && (reaction.emoji == shameemote || reaction.emoji.name == shameemote) && reactionCount < shamecount) {
let channel = this.client.channels.resolve(shameboardChannel.shameboard);
let message = await channel.messages.resolve(messageID[reaction.message.id]);
delete messageID[reaction.message.id];
message.delete();
} else if ((reaction.emoji == shameemote || reaction.emoji.name == shameemote) && reactionCount >= shamecount) {
return editEmbed('shameboard', shameemote, messageID[reaction.message.id], this.client);
}
} }
} }
@ -90,7 +88,7 @@ class messageReactionRemoveListener extends Listener {
// If the original embed description is empty make this embed empty ( and not undefined ) // If the original embed description is empty make this embed empty ( and not undefined )
let description = message.embeds[0].description; let description = message.embeds[0].description;
if (!message.embeds[0].description || message.embeds[0].description == undefined) if (!message.embeds[0].description || message.embeds[0].description == undefined)
description = ''; description = '';
let Embed = client.util.embed() let Embed = client.util.embed()

Loading…
Cancel
Save