Haha-Yes/event/listeners/message.js

60 lines
No EOL
1.9 KiB
JavaScript

const { Listener } = require('discord-akairo');
const responseObject = require('../../json/reply.json');
const reactObject = require('../../json/react.json');
const imgResponseObject = require('../../json/imgreply.json');
const rand = require('../../rand.js');
const reload = require('auto-reload');
class messageListener extends Listener {
constructor() {
super('message', {
emitter: 'client',
event: 'message'
});
}
async exec(message) {
let autoresponse = reload('../../json/autoresponse.json');
let message_content = message.content.toLowerCase();
if (message.author.bot) return; {
// If autoresponse is enable send the response
if(autoresponse[message.channel.id] == 'enable') {
// Reply with images as attachement
if(imgResponseObject[message_content]) {
message.channel.send({files: [imgResponseObject[message_content]]});
}
// React only to the messages
else if(reactObject[message_content]) {
message.react(reactObject[message_content]);
}
// auto respond to messages
else if(responseObject[message_content]) {
message.channel.send(responseObject[message_content]);
// If it contain 'like if' react with 👍
} else if (message_content.includes('like if')) {
message.react('\u{1F44D}');
// If it contain 'jeff' react with a jeff emote
} else if (message_content.includes('jeff')) {
message.react('496028845967802378');
}
}
// User autoresponse
let customresponse = reload(`../../tag/${message.guild.id}.json`);
if(customresponse[message_content]) {
let text = customresponse[message_content];
if (text.includes('[ban]')) {
message.member.ban('Tag ban :^)');
} else if (text.includes('[kick]')) {
message.member.kick('Tag kick :^)');
}
text = rand.random(text, message);
message.channel.send(text);
}
}
}
}
module.exports = messageListener;