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/mod.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/mod.rs')
| -rw-r--r-- | src/model/mod.rs | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/src/model/mod.rs b/src/model/mod.rs index ace5969..21348b9 100644 --- a/src/model/mod.rs +++ b/src/model/mod.rs @@ -53,50 +53,6 @@ use ::utils::Colour; fn default_true() -> bool { true } -macro_rules! id_i64 { - ($(#[$attr:meta] $name:ident;)*) => { - $( - #[$attr] - #[derive(Copy, Clone, Debug, Eq, Hash, PartialOrd, Ord, Serialize)] - #[allow(derive_hash_xor_eq)] - pub struct $name(pub i64); - - impl $name { - /// Retrieves the time that the Id was created at. - pub fn created_at(&self) -> NaiveDateTime { - let offset = (self.0 >> 22) / 1000; - - NaiveDateTime::from_timestamp(1420070400 + offset, 0) - } - } - - impl From<i64> for $name { - fn from(v: i64) -> $name { - $name(v) - } - } - - impl PartialEq for $name { - fn eq(&self, other: &Self) -> bool { - self.0 == other.0 - } - } - - impl PartialEq<i64> for $name { - fn eq(&self, u: &i64) -> bool { - self.0 == *u - } - } - - impl<'de> Deserialize<'de> for $name { - fn deserialize<D: Deserializer<'de>>(deserializer: D) -> StdResult<Self, D::Error> { - deserializer.deserialize_i64(I64Visitor).map($name) - } - } - )* - }; -} - macro_rules! id_u64 { ($(#[$attr:meta] $name:ident;)*) => { $( @@ -160,11 +116,6 @@ id_u64! { WebhookId; } -id_i64! { - /// An identifier for a general-purpose signed snowflake. - Snowflake; -} - /// A container for guilds. /// /// This is used to differentiate whether a guild itself can be used or whether |