60 lines
No EOL
1.9 KiB
JavaScript
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; |