add more types

This commit is contained in:
bitfl0wer 2023-04-25 22:34:43 +02:00
parent dee8c0bb4e
commit 534d32b1bc
No known key found for this signature in database
GPG Key ID: 84BBB60DF895ABF2
1 changed files with 80 additions and 0 deletions

View File

@ -688,3 +688,83 @@ struct TypingStartEvent {
timestamp: i64,
member: Option<GuildMember>,
}
#[derive(Debug, Deserialize, Serialize)]
struct GatewayIdentifyPayload {
token: String,
properties: GatewayIdentifyConnectionProps,
compress: Option<bool>,
large_threshold: Option<i16>, //default: 50
shard: Option<Vec<(i32, i32)>>,
presence: Option<PresenceUpdate>,
intents: i32,
}
#[derive(Debug, Deserialize, Serialize)]
struct GatewayIdentifyConnectionProps {
os: String,
browser: String,
device: String,
}
#[derive(Debug, Deserialize, Serialize)]
struct PresenceUpdate {
since: Option<i64>,
activities: Vec<Activity>,
status: String,
afk: bool,
}
#[derive(Debug, Deserialize, Serialize)]
struct Activity {
name: String,
#[serde(rename = "type")]
activity_type: i32,
url: Option<String>,
created_at: i64,
timestamps: Option<ActivityTimestamps>,
application_id: Option<String>,
details: Option<String>,
state: Option<String>,
emoji: Option<Emoji>,
party: Option<ActivityParty>,
assets: Option<ActivityAssets>,
secrets: Option<ActivitySecrets>,
instance: Option<bool>,
flags: Option<i32>,
buttons: Option<Vec<ActivityButton>>,
}
#[derive(Debug, Deserialize, Serialize)]
struct ActivityTimestamps {
start: Option<i64>,
end: Option<i64>,
}
#[derive(Debug, Deserialize, Serialize)]
struct ActivityParty {
id: Option<String>,
size: Option<Vec<(i32, i32)>>,
}
#[derive(Debug, Deserialize, Serialize)]
struct ActivityAssets {
large_image: Option<String>,
large_text: Option<String>,
small_image: Option<String>,
small_text: Option<String>,
}
#[derive(Debug, Deserialize, Serialize)]
struct ActivitySecrets {
join: Option<String>,
spectate: Option<String>,
#[serde(rename = "match")]
match_string: Option<String>,
}
#[derive(Debug, Deserialize, Serialize)]
struct ActivityButton {
label: String,
url: String,
}