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