mirror of
https://github.com/spacebarchat/server.git
synced 2024-11-23 02:42:28 +01:00
Fix channel mentions #981
This commit is contained in:
commit
4db83ee531
@ -26,7 +26,7 @@ import {
|
|||||||
MessageUpdateEvent,
|
MessageUpdateEvent,
|
||||||
getPermission,
|
getPermission,
|
||||||
getRights,
|
getRights,
|
||||||
CHANNEL_MENTION,
|
//CHANNEL_MENTION,
|
||||||
USER_MENTION,
|
USER_MENTION,
|
||||||
ROLE_MENTION,
|
ROLE_MENTION,
|
||||||
Role,
|
Role,
|
||||||
@ -144,7 +144,9 @@ export async function handleMessage(opts: MessageOptions): Promise<Message> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let content = opts.content;
|
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_role_ids = [] as string[];
|
||||||
const mention_user_ids = [] as string[];
|
const mention_user_ids = [] as string[];
|
||||||
let mention_everyone = false;
|
let mention_everyone = false;
|
||||||
@ -153,10 +155,11 @@ export async function handleMessage(opts: MessageOptions): Promise<Message> {
|
|||||||
// TODO: explicit-only mentions
|
// TODO: explicit-only mentions
|
||||||
message.content = content.trim();
|
message.content = content.trim();
|
||||||
content = content.replace(/ *`[^)]*` */g, ""); // remove codeblocks
|
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))
|
if (!mention_channel_ids.includes(mention))
|
||||||
mention_channel_ids.push(mention);
|
mention_channel_ids.push(mention);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
for (const [, mention] of content.matchAll(USER_MENTION)) {
|
for (const [, mention] of content.matchAll(USER_MENTION)) {
|
||||||
if (!mention_user_ids.includes(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 }),
|
Channel.create({ id: x }),
|
||||||
);
|
);*/
|
||||||
message.mention_roles = mention_role_ids.map((x) => Role.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.mentions = mention_user_ids.map((x) => User.create({ id: x }));
|
||||||
message.mention_everyone = mention_everyone;
|
message.mention_everyone = mention_everyone;
|
||||||
|
Loading…
Reference in New Issue
Block a user