use crate::types::{Channel, Guild, Invite, Member, Message, Role, User};
use crate::ws::Intents;
#[derive(Serialize, Deserialize)]
#[serde(tag = "c", content = "d")]
pub enum WsInboundEvent {
Identify { token: String, intents: Intents },
Ping,
Pong,
}
#[derive(Serialize, Deserialize)]
#[serde(tag = "c", content = "d")]
#[allow(clippy::doc_markdown)]
pub enum WsOutboundEvent {
IdentifyAccepted {
user: User,
},
Ping,
Pong,
MessageCreate {
message: Message,
},
MessageUpdate {
old: Message,
new: Message,
},
MessageDelete {
message: Message,
},
ChannelCreate {
channel: Channel,
},
ChannelUpdate {
old: Channel,
new: Channel,
},
ChannelDelete {
channel: Channel,
},
GuildCreate {
guild: Guild,
},
GuildUpdate {
old: Guild,
new: Guild,
},
GuildDelete {
guild: Guild,
},
MemberCreate {
member: Member,
},
MemberUpdate {
old: Member,
new: Member,
},
MemberDelete {
member: Member,
},
InviteCreate {
invite: Invite,
},
InviteDelete {
invite: Invite,
},
RoleCreate {
role: Role,
},
RoleUpdate {
old: Role,
new: Role,
},
RoleDelete {
role: Role,
},
TypingStart {
channel: Channel,
user: User,
},
TypingEnd {
channel: Channel,
user: User,
},
MemberRoleAdd {
member: Member,
role: Role,
},
MemberRoleDelete {
member: Member,
role: Role,
},
}