fix(bot-discord): fix mute role not being assigned

WHY DID IT TAKE ME SO FUCKING LONG KŞASDYUQWYUIOEIPOUQWEYGFYG
This commit is contained in:
GramingFoxTeam
2023-08-10 17:12:33 +03:00
parent 21b0df19d6
commit 92067c5a57
2 changed files with 18 additions and 11 deletions

View File

@@ -19,7 +19,7 @@ export default async function muteMember(config, member, { duration, reason, sup
config.discord.mute.takeRoles
) {
if (member.roles.cache.get(takeRole)) {
takenRoles.push(takeRoles);
takenRoles.push(takeRole);
}
}
@@ -42,9 +42,9 @@ export default async function muteMember(config, member, { duration, reason, sup
}
});
if (client.mutes.has(member.id)) {
clearTimeout(client.mutes.get(member.id))
client.mutes.delete(member.id);
if (member.client.mutes.has(member.id)) {
clearTimeout(member.client.mutes.get(member.id))
member.client.mutes.delete(member.id);
}
} else {
await member.client.db.collection('muted').insertOne({
@@ -59,11 +59,18 @@ export default async function muteMember(config, member, { duration, reason, sup
// Remove the roles, give defined roles.
if (!existingMute) {
member.roles.remove(takenRoles);
member.roles.add(supportMute ?
config.discord.mute.giveRoles :
config.discord.mute.supportGiveRoles
);
const currentRoles = member.roles.map((role) => role.id);
let setRoles = [];
for (const role of currentRoles) {
if (takenRoles.includes(role)) continue;
setRoles.push(role);
}
setRoles = setRoles.concat(supportMute ?
config.discord.mute.supportGiveRoles :
config.discord.mute.giveRoles)
const member = await member.roles.set(takenRoles);
console.log(member)
}
@@ -74,7 +81,7 @@ export default async function muteMember(config, member, { duration, reason, sup
taken_roles: takenRoles,
expires,
support_mute: supportMute
}, member.client.mutes, member.client);
}, member.client.mutes, member.client, config);
// Return parsed time for the mute command to resolve.
return expires;

View File

@@ -1,4 +1,4 @@
export default async function setMuteTimeout(mute, mutes, client) {
export default async function setMuteTimeout(mute, mutes, client, config) {
const duration = (mute.expires - Math.floor(new Date() / 1000)) * 1000;
mutes.set(mute.user_id, setTimeout(async() => {
const guild = await client.guilds.fetch(mute.guild_id);