diff --git a/src/routes/channels/#channel_id/messages/index.ts b/src/routes/channels/#channel_id/messages/index.ts
index cba1d7f0..99f5fdcd 100644
--- a/src/routes/channels/#channel_id/messages/index.ts
+++ b/src/routes/channels/#channel_id/messages/index.ts
@@ -130,6 +130,7 @@ router.post("/", check(MessageCreateSchema), async (req, res) => {
const embeds = [];
if (body.embed) embeds.push(body.embed);
+ // TODO: check and put all in body in it
const message: Message = {
id: Snowflake.generate(),
channel_id,
@@ -145,9 +146,22 @@ router.post("/", check(MessageCreateSchema), async (req, res) => {
reactions: [],
type: 0,
tts: body.tts,
+ nonce: body.nonce,
};
- await new MessageModel(message).save();
+ const doc = new MessageModel(message);
+ await doc.save();
- await emitEvent({ event: "MESSAGE_CREATE", channel_id, data: {} } as MessageCreateEvent);
+ const data = toObject(
+ await MessageModel.populate(doc, [
+ { path: "author", select: PublicUserProjection },
+ { path: "mentions", select: PublicUserProjection },
+ { path: "mention_roles" },
+ { path: "mention_channels", select: { id: true, guild_id: true, type: true, name: true } },
+ ])
+ );
+
+ await emitEvent({ event: "MESSAGE_CREATE", channel_id, data, guild_id: channel.guild_id } as MessageCreateEvent);
+
+ return res.send(data);
});
|