diff --git a/src/Discord.Net/DiscordClient.API.cs b/src/Discord.Net/DiscordClient.API.cs index c44dcfe69..d9ba4f385 100644 --- a/src/Discord.Net/DiscordClient.API.cs +++ b/src/Discord.Net/DiscordClient.API.cs @@ -66,6 +66,8 @@ namespace Discord public Task CreatePMChannel(string userId) => CreatePMChannel(_users[userId], userId); /// Returns the private channel with the provided user, creating one if it does not currently exist. public Task CreatePMChannel(User user) => CreatePMChannel(user, user?.Id); + /// Returns the private channel with the provided user, creating one if it does not currently exist. + public Task CreatePMChannel(Member member) => CreatePMChannel(member.User, member.UserId); private async Task CreatePMChannel(User user, string userId) { CheckReady(); @@ -99,6 +101,9 @@ namespace Discord //Bans /// Bans a user from the provided server. + public Task Ban(Member member) + => Ban(member?.ServerId, member?.UserId); + /// Bans a user from the provided server. public Task Ban(Server server, User user) => Ban(server?.Id, user?.Id); /// Bans a user from the provided server. @@ -117,6 +122,9 @@ namespace Discord return _api.Ban(serverId, userId); } + /// Unbans a user from the provided server. + public Task Unban(Member member) + => Unban(member?.ServerId, member?.UserId); /// Unbans a user from the provided server. public Task Unban(Server server, User user) => Unban(server?.Id, user?.Id); @@ -278,10 +286,13 @@ namespace Discord return result; } - /// Sends a private message to the provided channel. + /// Sends a private message to the provided user. + public Task SendPrivateMessage(Member member, string text) + => SendPrivateMessage(member?.UserId, text); + /// Sends a private message to the provided user. public Task SendPrivateMessage(User user, string text) => SendPrivateMessage(user?.Id, text); - /// Sends a private message to the provided channel. + /// Sends a private message to the provided user. public async Task SendPrivateMessage(string userId, string text) { var channel = await CreatePMChannel(userId).ConfigureAwait(false); @@ -532,6 +543,10 @@ namespace Discord } //Permissions + public Task SetChannelUserPermissions(Channel channel, Member member, PackedPermissions allow, PackedPermissions deny) + => SetChannelPermissions(channel?.Id, member?.UserId, "member", allow, deny); + public Task SetChannelUserPermissions(string channelId, Member member, PackedPermissions allow, PackedPermissions deny) + => SetChannelPermissions(channelId, member?.UserId, "member", allow, deny); public Task SetChannelUserPermissions(Channel channel, User user, PackedPermissions allow, PackedPermissions deny) => SetChannelPermissions(channel?.Id, user?.Id, "member", allow, deny); public Task SetChannelUserPermissions(string channelId, User user, PackedPermissions allow, PackedPermissions deny) @@ -560,6 +575,10 @@ namespace Discord //TODO: Remove permission from cache } + public Task RemoveChannelUserPermissions(Channel channel, Member member) + => RemoveChannelPermissions(channel?.Id, member?.UserId); + public Task RemoveChannelUserPermissions(string channelId, Member member) + => RemoveChannelPermissions(channelId, member?.UserId); public Task RemoveChannelUserPermissions(Channel channel, User user) => RemoveChannelPermissions(channel?.Id, user?.Id); public Task RemoveChannelUserPermissions(string channelId, User user) @@ -594,6 +613,9 @@ namespace Discord //Voice /// Mutes a user on the provided server. + public Task Mute(Member member) + => Mute(member?.ServerId, member?.UserId); + /// Mutes a user on the provided server. public Task Mute(Server server, User user) => Mute(server?.Id, user?.Id); /// Mutes a user on the provided server. @@ -612,6 +634,9 @@ namespace Discord return _api.Mute(serverId, userId); } + /// Mutes a user on the provided server. + public Task Unmute(Member member) + => Unmute(member?.ServerId, member?.UserId); /// Unmutes a user on the provided server. public Task Unmute(Server server, User user) => Unmute(server?.Id, user?.Id); @@ -631,6 +656,9 @@ namespace Discord return _api.Unmute(serverId, userId); } + /// Deafens a user on the provided server. + public Task Deafen(Member member) + => Deafen(member?.ServerId, member?.UserId); /// Deafens a user on the provided server. public Task Deafen(Server server, User user) => Deafen(server?.Id, user?.Id); @@ -650,6 +678,9 @@ namespace Discord return _api.Deafen(serverId, userId); } + /// Undeafens a user on the provided server. + public Task Undeafen(Member member) + => Undeafen(member?.ServerId, member?.UserId); /// Undeafens a user on the provided server. public Task Undeafen(Server server, User user) => Undeafen(server?.Id, user?.Id);