| @@ -125,6 +125,21 @@ namespace Discord.API | |||||
| //Get | //Get | ||||
| public sealed class GetMessagesResponse : List<MessageInfo> { } | public sealed class GetMessagesResponse : List<MessageInfo> { } | ||||
| //Commands | |||||
| internal sealed class GetUsersCommand : WebSocketMessage<GetUsersCommand.Data> | |||||
| { | |||||
| public GetUsersCommand() : base(8) { } | |||||
| public class Data | |||||
| { | |||||
| [JsonProperty("guild_id")] | |||||
| public string ServerId; | |||||
| [JsonProperty("query")] | |||||
| public string Query; | |||||
| [JsonProperty("limit")] | |||||
| public int Limit; | |||||
| } | |||||
| } | |||||
| //Events | //Events | ||||
| internal sealed class MessageCreateEvent : MessageInfo { } | internal sealed class MessageCreateEvent : MessageInfo { } | ||||
| internal sealed class MessageUpdateEvent : MessageInfo { } | internal sealed class MessageUpdateEvent : MessageInfo { } | ||||
| @@ -182,6 +182,14 @@ namespace Discord | |||||
| return response.Pruned ?? 0; | return response.Pruned ?? 0; | ||||
| } | } | ||||
| /// <summary>When Config.UseLargeThreshold is enabled, running this command will request the Discord server to provide you with all offline users for a particular server.</summary> | |||||
| public void RequestOfflineUsers(string serverId) | |||||
| { | |||||
| if (serverId == null) throw new ArgumentNullException(nameof(serverId)); | |||||
| _dataSocket.SendGetUsers(serverId); | |||||
| } | |||||
| public Task EditProfile(string currentPassword = "", | public Task EditProfile(string currentPassword = "", | ||||
| string username = null, string email = null, string password = null, | string username = null, string email = null, string password = null, | ||||
| ImageType avatarType = ImageType.Png, byte[] avatar = null) | ImageType avatarType = ImageType.Png, byte[] avatar = null) | ||||
| @@ -141,5 +141,11 @@ namespace Discord.Net.WebSockets | |||||
| leaveVoice.Payload.ServerId = serverId; | leaveVoice.Payload.ServerId = serverId; | ||||
| QueueMessage(leaveVoice); | QueueMessage(leaveVoice); | ||||
| } | } | ||||
| public void SendGetUsers(string serverId, string query = "", int limit = 0) | |||||
| { | |||||
| var getOfflineUsers = new GetUsersCommand(); | |||||
| getOfflineUsers.Payload.ServerId = serverId; | |||||
| QueueMessage(getOfflineUsers); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||