mirror of
https://github.com/yuzu-emu/Command-fix.git
synced 2024-12-23 04:25:29 +00:00
Fix broken role & channel exemptions (#115)
* Fix broken role & channel exemptions * fix for citra * Fix long broken logging exemption * Typo * Typo2
This commit is contained in:
parent
e3ae371c57
commit
bffc187300
|
@ -39,7 +39,7 @@ function findArray(haystack: string | any[], arr: any[]) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function IsIgnoredCategory(categoryName: string) {
|
function IsIgnoredCategory(categoryName: string) {
|
||||||
const IgnoredCategory = ['internal-development', 'internal-general', 'internal-casual', 'website'];
|
const IgnoredCategory = ['internal', 'team', 'development'];
|
||||||
return IgnoredCategory.includes(categoryName);
|
return IgnoredCategory.includes(categoryName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,30 +79,38 @@ client.on('guildMemberAdd', (member) => {
|
||||||
});
|
});
|
||||||
|
|
||||||
client.on('messageDelete', message => {
|
client.on('messageDelete', message => {
|
||||||
let parent = (message.channel as discord.TextChannel).parent;
|
const AllowedRoles = ['Administrators', 'Moderators', 'Team', 'Developer', 'Support', 'VIP'];
|
||||||
if (parent && IsIgnoredCategory(parent.name) === false) {
|
let authorRoles = message.member?.roles?.cache?.map(x => x.name);
|
||||||
if (((message.content && message.content.startsWith('.') === false) || (message.attachments.array().length > 0)) && message.author?.bot === false) {
|
if (!authorRoles) {
|
||||||
let messageAttachment = message.attachments.array()[0]?.proxyURL
|
logger.error(`Unable to get the roles for ${message.author}`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!findArray(authorRoles, AllowedRoles)) {
|
||||||
|
let parent = (message.channel as discord.TextChannel).parent;
|
||||||
|
if (parent && IsIgnoredCategory(parent.name) === false) {
|
||||||
|
if (((message.content && message.content.startsWith('.') === false) || (message.attachments.array().length > 0)) && message.author?.bot === false) {
|
||||||
|
let messageAttachment = message.attachments.array()[0]?.proxyURL
|
||||||
|
|
||||||
const deletionEmbed = new discord.MessageEmbed()
|
const deletionEmbed = new discord.MessageEmbed()
|
||||||
.setAuthor(message.author?.tag, message.author?.displayAvatarURL())
|
.setAuthor(message.author?.tag, message.author?.displayAvatarURL())
|
||||||
.setDescription(`Message deleted in ${message.channel.toString()}`)
|
.setDescription(`Message deleted in ${message.channel.toString()}`)
|
||||||
.addField('Content', message.cleanContent || '<no content>', false)
|
.addField('Content', message.cleanContent || '<no content>', false)
|
||||||
.setTimestamp()
|
.setTimestamp()
|
||||||
.setColor('RED');
|
.setColor('RED');
|
||||||
|
|
||||||
if (messageAttachment) deletionEmbed.setImage(messageAttachment)
|
if (messageAttachment) deletionEmbed.setImage(messageAttachment)
|
||||||
|
|
||||||
let userInfo = `${message.author?.toString()} (${message.author?.username}) (${message.author})`
|
let userInfo = `${message.author?.toString()} (${message.author?.username}) (${message.author})`
|
||||||
|
|
||||||
state.msglogChannel.send(userInfo, { embed: deletionEmbed });
|
state.msglogChannel.send(userInfo, { embed: deletionEmbed });
|
||||||
logger.info(`${message.author?.username} ${message.author} deleted message: ${message.cleanContent}.`);
|
logger.info(`${message.author?.username} ${message.author} deleted message: ${message.cleanContent}.`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
client.on('messageUpdate', (oldMessage, newMessage) => {
|
client.on('messageUpdate', (oldMessage, newMessage) => {
|
||||||
const AllowedRoles = ['Administrators', 'Moderators', 'Team', 'VIP'];
|
const AllowedRoles = ['Administrators', 'Moderators', 'Team', 'Developer', 'Support', 'VIP'];
|
||||||
let authorRoles = oldMessage.member?.roles?.cache?.map(x => x.name);
|
let authorRoles = oldMessage.member?.roles?.cache?.map(x => x.name);
|
||||||
if (!authorRoles) {
|
if (!authorRoles) {
|
||||||
logger.error(`Unable to get the roles for ${oldMessage.author}`);
|
logger.error(`Unable to get the roles for ${oldMessage.author}`);
|
||||||
|
|
Loading…
Reference in a new issue