// Metro module 4423 (f4424). import ChannelStore from "../../stores/ChannelStore"; import GuildMemberStore from "../../stores/GuildMemberStore"; import GuildStore from "../../stores/GuildStore"; const isMentioned = function isMentioned({ userId, channelId, mentionEveryone, mentionUsers, mentionRoles, suppressEveryone = false, suppressRoles = false }) { let member; member = void 0; if (mentionEveryone && !suppressEveryone) { return true; } if (mentionUsers.includes(userId)) { return true; } if (!suppressRoles && mentionRoles != null && mentionRoles.length !== 0) { const channel = ChannelStore.getChannel(channelId); if (channel == null) { return false; } const guildId = channel.getGuildId(); if (guildId == null) { return false; } if (GuildStore.getGuild(guildId) == null) { return false; } member = GuildMemberStore.getMember(guildId, userId); return member != null && mentionRoles.some((mentionRole) => member.roles.includes(mentionRole)); } return false; }; export default function isMessageMentioned({ message, userId, suppressEveryone = false, suppressRoles = false }) { return isMentioned({ userId, channelId: message.channel_id, mentionEveryone: message.mentionEveryone, mentionUsers: message.mentions, mentionRoles: message.mentionRoles, suppressEveryone, suppressRoles }); }; export function isRawMessageMentioned({ rawMessage, userId, suppressEveryone = false, suppressRoles = false }) { let mention_everyone = rawMessage.mention_everyone; if (mention_everyone == null) { mention_everyone = false; } const mentions = rawMessage.mentions; let mentionUsers = mentions == null ? void 0 : mentions.map((mention) => mention.id); if (mentionUsers == null) { mentionUsers = []; } let mention_roles = rawMessage.mention_roles; if (mention_roles == null) { mention_roles = []; } return isMentioned({ userId, channelId: rawMessage.channel_id, mentionEveryone: mention_everyone, mentionUsers, mentionRoles: mention_roles, suppressEveryone, suppressRoles }); } export { isMentioned };