use crate::models::Snowflake;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct GatewayResponse {
pub url: String,
pub shards: u32,
pub session_start_limit: SessionStartLimit,
}
pub type WebsocketAP = GatewayResponse;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct SessionStartLimit {
pub total: u32,
pub remaining: u32,
pub reset_after: u32,
pub max_concurrency: u32,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)]
pub struct ShardConfig {
pub shard_id: u32,
pub shard_count: u32,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct BotInfo {
pub id: Snowflake,
pub username: String,
pub avatar: Option<String>,
#[serde(default)]
pub bot: bool,
}