83 lines
No EOL
3.5 KiB
JavaScript
83 lines
No EOL
3.5 KiB
JavaScript
const fs = require('fs');
|
|
const path = require('path');
|
|
const { client, logch } = require("../index.js");
|
|
const logger = require("./logger.js");
|
|
|
|
module.exports = {
|
|
// cache messages
|
|
cache: function () {
|
|
console.log("Caching messages...");
|
|
const msgFiles = fs.readdirSync('./data/messages/').filter(file => file.endsWith('.json'));
|
|
for (const file of msgFiles) {
|
|
idChMsg = file.replace('.json', '').split(/\o+/);
|
|
console.log(idChMsg);
|
|
try {
|
|
client.channels.cache.get(idChMsg[0]).messages.fetch(idChMsg[1])
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
|
|
}
|
|
},
|
|
|
|
// give a role
|
|
give: function (reaction, user) {
|
|
fileMessage = `${reaction.message.channel.id}o${reaction.message.id}`;
|
|
fs.stat(`./data/messages/${fileMessage}.json`, function (err, stat) {
|
|
if (err == null) {
|
|
try {
|
|
member = reaction.message.guild.members.cache.find(mem => mem.user.id == user.id);
|
|
msginfo = JSON.parse(fs.readFileSync(path.resolve(`./data/messages/${fileMessage}.json`)));
|
|
for (let index = 1; index < msginfo.reactnumber + 1; index++) {
|
|
eval(`
|
|
if (msginfo.action${index} && msginfo.emoj${index} == reaction.emoji.name && msginfo.action${index} != "none") {
|
|
|
|
roleactionID = msginfo.action${index};
|
|
console.log(roleactionID);
|
|
memberRole = reaction.message.guild.roles.cache.find(role => role.id == roleactionID);
|
|
member.roles.add(memberRole);
|
|
logger.all(user.tag + " a obtenu le rôle par réaction : " + memberRole.name);
|
|
}`);
|
|
}
|
|
|
|
} catch (err) {
|
|
console.error(err);
|
|
}
|
|
|
|
} else {
|
|
null;
|
|
//console.log('Error: ', err.code);
|
|
}
|
|
});
|
|
},
|
|
|
|
// give a role
|
|
remove: function (reaction, user) {
|
|
fileMessage = `${reaction.message.channel.id}o${reaction.message.id}`;
|
|
fs.stat(`./data/messages/${fileMessage}.json`, function (err, stat) {
|
|
if (err == null) {
|
|
try {
|
|
member = reaction.message.guild.members.cache.find(mem => mem.user.id == user.id);
|
|
msginfo = JSON.parse(fs.readFileSync(path.resolve(`./data/messages/${fileMessage}.json`)));
|
|
for (let index = 1; index < msginfo.reactnumber + 1; index++) {
|
|
eval(`
|
|
if (msginfo.action${index} && msginfo.emoj${index} == reaction.emoji.name && msginfo.action${index} != "none") {
|
|
|
|
roleactionID = msginfo.action${index};
|
|
console.log(roleactionID);
|
|
memberRole = reaction.message.guild.roles.cache.find(role => role.id == roleactionID);
|
|
member.roles.remove(memberRole);
|
|
logger.all(user.tag + " a enlevé son rôle par réaction : " + memberRole.name);
|
|
}`);
|
|
}
|
|
} catch (err) {
|
|
console.error(err);
|
|
}
|
|
|
|
} else {
|
|
null;
|
|
//console.log('Error: ', err.code);
|
|
}
|
|
});
|
|
},
|
|
} |