1
0
mirror of https://github.com/spacebarchat/server.git synced 2024-11-22 10:22:39 +01:00

Fix channel mentions #981

This commit is contained in:
Madeline 2023-02-20 15:12:23 +11:00 committed by GitHub
commit f0944614c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -26,7 +26,7 @@ import {
MessageUpdateEvent,
getPermission,
getRights,
CHANNEL_MENTION,
//CHANNEL_MENTION,
USER_MENTION,
ROLE_MENTION,
Role,
@ -144,7 +144,9 @@ export async function handleMessage(opts: MessageOptions): Promise<Message> {
}
let content = opts.content;
const mention_channel_ids = [] as string[];
// root@Rory - 20/02/2023 - This breaks channel mentions in test client. We're not sure this was used in older clients.
//const mention_channel_ids = [] as string[];
const mention_role_ids = [] as string[];
const mention_user_ids = [] as string[];
let mention_everyone = false;
@ -153,10 +155,11 @@ export async function handleMessage(opts: MessageOptions): Promise<Message> {
// TODO: explicit-only mentions
message.content = content.trim();
content = content.replace(/ *`[^)]*` */g, ""); // remove codeblocks
for (const [, mention] of content.matchAll(CHANNEL_MENTION)) {
// root@Rory - 20/02/2023 - This breaks channel mentions in test client. We're not sure this was used in older clients.
/*for (const [, mention] of content.matchAll(CHANNEL_MENTION)) {
if (!mention_channel_ids.includes(mention))
mention_channel_ids.push(mention);
}
}*/
for (const [, mention] of content.matchAll(USER_MENTION)) {
if (!mention_user_ids.includes(mention))
@ -183,9 +186,10 @@ export async function handleMessage(opts: MessageOptions): Promise<Message> {
}
}
message.mention_channels = mention_channel_ids.map((x) =>
// root@Rory - 20/02/2023 - This breaks channel mentions in test client. We're not sure this was used in older clients.
/*message.mention_channels = mention_channel_ids.map((x) =>
Channel.create({ id: x }),
);
);*/
message.mention_roles = mention_role_ids.map((x) => Role.create({ id: x }));
message.mentions = mention_user_ids.map((x) => User.create({ id: x }));
message.mention_everyone = mention_everyone;