feat(bot-discord): more support mute features(#19)

This commit is contained in:
GramingFoxTeam
2023-08-13 18:52:53 +03:00
parent 865c682844
commit eb4eab2fb1
19 changed files with 143 additions and 20 deletions

View File

@@ -1,6 +1,6 @@
export function checkForPerms(config, member) {
for (const role in config.discord.modRoles) {
if (member.roles.cache.get(role)) {
for (const role of config.discord.modRoles) {
if (member.roles.cache.has(role)) {
return true;
}
}

View File

@@ -1,6 +1,6 @@
export function checkForPerms(config, member) {
for (const role in config.discord.trainRoles) {
if (member.roles.cache.get(role)) {
for (const role of config.discord.trainRoles) {
if (member.roles.cache.has(role)) {
return true;
}
}

View File

@@ -0,0 +1,40 @@
export default async function exileMemberToChannel(member, channel, message, config, isSlash) {
const redirectChannel = await channel.client.channels.fetch(config.discord.supportChannel);
let messageContent = '';
if (Array.isArray(message)) {
for (const msg of message) {
messageContent += `${msg.content}\n`;
}
} else if (!message) message = 'No message provided';
else messageContent = message;
await redirectChannel.send({
content: `<@${member.id}>`,
embeds: [
{
title: '❗ An exiled member appears!',
fields: [
{
name: 'Their message',
value: messageContent
}
]
}
]
});
const messageParams = {
content: `<@${member.id}>`,
embeds: [
{
title: '❗ You have been exiled!',
description: 'This is due to you asking support in non-support channels. Please use the support channel next time.'
}
]
};
if (isSlash) channel.reply(messageParams);
else channel.send(messageParams);
}

View File

@@ -7,7 +7,7 @@ export default async function muteMember(config, member, { duration, reason, sup
let expires;
if (supportMute) {
expires = Math.floor((Date.now() + duration) / 1000);
expires = Math.floor((Date.now() + config.mute.supportMuteDuration) / 1000);
} else {
const parsedDuration = parse(duration);
expires = Math.floor((Date.now() + parsedDuration) / 1000);