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.4 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. using Discord.Net.Rest;
  2. using Discord.Net.WebSockets;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.IO;
  6. using System.Threading;
  7. using System.Threading.Tasks;
  8. namespace Discord
  9. {
  10. /// <summary> Provides a connection to the DiscordApp service. </summary>
  11. public class DiscordClient : IDisposable
  12. {
  13. public event EventHandler LoggedIn = delegate { };
  14. public event EventHandler LoggedOut = delegate { };
  15. public event EventHandler<LogMessageEventArgs> Log = 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 IRestClient ClientAPI { get; }
  41. public IRestClient StatusAPI { get; }
  42. public GatewaySocket GatewaySocket { get; }
  43. public MessageQueue MessageQueue { get; }
  44. public ConnectionState State { get; }
  45. public CancellationToken CancelToken { get; }
  46. public Profile CurrentUser { get; }
  47. public string SessionId { get; }
  48. public UserStatus Status { get; }
  49. public string CurrentGame { get; }
  50. public IEnumerable<Server> Servers { get; }
  51. public IEnumerable<PrivateChannel> PrivateChannels { get; }
  52. public IEnumerable<Region> Regions { get; }
  53. public DiscordClient() { }
  54. public DiscordClient(DiscordConfig config) { }
  55. public DiscordClient(Action<DiscordConfig> configFunc) { }
  56. public Task<string> Login(string email, string password, string token = null) => null;
  57. public Task Login(string token, bool validate = true) => null;
  58. public Task Logout() => null;
  59. /*public Task<string> Connect(string email, string password, string token = null) => null;
  60. public Task Connect(string token) => null;
  61. public Task Disconnect() => null;*/
  62. public void SetStatus(UserStatus status) { }
  63. public void SetGame(string game) { }
  64. public PrivateChannel GetPrivateChannel(ulong id) => null;
  65. public Task<PrivateChannel> CreatePrivateChannel(ulong userId) => null;
  66. public Task<Invite> GetInvite(string inviteIdOrXkcd) => null;
  67. public Region GetRegion(string id) => null;
  68. public Server GetServer(ulong id) => null;
  69. public IEnumerable<Server> FindServers(string name) => null;
  70. public Task<Server> CreateServer(string name, Region region, ImageType iconType = ImageType.None, Stream icon = null) => null;
  71. public void Dispose() { }
  72. }
  73. }