twilight_model/application/interaction/
metadata.rsuse serde::{Deserialize, Serialize};
use crate::{
id::{
marker::{GuildMarker, InteractionMarker, MessageMarker, UserMarker},
AnonymizableId, Id,
},
oauth::ApplicationIntegrationMap,
};
use super::InteractionType;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct InteractionMetadata {
pub authorizing_integration_owners:
ApplicationIntegrationMap<AnonymizableId<GuildMarker>, Id<UserMarker>>,
pub id: Id<InteractionMarker>,
#[serde(skip_serializing_if = "Option::is_none")]
pub interacted_message_id: Option<Id<MessageMarker>>,
#[serde(rename = "type")]
pub kind: InteractionType,
#[serde(skip_serializing_if = "Option::is_none")]
pub original_response_message_id: Option<Id<MessageMarker>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub triggering_interaction_metadata: Option<Box<InteractionMetadata>>,
}