| @@ -66,6 +66,8 @@ namespace Discord | |||
| 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> | |||
| 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) | |||
| { | |||
| CheckReady(); | |||
| @@ -99,6 +101,9 @@ namespace Discord | |||
| //Bans | |||
| /// <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) | |||
| => Ban(server?.Id, user?.Id); | |||
| /// <summary> Bans a user from the provided server. </summary> | |||
| @@ -117,6 +122,9 @@ namespace Discord | |||
| 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> | |||
| public Task Unban(Server server, User user) | |||
| => Unban(server?.Id, user?.Id); | |||
| @@ -278,10 +286,13 @@ namespace Discord | |||
| 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) | |||
| => 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) | |||
| { | |||
| 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 | |||
| /// <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) | |||
| => Mute(server?.Id, user?.Id); | |||
| /// <summary> Mutes a user on the provided server. </summary> | |||
| @@ -612,6 +634,9 @@ namespace Discord | |||
| 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> | |||
| public Task Unmute(Server server, User user) | |||
| => Unmute(server?.Id, user?.Id); | |||
| @@ -631,6 +656,9 @@ namespace Discord | |||
| 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> | |||
| public Task Deafen(Server server, User user) | |||
| => Deafen(server?.Id, user?.Id); | |||
| @@ -650,6 +678,9 @@ namespace Discord | |||
| 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> | |||
| public Task Undeafen(Server server, User user) | |||
| => Undeafen(server?.Id, user?.Id); | |||