moved thing to if message.guild

Signed-off-by: loicbersier <loic.bersier1@gmail.com>
This commit is contained in:
loicbersier 2020-09-04 18:55:04 +02:00
parent 744a476e91
commit 7a37e749be

View file

@ -81,213 +81,215 @@ class messageListener extends Listener {
*/ */
// auto responses // auto responses
const autoresponseStat = await autoResponseStat.findOne({where: {serverID: message.guild.id, stat: 'enable'}}); if (message.guild) {
if (autoresponseStat) { const autoresponseStat = await autoResponseStat.findOne({where: {serverID: message.guild.id, stat: 'enable'}});
// Infinit haha very yes if (autoresponseStat) {
if (message.content.toLowerCase().startsWith('haha very') && message.content.toLowerCase().endsWith('yes')) { // Infinit haha very yes
let yes = message.content.toLowerCase().replace('haha', ''); if (message.content.toLowerCase().startsWith('haha very') && message.content.toLowerCase().endsWith('yes')) {
yes = yes.replace('yes', ''); let yes = message.content.toLowerCase().replace('haha', '');
yes += 'very'; yes = yes.replace('yes', '');
return message.channel.send(`haha${yes} yes`); yes += 'very';
} else if (message.content.toLowerCase() == 'haha yes') { return message.channel.send(`haha${yes} yes`);
return message.channel.send('haha very yes'); } else if (message.content.toLowerCase() == 'haha yes') {
return message.channel.send('haha very yes');
}
// Reply with images as attachement
const autoresponse = await autoResponse.findOne({where: {trigger: message.content.toLowerCase()}});
if (autoresponse) {
autoResponse.findOne({where: {trigger: message.content.toLowerCase()}});
let trigger = autoresponse.get('trigger');
let type = autoresponse.get('type');
let content = autoresponse.get('response');
if (trigger == message.content.toLowerCase() && type == 'text') {
return message.channel.send(content);
} else if (trigger == message.content.toLowerCase() && type == 'react') {
return message.react(content);
} else if (trigger == message.content.toLowerCase() && type == 'image') {
return message.channel.send({files: [content]});
}
}
} }
// Reply with images as attachement // User autoresponse
const autoresponse = await autoResponse.findOne({where: {trigger: message.content.toLowerCase()}}); const tag = await Tag.findOne({where: {trigger: message.content.toLowerCase(), serverID: message.guild.id}});
if (tag) {
if (autoresponse) { Tag.findOne({where: {trigger: message.content.toLowerCase(), serverID: message.guild.id}});
autoResponse.findOne({where: {trigger: message.content.toLowerCase()}}); let text = tag.get('response');
let trigger = autoresponse.get('trigger'); if (text.includes('[ban]')) {
let type = autoresponse.get('type'); message.member.ban('Tag ban :^)');
let content = autoresponse.get('response'); } else if (text.includes('[kick]')) {
message.member.kick('Tag kick :^)');
if (trigger == message.content.toLowerCase() && type == 'text') { } else if (text.includes('[delete]')) {
return message.channel.send(content); message.delete();
} else if (trigger == message.content.toLowerCase() && type == 'react') {
return message.react(content);
} else if (trigger == message.content.toLowerCase() && type == 'image') {
return message.channel.send({files: [content]});
} }
}
}
// User autoresponse text = rand.random(text, message);
const tag = await Tag.findOne({where: {trigger: message.content.toLowerCase(), serverID: message.guild.id}});
if (tag) {
Tag.findOne({where: {trigger: message.content.toLowerCase(), serverID: message.guild.id}});
let text = tag.get('response');
if (text.includes('[ban]')) {
message.member.ban('Tag ban :^)');
} else if (text.includes('[kick]')) {
message.member.kick('Tag kick :^)');
} else if (text.includes('[delete]')) {
message.delete();
}
text = rand.random(text, message); let attach = '';
let attach = ''; if (text.includes('[attach:')) {
attach = text.split(/(\[attach:.*?])/);
if (text.includes('[attach:')) { for (let i = 0, l = attach.length; i < l; i++) {
attach = text.split(/(\[attach:.*?])/); if (attach[i].includes('[attach:')) {
for (let i = 0, l = attach.length; i < l; i++) { attach = attach[i].replace('[attach:', '').slice(0, -1);
if (attach[i].includes('[attach:')) { i = attach.length;
attach = attach[i].replace('[attach:', '').slice(0, -1);
i = attach.length;
}
}
text = text.replace(/(\[attach:.*?])/, '');
}
// THIS SECTION IS VERY VERY BAD MUST CHANGE
if (text.includes('[embed]')) {
text = text.replace(/\[embed\]/, ' ');
let title = '';
let desc = '';
let image;
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;
} }
} }
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++) { let title = '';
if (thumbnail[i].includes('[embedThumbnail:')) { let desc = '';
thumbnail = thumbnail[i].replace('[embedThumbnail:', '').slice(0, -1); let image;
text = text.replace(/(\[embedThumbnail:.*?])/g, ''); let thumbnail;
i = thumbnail.length; 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('[embedColor:')) { if (text.includes('[embedThumbnail:')) {
color = text.split(/(\[embedColor:.*?])/); thumbnail = text.split(/(\[embedThumbnail:.*?])/);
for (let i = 0, l = color.length; i < l; i++) {
if (color[i].includes('[embedColor:')) { for (let i = 0, l = thumbnail.length; i < l; i++) {
color = color[i].replace('[embedColor:', '').slice(0, -1); if (thumbnail[i].includes('[embedThumbnail:')) {
text = text.replace(/(\[embedColor:.*?])/g, ''); thumbnail = thumbnail[i].replace('[embedThumbnail:', '').slice(0, -1);
i = color.length; text = text.replace(/(\[embedThumbnail:.*?])/g, '');
i = thumbnail.length;
}
} }
} }
}
if (text.includes('[embedColor:')) {
if (text.includes('[embedTitle:')) { color = text.split(/(\[embedColor:.*?])/);
title = text.split(/(\[embedTitle:.*?])/); for (let i = 0, l = color.length; i < l; i++) {
for (let i = 0, l = title.length; i < l; i++) { if (color[i].includes('[embedColor:')) {
if (title[i].includes('[embedTitle:')) { color = color[i].replace('[embedColor:', '').slice(0, -1);
title = title[i].replace('[embedTitle:', '').slice(0, -1); text = text.replace(/(\[embedColor:.*?])/g, '');
text = text.replace(/(\[embedTitle:.*?])/g, ''); i = color.length;
i = title.length; }
} }
} }
}
if (text.includes('[embedFooter:')) {
footer = text.split(/(\[embedFooter:.*?])/); if (text.includes('[embedTitle:')) {
for (let i = 0, l = footer.length; i < l; i++) { title = text.split(/(\[embedTitle:.*?])/);
if (footer[i].includes('[embedFooter:')) { for (let i = 0, l = title.length; i < l; i++) {
footer = footer[i].replace('[embedFooter:', '').slice(0, -1); if (title[i].includes('[embedTitle:')) {
text = text.replace(/(\[embedFooter:.*?])/g, ''); title = title[i].replace('[embedTitle:', '').slice(0, -1);
i = footer.length; text = text.replace(/(\[embedTitle:.*?])/g, '');
i = title.length;
}
} }
} }
}
if (text.includes('[embedDesc:')) { if (text.includes('[embedFooter:')) {
desc = text.split(/(\[embedDesc:.*?])/); footer = text.split(/(\[embedFooter:.*?])/);
for (let i = 0, l = desc.length; i < l; i++) { for (let i = 0, l = footer.length; i < l; i++) {
if (desc[i].includes('[embedDesc:')) { if (footer[i].includes('[embedFooter:')) {
desc = desc[i].replace('[embedDesc:', '').slice(0, -1); footer = footer[i].replace('[embedFooter:', '').slice(0, -1);
i = desc.length; text = text.replace(/(\[embedFooter:.*?])/g, '');
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]}); /* Quotation feature
} else { *
return message.channel.send(text); * 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'}});
if (quotationstat && (message.content.includes('discordapp.com/channels/') || message.content.includes('discord.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())
.setColor(message.member ? message.member.displayHexColor : 'NAVY')
.addField('Jump to', `[message](https://discordapp.com/channels/${message.guild.id}/${channelID}/${messageID})`, true)
.addField('In channel', quote.channel.name, true)
.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);
} }
}
/* 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'}});
if (quotationstat && (message.content.includes('discordapp.com/channels/') || message.content.includes('discord.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())
.setColor(message.member ? message.member.displayHexColor : 'NAVY')
.addField('Jump to', `[message](https://discordapp.com/channels/${message.guild.id}/${channelID}/${messageID})`, true)
.addField('In channel', quote.channel.name, true)
.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);
} }
} }
} }