mirror of
https://github.com/System-End/Discord-Bot.git
synced 2026-04-19 19:45:16 +00:00
Add roles update and fixed reaction-roles bug
This commit is contained in:
parent
e9aa9cabae
commit
3d622cc370
2 changed files with 49 additions and 1 deletions
|
|
@ -18,6 +18,7 @@ module.exports = async (client, interaction, args) => {
|
|||
const map = Object.keys(data.Roles)
|
||||
.map((value, index) => {
|
||||
const role = interaction.guild.roles.cache.get(data.Roles[value][0]);
|
||||
if(!role) return;
|
||||
|
||||
return `${data.Roles[value][1].raw} | ${role}`;
|
||||
}).join("\n");
|
||||
|
|
@ -31,6 +32,7 @@ module.exports = async (client, interaction, args) => {
|
|||
|
||||
const mapped = Object.keys(data.Roles).map((value, index) => {
|
||||
const role = interaction.guild.roles.cache.get(data.Roles[value][0]);
|
||||
if(!role) return;
|
||||
|
||||
const generated = {
|
||||
label: `${role.name}`,
|
||||
|
|
@ -51,7 +53,14 @@ module.exports = async (client, interaction, args) => {
|
|||
title: `${upper}・Roles`,
|
||||
desc: `_____ \n\nChoose your roles in the menu! \n\n${map}`,
|
||||
components: [row]
|
||||
}, channel).then((msg) => {
|
||||
}, channel).then(async(msg) => {
|
||||
if(!msg){
|
||||
client.errNormal({
|
||||
error: "I couldn't send the message!\nMake sure I have the correct permissions!",
|
||||
type: 'editreply'
|
||||
}, interaction);
|
||||
return;
|
||||
}
|
||||
data.Message = msg.id;
|
||||
data.save();
|
||||
})
|
||||
|
|
|
|||
39
src/events/guild/guildMemberUpdate.js
Normal file
39
src/events/guild/guildMemberUpdate.js
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
const Discord = require('discord.js');
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {Discord.Client} client
|
||||
* @param {Discord.GuildMember} oldMember
|
||||
* @param {Discord.GuildMember} newMember
|
||||
* @returns
|
||||
*/
|
||||
module.exports = async (client, oldMember, newMember) => {
|
||||
if (!oldMember || !newMember) return;
|
||||
const removedRoles = oldMember.roles.cache.filter(role => !newMember.roles.cache.has(role.id));
|
||||
const addedRoles = newMember.roles.cache.filter(role => !oldMember.roles.cache.has(role.id));
|
||||
if (removedRoles.size === 0 && addedRoles.size === 0 || removedRoles.size === addedRoles.size) return;
|
||||
const logsChannel = await client.getLogs(newMember.guild.id);
|
||||
if (!logsChannel) return;
|
||||
|
||||
var ostring = "";
|
||||
if (removedRoles.size === 0) ostring = "No roles removed";
|
||||
if (removedRoles.size > 0) removedRoles.forEach(element => { ostring += "<@&" + element + "> " });
|
||||
|
||||
var nstring = "";
|
||||
if (addedRoles.size > 0) addedRoles.forEach(element => { nstring += "<@&" + element + "> " });
|
||||
|
||||
client.embed({
|
||||
title: `${newMember.user.username} roles adjusted`,
|
||||
desc: `There are roles changed`,
|
||||
fields: [
|
||||
{
|
||||
name: `> Old Roles`,
|
||||
value: `- ${ostring}`
|
||||
},
|
||||
{
|
||||
name: `> New Roles`,
|
||||
value: `- ${nstring}`
|
||||
},
|
||||
]
|
||||
}, logsChannel).catch(() => { })
|
||||
};
|
||||
Loading…
Add table
Reference in a new issue