neptunium_http/endpoints/channel/messages/
message_reference.rs1use bon::Builder;
2use serde::{Deserialize, Serialize};
3
4use neptunium_model::{
5 channel::message::MessageReferenceType,
6 id::{
7 Id,
8 marker::{ChannelMarker, GuildMarker, MessageMarker},
9 },
10};
11
12#[derive(Serialize, Deserialize, Clone, Debug, Builder)]
13pub struct MessageReference {
14 pub message_id: Id<MessageMarker>,
15 #[serde(skip_serializing_if = "Option::is_none")]
16 pub channel_id: Option<Id<ChannelMarker>>,
17 #[serde(skip_serializing_if = "Option::is_none")]
18 pub guild_id: Option<Id<GuildMarker>>,
19 #[builder(default)]
20 #[serde(rename = "type")]
21 pub r#type: MessageReferenceType,
22}