ruvolt 0.5.0

An API wrapper for Revolt written in Rust.
Documentation
use serde::Deserialize;

use crate::{
    error::AuthenticationError,
    models::{events::*, Channel, Message},
};

#[derive(Debug, Deserialize, Clone, PartialEq)]
#[serde(tag = "type")]
pub enum ServerEvent {
    Pong,
    Authenticated,
    Error { error: AuthenticationError },
    Ready(ReadyEvent),
    Message(Message),
    MessageUpdate(MessageUpdateEvent),
    MessageDelete(MessageDeleteEvent),
    ChannelCreate(Channel),
    ChannelUpdate(ChannelUpdateEvent),
    ChannelDelete(ChannelDeleteEvent),
    ChannelGroupJoin(ChannelGroupJoinEvent),
    ChannelGroupLeave(ChannelGroupLeaveEvent),
    ChannelStartTyping(ChannelStartTypingEvent),
    ChannelStopTyping(ChannelStopTypingEvent),
    ChannelAck(ChannelAckEvent),
    ServerUpdate(ServerUpdateEvent),
    ServerDelete(ServerDeleteEvent),
    ServerMemberJoin(ServerMemberJoinEvent),
    ServerMemberUpdate(ServerMemberUpdateEvent),
    ServerMemberLeave(ServerMemberLeaveEvent),
    ServerRoleUpdate(ServerRoleUpdateEvent),
    ServerRoleDelete(ServerRoleDeleteEvent),
    UserUpdate(UserUpdateEvent),
}