113 lines
3.4 KiB
TypeScript
113 lines
3.4 KiB
TypeScript
// Module ID: 4578
|
|
// Function ID: 4579
|
|
// Name: isMentioned
|
|
// Dependencies: [1391, 1990, 1910, 2]
|
|
// Exports: default, isRawMessageMentioned
|
|
|
|
// Module 4578 (isMentioned)
|
|
import ensureGuildLoaded from "ensureGuildLoaded";
|
|
import trackCommunicationDisabled from "trackCommunicationDisabled";
|
|
import createGuildRecordFromRust from "createGuildRecordFromRust";
|
|
|
|
function isMentioned(suppressRoles) {
|
|
let channelId;
|
|
let mentionEveryone;
|
|
let mentionRoles;
|
|
let mentionUsers;
|
|
let suppressEveryone;
|
|
let userId;
|
|
({ userId, mentionUsers, mentionRoles, suppressEveryone } = suppressRoles);
|
|
({ channelId, mentionEveryone } = suppressRoles);
|
|
if (suppressEveryone === undefined) {
|
|
suppressEveryone = false;
|
|
}
|
|
let flag = suppressRoles.suppressRoles;
|
|
if (flag === undefined) {
|
|
flag = false;
|
|
}
|
|
let member;
|
|
if (mentionEveryone) {
|
|
if (!suppressEveryone) {
|
|
return true;
|
|
}
|
|
}
|
|
if (mentionUsers.includes(userId)) {
|
|
return true;
|
|
} else {
|
|
if (!flag) {
|
|
if (null != mentionRoles) {
|
|
if (0 !== mentionRoles.length) {
|
|
const channel = member.getChannel(channelId);
|
|
if (null == channel) {
|
|
return false;
|
|
} else {
|
|
const guildId = channel.getGuildId();
|
|
if (null == guildId) {
|
|
return false;
|
|
} else if (null == guild.getGuild(guildId)) {
|
|
return false;
|
|
} else {
|
|
member = member.getMember(guildId, userId);
|
|
return null != member && mentionRoles.some((arg0) => {
|
|
const roles = member.roles;
|
|
return roles.includes(arg0);
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
const result = require("createGuildRecordFromRust").fileFinishedImporting("modules/messages/isMessageMentioned.tsx");
|
|
|
|
export default function isMessageMentioned(suppressRoles) {
|
|
let message;
|
|
let suppressEveryone;
|
|
({ message, suppressEveryone } = suppressRoles);
|
|
if (suppressEveryone === undefined) {
|
|
suppressEveryone = false;
|
|
}
|
|
let flag = suppressRoles.suppressRoles;
|
|
if (flag === undefined) {
|
|
flag = false;
|
|
}
|
|
return isMentioned({ userId: suppressRoles.userId, channelId: message.channel_id, mentionEveryone: message.mentionEveryone, mentionUsers: message.mentions, mentionRoles: message.mentionRoles, suppressEveryone, suppressRoles: flag });
|
|
};
|
|
export const isRawMessageMentioned = function isRawMessageMentioned(suppressRoles) {
|
|
let rawMessage;
|
|
let suppressEveryone;
|
|
({ rawMessage, suppressEveryone } = suppressRoles);
|
|
if (suppressEveryone === undefined) {
|
|
suppressEveryone = false;
|
|
}
|
|
let flag = suppressRoles.suppressRoles;
|
|
if (flag === undefined) {
|
|
flag = false;
|
|
}
|
|
const obj = { userId: suppressRoles.userId, channelId: rawMessage.channel_id, mentionEveryone: null, mentionUsers: null, mentionRoles: null, suppressEveryone: null, suppressRoles: null };
|
|
let flag2 = rawMessage.mention_everyone;
|
|
if (flag2 == null) {
|
|
flag2 = false;
|
|
}
|
|
obj[2] = flag2;
|
|
const mentions = rawMessage.mentions;
|
|
let mapped;
|
|
if (mentions != null) {
|
|
mapped = mentions.map((id) => id.id);
|
|
}
|
|
if (mapped == null) {
|
|
mapped = [];
|
|
}
|
|
obj[3] = mapped;
|
|
let mention_roles = rawMessage.mention_roles;
|
|
if (mention_roles == null) {
|
|
mention_roles = [];
|
|
}
|
|
obj[4] = mention_roles;
|
|
obj[5] = suppressEveryone;
|
|
obj[6] = flag;
|
|
return isMentioned(obj);
|
|
};
|
|
export { isMentioned };
|