pub const EMBED_MAX_LENGTH: u16 = 6000;
pub const GATEWAY_VERSION: u8 = 6;
pub const LARGE_THRESHOLD: u8 = 250;
pub const MESSAGE_CODE_LIMIT: u16 = 2000;
pub const USER_AGENT: &'static str = concat!("DiscordBot (https://github.com/zeyla/serenity, ", env!("CARGO_PKG_VERSION"), ")");
pub static JOIN_MESSAGES: &'static [&'static str] = &[
"$user just joined the server - glhf!",
"$user just joined. Everyone, look busy!",
"$user just joined. Can I get a heal?",
"$user joined your party.",
"$user joined. You must construct additional pylons.",
"Ermagherd. $user is here.",
"Welcome, $user. Stay awhile and listen.",
"Welcome, $user. We were expecting you ( ͡° ͜ʖ ͡°)",
"Welcome, $user. We hope you brought pizza.",
"Welcome $user. Leave your weapons by the door.",
"A wild $user appeared.",
"Swoooosh. $user just landed.",
"Brace yourselves. $user just joined the server.",
"$user just joined. Hide your bananas.",
"$user just arrived. Seems OP - please nerf.",
"$user just slid into the server.",
"A $user has spawned in the server.",
"Big $user showed up!",
"Where’s $user? In the server!",
"$user hopped into the server. Kangaroo!!",
"$user just showed up. Hold my beer."
];
enum_number!(
OpCode {
Event = 0,
Heartbeat = 1,
Identify = 2,
StatusUpdate = 3,
VoiceStateUpdate = 4,
VoiceServerPing = 5,
Resume = 6,
Reconnect = 7,
GetGuildMembers = 8,
InvalidSession = 9,
Hello = 10,
HeartbeatAck = 11,
}
);
impl OpCode {
pub fn num(&self) -> u64 {
match *self {
OpCode::Event => 0,
OpCode::Heartbeat => 1,
OpCode::Identify => 2,
OpCode::StatusUpdate => 3,
OpCode::VoiceStateUpdate => 4,
OpCode::VoiceServerPing => 5,
OpCode::Resume => 6,
OpCode::Reconnect => 7,
OpCode::GetGuildMembers => 8,
OpCode::InvalidSession => 9,
OpCode::Hello => 10,
OpCode::HeartbeatAck => 11,
}
}
}
enum_number!(
VoiceOpCode {
Identify = 0,
SelectProtocol = 1,
Hello = 2,
KeepAlive = 3,
SessionDescription = 4,
Speaking = 5,
Heartbeat = 8,
}
);
impl VoiceOpCode {
pub fn num(&self) -> u64 {
match *self {
VoiceOpCode::Identify => 0,
VoiceOpCode::SelectProtocol => 1,
VoiceOpCode::Hello => 2,
VoiceOpCode::KeepAlive => 3,
VoiceOpCode::SessionDescription => 4,
VoiceOpCode::Speaking => 5,
VoiceOpCode::Heartbeat => 8,
}
}
}
pub mod close_codes {
pub const UNKNOWN_ERROR: u16 = 4000;
pub const UNKNOWN_OPCODE: u16 = 4001;
pub const DECODE_ERROR: u16 = 4002;
pub const NOT_AUTHENTICATED: u16 = 4003;
pub const AUTHENTICATION_FAILED: u16 = 4004;
pub const ALREADY_AUTHENTICATED: u16 = 4005;
pub const INVALID_SEQUENCE: u16 = 4007;
pub const RATE_LIMITED: u16 = 4008;
pub const SESSION_TIMEOUT: u16 = 4009;
pub const INVALID_SHARD: u16 = 4010;
pub const SHARDING_REQUIRED: u16 = 4011;
}