You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

DiscordClient.cs 4.1 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using Discord.Net;
  2. using Discord.Net.Rest;
  3. using Discord.Net.WebSockets;
  4. using Newtonsoft.Json;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.IO;
  8. using System.Threading;
  9. using System.Threading.Tasks;
  10. namespace Discord
  11. {
  12. /// <summary> Provides a connection to the DiscordApp service. </summary>
  13. public class DiscordClient : IDisposable
  14. {
  15. public event EventHandler Ready = delegate { };
  16. public event EventHandler<ChannelEventArgs> ChannelCreated = delegate { };
  17. public event EventHandler<ChannelUpdatedEventArgs> ChannelUpdated = delegate { };
  18. public event EventHandler<ChannelEventArgs> ChannelDestroyed = delegate { };
  19. public event EventHandler<MessageEventArgs> MessageAcknowledged = delegate { };
  20. public event EventHandler<MessageEventArgs> MessageDeleted = delegate { };
  21. public event EventHandler<MessageEventArgs> MessageReceived = delegate { };
  22. public event EventHandler<MessageEventArgs> MessageSent = delegate { };
  23. public event EventHandler<MessageUpdatedEventArgs> MessageUpdated = delegate { };
  24. public event EventHandler<ProfileUpdatedEventArgs> ProfileUpdated = delegate { };
  25. public event EventHandler<RoleEventArgs> RoleCreated = delegate { };
  26. public event EventHandler<RoleUpdatedEventArgs> RoleUpdated = delegate { };
  27. public event EventHandler<RoleEventArgs> RoleDeleted = delegate { };
  28. public event EventHandler<ServerEventArgs> JoinedServer = delegate { };
  29. public event EventHandler<ServerEventArgs> LeftServer = delegate { };
  30. public event EventHandler<ServerEventArgs> ServerAvailable = delegate { };
  31. public event EventHandler<ServerUpdatedEventArgs> ServerUpdated = delegate { };
  32. public event EventHandler<ServerEventArgs> ServerUnavailable = delegate { };
  33. public event EventHandler<UserEventArgs> UserBanned = delegate { };
  34. public event EventHandler<TypingEventArgs> UserIsTyping = delegate { };
  35. public event EventHandler<UserEventArgs> UserJoined = delegate { };
  36. public event EventHandler<UserEventArgs> UserLeft = delegate { };
  37. public event EventHandler<UserUpdatedEventArgs> UserUpdated = delegate { };
  38. public event EventHandler<UserEventArgs> UserUnbanned = delegate { };
  39. public DiscordConfig Config { get; }
  40. public RestClient ClientAPI { get; }
  41. public RestClient StatusAPI { get; }
  42. public GatewaySocket GatewaySocket { get; }
  43. public MessageQueue MessageQueue { get; }
  44. public JsonSerializer Serializer { get; }
  45. public ConnectionState State { get; }
  46. public CancellationToken CancelToken { get; }
  47. public Profile CurrentUser { get; }
  48. public string SessionId { get; }
  49. public UserStatus Status { get; }
  50. public string CurrentGame { get; }
  51. public IEnumerable<Server> Servers { get; }
  52. public IEnumerable<PrivateChannel> PrivateChannels { get; }
  53. public IEnumerable<Region> Regions { get; }
  54. public DiscordClient() { }
  55. public DiscordClient(DiscordConfig config) { }
  56. public DiscordClient(Action<DiscordConfig> configFunc) { }
  57. public Task<string> Connect(string email, string password, string token = null) => null;
  58. public Task Connect(string token) => null;
  59. public Task Disconnect() => null;
  60. public void SetStatus(UserStatus status) { }
  61. public void SetGame(string game) { }
  62. public PrivateChannel GetPrivateChannel(ulong id) => null;
  63. public Task<PrivateChannel> CreatePrivateChannel(ulong userId) => null;
  64. public Task<Invite> GetInvite(string inviteIdOrXkcd) => null;
  65. public Region GetRegion(string id) => null;
  66. public Server GetServer(ulong id) => null;
  67. public IEnumerable<Server> FindServers(string name) => null;
  68. public Task<Server> CreateServer(string name, Region region, ImageType iconType = ImageType.None, Stream icon = null) => null;
  69. public void Dispose() { }
  70. }
  71. }