diff --git a/src/api/util/handlers/Message.ts b/src/api/util/handlers/Message.ts index 32b24ab7..e3d5a99f 100644 --- a/src/api/util/handlers/Message.ts +++ b/src/api/util/handlers/Message.ts @@ -300,8 +300,24 @@ export async function handleMessage(opts: MessageOptions): Promise { /*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 = [...message.mentions, ...mention_user_ids.map((x) => User.create({ id: x }))]; + message.mention_roles = ( + await Promise.all( + mention_role_ids.map((x) => { + return Role.findOne({ where: { id: x } }); + }), + ) + ).filter((role) => role !== null); + + message.mentions = [ + ...message.mentions, + ...( + await Promise.all( + mention_user_ids.map((x) => { + return User.findOne({ where: { id: x } }); + }), + ) + ).filter((user) => user !== null), + ]; message.mention_everyone = mention_everyone;