| @@ -208,8 +208,8 @@ | |||||
| <Compile Include="Rest\Entities\Users\SelfUser.cs" /> | <Compile Include="Rest\Entities\Users\SelfUser.cs" /> | ||||
| <Compile Include="Rest\Entities\Users\User.cs" /> | <Compile Include="Rest\Entities\Users\User.cs" /> | ||||
| <Compile Include="TokenType.cs" /> | <Compile Include="TokenType.cs" /> | ||||
| <Compile Include="WebSocket\Caches\MessageCache.cs" /> | |||||
| <Compile Include="WebSocket\Caches\ChannelPermissionsCache.cs" /> | |||||
| <Compile Include="WebSocket\MessageCache.cs" /> | |||||
| <Compile Include="WebSocket\ChannelPermissionsCache.cs" /> | |||||
| <Compile Include="WebSocket\DiscordClient.cs" /> | <Compile Include="WebSocket\DiscordClient.cs" /> | ||||
| <Compile Include="WebSocket\Entities\Channels\DMChannel.cs" /> | <Compile Include="WebSocket\Entities\Channels\DMChannel.cs" /> | ||||
| <Compile Include="WebSocket\Entities\Channels\GuildChannel.cs" /> | <Compile Include="WebSocket\Entities\Channels\GuildChannel.cs" /> | ||||
| @@ -140,15 +140,11 @@ namespace Discord.Rest | |||||
| /// <inheritdoc /> | /// <inheritdoc /> | ||||
| public async Task ModifyChannels(IEnumerable<ModifyGuildChannelsParams> args) | public async Task ModifyChannels(IEnumerable<ModifyGuildChannelsParams> args) | ||||
| { | { | ||||
| if (args == null) throw new NullReferenceException(nameof(args)); | |||||
| await Discord.BaseClient.ModifyGuildChannels(Id, args).ConfigureAwait(false); | await Discord.BaseClient.ModifyGuildChannels(Id, args).ConfigureAwait(false); | ||||
| } | } | ||||
| /// <inheritdoc /> | /// <inheritdoc /> | ||||
| public async Task ModifyRoles(IEnumerable<ModifyGuildRolesParams> args) | public async Task ModifyRoles(IEnumerable<ModifyGuildRolesParams> args) | ||||
| { | |||||
| if (args == null) throw new NullReferenceException(nameof(args)); | |||||
| { | |||||
| var models = await Discord.BaseClient.ModifyGuildRoles(Id, args).ConfigureAwait(false); | var models = await Discord.BaseClient.ModifyGuildRoles(Id, args).ConfigureAwait(false); | ||||
| Update(models); | Update(models); | ||||
| } | } | ||||
| @@ -107,13 +107,6 @@ namespace Discord.WebSocket | |||||
| await Discord.BaseClient.DeleteChannel(Id).ConfigureAwait(false); | await Discord.BaseClient.DeleteChannel(Id).ConfigureAwait(false); | ||||
| } | } | ||||
| /// <inheritdoc /> | |||||
| public async Task Update() | |||||
| { | |||||
| var model = await Discord.BaseClient.GetChannel(Id).ConfigureAwait(false); | |||||
| Update(model); | |||||
| } | |||||
| /// <inheritdoc /> | /// <inheritdoc /> | ||||
| public override string ToString() => $"@{Recipient} [DM]"; | public override string ToString() => $"@{Recipient} [DM]"; | ||||
| @@ -137,5 +130,7 @@ namespace Discord.WebSocket | |||||
| => await SendFile(stream, filename, text, isTTS).ConfigureAwait(false); | => await SendFile(stream, filename, text, isTTS).ConfigureAwait(false); | ||||
| async Task IMessageChannel.TriggerTyping() | async Task IMessageChannel.TriggerTyping() | ||||
| => await TriggerTyping().ConfigureAwait(false); | => await TriggerTyping().ConfigureAwait(false); | ||||
| Task IUpdateable.Update() | |||||
| => Task.CompletedTask; | |||||
| } | } | ||||
| } | } | ||||
| @@ -57,7 +57,6 @@ namespace Discord.WebSocket | |||||
| var args = new ModifyGuildChannelParams(); | var args = new ModifyGuildChannelParams(); | ||||
| func(args); | func(args); | ||||
| var model = await Discord.BaseClient.ModifyGuildChannel(Id, args).ConfigureAwait(false); | var model = await Discord.BaseClient.ModifyGuildChannel(Id, args).ConfigureAwait(false); | ||||
| Update(model); | |||||
| } | } | ||||
| /// <summary> Gets a user in this channel with the given id. </summary> | /// <summary> Gets a user in this channel with the given id. </summary> | ||||
| @@ -147,12 +146,6 @@ namespace Discord.WebSocket | |||||
| { | { | ||||
| await Discord.BaseClient.DeleteChannel(Id).ConfigureAwait(false); | await Discord.BaseClient.DeleteChannel(Id).ConfigureAwait(false); | ||||
| } | } | ||||
| /// <inheritdoc /> | |||||
| public async Task Update() | |||||
| { | |||||
| var model = await Discord.BaseClient.GetChannel(Id).ConfigureAwait(false); | |||||
| Update(model); | |||||
| } | |||||
| IGuild IGuildChannel.Guild => Guild; | IGuild IGuildChannel.Guild => Guild; | ||||
| async Task<IGuildInvite> IGuildChannel.CreateInvite(int? maxAge, int? maxUses, bool isTemporary, bool withXkcd) | async Task<IGuildInvite> IGuildChannel.CreateInvite(int? maxAge, int? maxUses, bool isTemporary, bool withXkcd) | ||||
| @@ -167,5 +160,7 @@ namespace Discord.WebSocket | |||||
| => await GetUsers().ConfigureAwait(false); | => await GetUsers().ConfigureAwait(false); | ||||
| async Task<IUser> IChannel.GetUser(ulong id) | async Task<IUser> IChannel.GetUser(ulong id) | ||||
| => await GetUser(id).ConfigureAwait(false); | => await GetUser(id).ConfigureAwait(false); | ||||
| Task IUpdateable.Update() | |||||
| => Task.CompletedTask; | |||||
| } | } | ||||
| } | } | ||||
| @@ -36,8 +36,7 @@ namespace Discord.WebSocket | |||||
| var args = new ModifyTextChannelParams(); | var args = new ModifyTextChannelParams(); | ||||
| func(args); | func(args); | ||||
| var model = await Discord.BaseClient.ModifyGuildChannel(Id, args).ConfigureAwait(false); | |||||
| Update(model); | |||||
| await Discord.BaseClient.ModifyGuildChannel(Id, args).ConfigureAwait(false); | |||||
| } | } | ||||
| protected override async Task<IEnumerable<GuildUser>> GetUsers() | protected override async Task<IEnumerable<GuildUser>> GetUsers() | ||||
| @@ -29,8 +29,7 @@ namespace Discord.WebSocket | |||||
| var args = new ModifyVoiceChannelParams(); | var args = new ModifyVoiceChannelParams(); | ||||
| func(args); | func(args); | ||||
| var model = await Discord.BaseClient.ModifyGuildChannel(Id, args).ConfigureAwait(false); | |||||
| Update(model); | |||||
| await Discord.BaseClient.ModifyGuildChannel(Id, args).ConfigureAwait(false); | |||||
| } | } | ||||
| protected override async Task<IEnumerable<GuildUser>> GetUsers() | protected override async Task<IEnumerable<GuildUser>> GetUsers() | ||||
| @@ -110,13 +110,7 @@ namespace Discord.WebSocket | |||||
| role.Update(model); | role.Update(model); | ||||
| } | } | ||||
| } | } | ||||
| /// <inheritdoc /> | |||||
| public async Task Update() | |||||
| { | |||||
| var response = await Discord.BaseClient.GetGuild(Id).ConfigureAwait(false); | |||||
| Update(response); | |||||
| } | |||||
| /// <inheritdoc /> | /// <inheritdoc /> | ||||
| public async Task Modify(Action<ModifyGuildParams> func) | public async Task Modify(Action<ModifyGuildParams> func) | ||||
| { | { | ||||
| @@ -124,8 +118,7 @@ namespace Discord.WebSocket | |||||
| var args = new ModifyGuildParams(); | var args = new ModifyGuildParams(); | ||||
| func(args); | func(args); | ||||
| var model = await Discord.BaseClient.ModifyGuild(Id, args).ConfigureAwait(false); | |||||
| Update(model); | |||||
| await Discord.BaseClient.ModifyGuild(Id, args).ConfigureAwait(false); | |||||
| } | } | ||||
| /// <inheritdoc /> | /// <inheritdoc /> | ||||
| public async Task ModifyEmbed(Action<ModifyGuildEmbedParams> func) | public async Task ModifyEmbed(Action<ModifyGuildEmbedParams> func) | ||||
| @@ -134,24 +127,17 @@ namespace Discord.WebSocket | |||||
| var args = new ModifyGuildEmbedParams(); | var args = new ModifyGuildEmbedParams(); | ||||
| func(args); | func(args); | ||||
| var model = await Discord.BaseClient.ModifyGuildEmbed(Id, args).ConfigureAwait(false); | |||||
| Update(model); | |||||
| await Discord.BaseClient.ModifyGuildEmbed(Id, args).ConfigureAwait(false); | |||||
| } | } | ||||
| /// <inheritdoc /> | /// <inheritdoc /> | ||||
| public async Task ModifyChannels(IEnumerable<ModifyGuildChannelsParams> args) | public async Task ModifyChannels(IEnumerable<ModifyGuildChannelsParams> args) | ||||
| { | { | ||||
| if (args == null) throw new NullReferenceException(nameof(args)); | |||||
| await Discord.BaseClient.ModifyGuildChannels(Id, args).ConfigureAwait(false); | await Discord.BaseClient.ModifyGuildChannels(Id, args).ConfigureAwait(false); | ||||
| } | } | ||||
| /// <inheritdoc /> | /// <inheritdoc /> | ||||
| public async Task ModifyRoles(IEnumerable<ModifyGuildRolesParams> args) | public async Task ModifyRoles(IEnumerable<ModifyGuildRolesParams> args) | ||||
| { | |||||
| if (args == null) throw new NullReferenceException(nameof(args)); | |||||
| var models = await Discord.BaseClient.ModifyGuildRoles(Id, args).ConfigureAwait(false); | |||||
| Update(models); | |||||
| { | |||||
| await Discord.BaseClient.ModifyGuildRoles(Id, args).ConfigureAwait(false); | |||||
| } | } | ||||
| /// <inheritdoc /> | /// <inheritdoc /> | ||||
| public async Task Leave() | public async Task Leave() | ||||
| @@ -370,5 +356,7 @@ namespace Discord.WebSocket | |||||
| => await GetCurrentUser().ConfigureAwait(false); | => await GetCurrentUser().ConfigureAwait(false); | ||||
| async Task<IEnumerable<IGuildUser>> IGuild.GetUsers() | async Task<IEnumerable<IGuildUser>> IGuild.GetUsers() | ||||
| => await GetUsers().ConfigureAwait(false); | => await GetUsers().ConfigureAwait(false); | ||||
| Task IUpdateable.Update() | |||||
| => Task.CompletedTask; | |||||
| } | } | ||||
| } | } | ||||
| @@ -67,9 +67,7 @@ namespace Discord.WebSocket | |||||
| var args = new ModifyGuildIntegrationParams(); | var args = new ModifyGuildIntegrationParams(); | ||||
| func(args); | func(args); | ||||
| var model = await Discord.BaseClient.ModifyGuildIntegration(Guild.Id, Id, args).ConfigureAwait(false); | |||||
| Update(model); | |||||
| await Discord.BaseClient.ModifyGuildIntegration(Guild.Id, Id, args).ConfigureAwait(false); | |||||
| } | } | ||||
| /// <summary> </summary> | /// <summary> </summary> | ||||
| public async Task Sync() | public async Task Sync() | ||||
| @@ -120,13 +120,11 @@ namespace Discord.WebSocket | |||||
| var args = new ModifyMessageParams(); | var args = new ModifyMessageParams(); | ||||
| func(args); | func(args); | ||||
| var guildChannel = Channel as GuildChannel; | var guildChannel = Channel as GuildChannel; | ||||
| Model model; | |||||
| if (guildChannel != null) | if (guildChannel != null) | ||||
| model = await Discord.BaseClient.ModifyMessage(guildChannel.Guild.Id, Channel.Id, Id, args).ConfigureAwait(false); | |||||
| await Discord.BaseClient.ModifyMessage(guildChannel.Guild.Id, Channel.Id, Id, args).ConfigureAwait(false); | |||||
| else | else | ||||
| model = await Discord.BaseClient.ModifyMessage(Channel.Id, Id, args).ConfigureAwait(false); | |||||
| Update(model); | |||||
| await Discord.BaseClient.ModifyMessage(Channel.Id, Id, args).ConfigureAwait(false); | |||||
| } | } | ||||
| /// <inheritdoc /> | /// <inheritdoc /> | ||||
| @@ -58,8 +58,7 @@ namespace Discord.WebSocket | |||||
| var args = new ModifyGuildRoleParams(); | var args = new ModifyGuildRoleParams(); | ||||
| func(args); | func(args); | ||||
| var response = await Discord.BaseClient.ModifyGuildRole(Guild.Id, Id, args).ConfigureAwait(false); | |||||
| Update(response); | |||||
| await Discord.BaseClient.ModifyGuildRole(Guild.Id, Id, args).ConfigureAwait(false); | |||||
| } | } | ||||
| /// <summary> Deletes this message. </summary> | /// <summary> Deletes this message. </summary> | ||||
| public async Task Delete() | public async Task Delete() | ||||
| @@ -46,12 +46,6 @@ namespace Discord.WebSocket | |||||
| _roles = roles.ToImmutable(); | _roles = roles.ToImmutable(); | ||||
| } | } | ||||
| public async Task Update() | |||||
| { | |||||
| var model = await Discord.BaseClient.GetGuildMember(Guild.Id, Id).ConfigureAwait(false); | |||||
| Update(model); | |||||
| } | |||||
| public bool HasRole(IRole role) | public bool HasRole(IRole role) | ||||
| { | { | ||||
| for (int i = 0; i < _roles.Length; i++) | for (int i = 0; i < _roles.Length; i++) | ||||
| @@ -113,5 +107,7 @@ namespace Discord.WebSocket | |||||
| ChannelPermissions IGuildUser.GetPermissions(IGuildChannel channel) | ChannelPermissions IGuildUser.GetPermissions(IGuildChannel channel) | ||||
| => GetPermissions(channel); | => GetPermissions(channel); | ||||
| Task IUpdateable.Update() | |||||
| => Task.CompletedTask; | |||||
| } | } | ||||
| } | } | ||||
| @@ -26,14 +26,7 @@ namespace Discord.WebSocket | |||||
| Email = model.Email; | Email = model.Email; | ||||
| IsVerified = model.IsVerified; | IsVerified = model.IsVerified; | ||||
| } | } | ||||
| /// <inheritdoc /> | |||||
| public async Task Update() | |||||
| { | |||||
| var model = await Discord.BaseClient.GetCurrentUser().ConfigureAwait(false); | |||||
| Update(model); | |||||
| } | |||||
| /// <inheritdoc /> | /// <inheritdoc /> | ||||
| public async Task Modify(Action<ModifyCurrentUserParams> func) | public async Task Modify(Action<ModifyCurrentUserParams> func) | ||||
| { | { | ||||
| @@ -41,8 +34,10 @@ namespace Discord.WebSocket | |||||
| var args = new ModifyCurrentUserParams(); | var args = new ModifyCurrentUserParams(); | ||||
| func(args); | func(args); | ||||
| var model = await Discord.BaseClient.ModifyCurrentUser(args).ConfigureAwait(false); | |||||
| Update(model); | |||||
| await Discord.BaseClient.ModifyCurrentUser(args).ConfigureAwait(false); | |||||
| } | } | ||||
| Task IUpdateable.Update() | |||||
| => Task.CompletedTask; | |||||
| } | } | ||||
| } | } | ||||