use serde::Deserialize;
use serde_json::Value;
#[derive(Debug, Clone, PartialEq, Eq, Deserialize)]
pub struct Channel {
pub id: String,
#[serde(rename = "type")]
pub kind: u8,
#[serde(default)]
pub guild_id: Option<String>,
#[serde(default)]
pub name: Option<String>,
#[serde(default)]
pub topic: Option<String>,
#[serde(default)]
pub position: Option<i64>,
#[serde(default)]
pub nsfw: Option<bool>,
#[serde(default)]
pub parent_id: Option<String>,
#[serde(default)]
pub last_message_id: Option<String>,
#[serde(default)]
pub rate_limit_per_user: Option<u64>,
#[serde(default)]
pub permission_overwrites: Vec<Value>,
#[serde(default)]
pub default_auto_archive_duration: Option<u64>,
}