diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/model/guild/audit_log.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/model/guild/audit_log.rs b/src/model/guild/audit_log.rs index 0d25574..0a6a883 100644 --- a/src/model/guild/audit_log.rs +++ b/src/model/guild/audit_log.rs @@ -435,7 +435,7 @@ impl<'de> Deserialize<'de> for AuditLogs { #[serde(rename = "audit_log_entries")] Entries, #[serde(rename = "webhooks")] Webhooks, #[serde(rename = "users")] Users, - // TODO(field added by Discord, undocumented) #[serde(rename = "integrations")] Integrations, + #[serde(rename = "integrations")] Integrations, } struct EntriesVisitor; @@ -451,6 +451,7 @@ impl<'de> Deserialize<'de> for AuditLogs { let mut audit_log_entries = None; let mut users = None; let mut webhooks = None; + let mut integrations = None; loop { match map.next_key() { @@ -475,6 +476,13 @@ impl<'de> Deserialize<'de> for AuditLogs { users = Some(map.next_value::<Vec<User>>()?); }, + Ok(Some(Field::Integrations)) => { + if integrations.is_some() { + return Err(de::Error::duplicate_field("integrations")); + } + + integrations = Some(map.next_value::<Vec<Integration>>()?); + }, Ok(None) => break, // No more keys Err(e) => if e.description().contains("unknown field") { // e is of type <V as MapAccess>::Error, which is a macro-defined trait, ultimately |