use crate::models::Snowflake;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
pub struct MessageResponse {
pub id: Option<Snowflake>,
pub timestamp: Option<String>,
#[serde(flatten)]
pub extra: Option<serde_json::Value>,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
pub struct PinsMessage {
#[serde(default)]
pub guild_id: Snowflake,
#[serde(default)]
pub channel_id: Snowflake,
#[serde(default)]
pub message_ids: Vec<Snowflake>,
}
impl MessageResponse {
pub fn new(id: impl Into<Snowflake>) -> Self {
Self {
id: Some(id.into()),
timestamp: Some(chrono::Utc::now().to_rfc3339()),
extra: None,
}
}
}