예제 #1
0
            public ServerRole(JObject data)
            {
                JsonObjectReader r = data.GetReader();

                ServerId = r.ReadSnowflake("server_id");
                Role     = Role.CreateFromJson(ServerId, r.ReadObject <RoleJson>("role"), null);
            }
예제 #2
0
        internal WebhookMessage(JsonObjectReader r) : base(r)
        {
            WebhookId = r.ReadString("webhook_id");
            Type      = MessageType.Webhook;
            var json = r.ReadObject <UserJson>("author");

            WebhookUsername = json.username;
            WebhookAvatar   = json.avatar;
        }
예제 #3
0
        internal override void UpdateInstance(JsonObjectReader r)
        {
            base.UpdateInstance(r);
            WebhookId = r.ReadString("webhook_id");
            Type      = MessageType.Webhook;
            var json = r.ReadObject <UserJson>("author");

            WebhookUsername = json.username;
            WebhookAvatar   = json.avatar;
        }
예제 #4
0
            public Ready(JObject data)
            {
                JsonObjectReader r = data.GetReader();

                ProtocolVersion  = r.ReadInt32("v");
                ClientServerUser = User.CreateFromJson(r.ReadObject("user").ToObject <UserJson>(), null);
                // ReSharper disable once CoVariantArrayConversion (read-only)
                DmChannels      = r.ReadArray("private_channels").AllObject <ChannelJson>().Select(x => DirectMessageTextChannel.CreateFromJson(x, null)).ToArray();
                ServersToCreate = r.ReadObjectArray <UaServerJson>("guilds").Where(x => x.unavailable).Select(x => x.id).ToList();
                SessionId       = r.ReadString("session_id");
                Trace           = r.ReadStringArray("_trace");
            }
예제 #5
0
            public Reaction(JObject data)
            {
                JsonObjectReader r = data.GetReader();

                ReactorId = r.ReadSnowflake("user_id");
                MessageId = r.ReadSnowflake("message_id");
                ChannelId = r.ReadSnowflake("channel_id");
                JsonObjectReader re      = r.ReadObject("emoji");
                ulong?           emojiId = re.ReadNullableSnowflake("id");
                string           name    = re.ReadString("name");

                Emoji = emojiId != null ? (Emoji) new LazyServerEmoji((ulong)emojiId, name) : new GlobalEmoji(name);
            }
예제 #6
0
 public ServerUser(JObject data, bool seperate)
 {
     if (seperate)
     {
         JsonObjectReader r = data.GetReader();
         ServerId = r.ReadSnowflake("guild_id");
         Data     = User.CreateFromJson(r.ReadObject <UserJson>("user"), ServerId);
     }
     else
     {
         var json = data.ToObject <ServerUserGatewayJson>();
         ServerId = json.guild_id;
         Data     = User.CreateFromJson(json, ServerId);
     }
 }
예제 #7
0
 internal StandardMessage(JsonObjectReader r) : base(r)
 {
     Author = User.CreateFromJson(r.ReadObject <UserJson>("author"), null);
     Type   = Author.IsBot ? MessageType.Bot : MessageType.User;
 }