logs: fix excluded_roles for messages

This commit is contained in:
Dragory 2021-05-24 20:43:46 +03:00
parent 55b4e39b6e
commit a72750b8d8
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1

View file

@ -5,6 +5,7 @@ import { TextChannel } from "eris";
import { createChunkedMessage, get, noop } from "../../../utils";
import { getLogMessage } from "./getLogMessage";
import { allowTimeout } from "../../../RegExpRunner";
import { SavedMessage } from "../../../data/entities/SavedMessage";
const excludedUserProps = ["user", "member", "mod"];
const excludedRoleProps = ["message.member.roles", "member.roles"];
@ -42,6 +43,15 @@ export async function log(pluginData: GuildPluginData<LogsPluginType>, type: Log
}
if (opts.excluded_roles) {
if (data?.message instanceof SavedMessage) {
const member = pluginData.guild.members.get(data.message.user_id);
for (const role of member?.roles || []) {
if (opts.excluded_roles.includes(role)) {
continue logChannelLoop;
}
}
}
for (const prop of excludedRoleProps) {
const roles = get(data, prop);
if (!isRoleArray(roles)) {