diff options
| author | Zeyla Hellyer <[email protected]> | 2017-06-23 11:15:46 -0700 |
|---|---|---|
| committer | Zeyla Hellyer <[email protected]> | 2017-06-23 11:15:46 -0700 |
| commit | c832009eae235881815186f740b716e0b7e63951 (patch) | |
| tree | 72e0c4398935e9be9e6b8485bc28a496a5a076b2 /src/model/utils.rs | |
| parent | Update max embed length (diff) | |
| download | serenity-c832009eae235881815186f740b716e0b7e63951.tar.xz serenity-c832009eae235881815186f740b716e0b7e63951.zip | |
Make Message::nonce a serde_json::Value
Nonces can actually be almost anything - including booleans - so just
use a Value to represent it since very few users will need it.
This fixes errors like:
```
WARN:serenity::internal::ws_impl: (╯°□°)╯︵ ┻━┻ Error decoding: {"t":"MESSAGE_CREATE","s":12187872,"op":0,"d":{"type":0,"tts":false,"timestamp":"2017-06-01T01:00:00.000000+00:00","pinned":false,"nonce":"","mentions":[{"username":"redacted","id":"redacted","discriminator":"redacted","avatar":"redacted"}],"mention_roles":[],"mention_everyone":false,"id":"redacted","embeds":[],"edited_timestamp":null,"content":"redacted","channel_id":"redacted","author":{"username":"redacted","id":"redacted","discriminator":"redacted","bot":true,"avatar":"redacted"},"attachments":[]}}
ERROR:serenity::client: Shard handler received err: Json(ErrorImpl { code: Message("Unknown i64 value: "), line: 0, column: 0 })
```
and:
```
WARN:serenity::internal::ws_impl: (╯°□°)╯︵ ┻━┻ Error decoding: {"t":"MESSAGE_CREATE","s":1001192,"op":0,"d":{"type":0,"tts":false,"timestamp":"2017-06-01T01:01:01.000000+00:00","pinned":false,"nonce":true,"mentions":[],"mention_roles":[],"mention_everyone":false,"id":"redacted","embeds":[],"edited_timestamp":null,"content":"bork","channel_id":"redacted","author":{"username":"redacted","id":"redacted","discriminator":"redacted","bot":true,"avatar":"redacted"},"attachments":[]}}
ERROR:serenity::client: Shard handler received err: Json(ErrorImpl { code: Message("invalid type: boolean `true`, expected identifier"), line: 0, column: 0 })
```
Diffstat (limited to 'src/model/utils.rs')
| -rw-r--r-- | src/model/utils.rs | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/src/model/utils.rs b/src/model/utils.rs index 6363fb6..f88ecf5 100644 --- a/src/model/utils.rs +++ b/src/model/utils.rs @@ -240,34 +240,3 @@ impl<'de> Visitor<'de> for U64Visitor { Ok(v) } } - -pub struct I64Visitor; - -impl<'de> Visitor<'de> for I64Visitor { - type Value = i64; - - fn expecting(&self, formatter: &mut Formatter) -> FmtResult { - formatter.write_str("identifier") - } - - fn visit_str<E: DeError>(self, v: &str) -> StdResult<Self::Value, E> { - match v.parse::<i64>() { - Ok(v) => Ok(v), - Err(_) => { - let mut s = String::new(); - s.push_str("Unknown i64 value: "); - s.push_str(v); - - Err(DeError::custom(s)) - }, - } - } - - fn visit_i64<E: DeError>(self, v: i64) -> StdResult<Self::Value, E> { - Ok(v) - } - - fn visit_u64<E: DeError>(self, v: u64) -> StdResult<Self::Value, E> { - Ok(v as i64) - } -} |