seria 0.0.2-dev.2

A lightweight Revolt client library built for the Rust ecosystem.
Documentation
use serde::{Deserialize, Serialize};

use crate::{
    error::AuthError,
    models::{Message, Server, Id},
};

#[derive(Debug, Serialize, Clone, PartialEq)]
#[serde(tag = "type")]
pub enum ClientEvent {
    Authenticate { token: String },
    BeginTyping { channel: Id },
    EndTyping { channel: Id },
    Ping { data: usize },
}

#[derive(Clone, Debug, Deserialize)]
#[serde(tag = "type")]
pub enum GatewayEvent {
    Authenticated,
    Error { error: AuthError },
    Pong,
    Ready,
    Message(Message),
    ServerCreate(Server),
    ChannelStartTyping,
    ChannelStopTyping,
    #[serde(other)]
    Unknown,
}