Browse Source

Moved Rpc/WebSocket entities, fixed nullref on RPC message events

tags/1.0-rc
RogueException 8 years ago
parent
commit
260a0153f4
26 changed files with 27 additions and 13 deletions
  1. +4
    -4
      src/Discord.Net/API/DiscordRpcAPIClient.cs
  2. +0
    -1
      src/Discord.Net/Entities/Messages/Message.cs
  3. +2
    -2
      src/Discord.Net/Rpc/DiscordRpcClient.cs
  4. +3
    -3
      src/Discord.Net/Rpc/Entities/IRemoteUserGuild.cs
  5. +3
    -3
      src/Discord.Net/Rpc/Entities/RemoteUserGuild.cs
  6. +15
    -0
      src/Discord.Net/Rpc/Entities/RpcMessage.cs
  7. +0
    -0
      src/Discord.Net/WebSocket/Entities/Channels/ISocketChannel.cs
  8. +0
    -0
      src/Discord.Net/WebSocket/Entities/Channels/ISocketGuildChannel.cs
  9. +0
    -0
      src/Discord.Net/WebSocket/Entities/Channels/ISocketMessageChannel.cs
  10. +0
    -0
      src/Discord.Net/WebSocket/Entities/Channels/ISocketPrivateChannel.cs
  11. +0
    -0
      src/Discord.Net/WebSocket/Entities/Channels/MessageCache.cs
  12. +0
    -0
      src/Discord.Net/WebSocket/Entities/Channels/MessageManager.cs
  13. +0
    -0
      src/Discord.Net/WebSocket/Entities/Channels/SocketDMChannel.cs
  14. +0
    -0
      src/Discord.Net/WebSocket/Entities/Channels/SocketGroupChannel.cs
  15. +0
    -0
      src/Discord.Net/WebSocket/Entities/Channels/SocketTextChannel.cs
  16. +0
    -0
      src/Discord.Net/WebSocket/Entities/Channels/SocketVoiceChannel.cs
  17. +0
    -0
      src/Discord.Net/WebSocket/Entities/Guilds/SocketGuild.cs
  18. +0
    -0
      src/Discord.Net/WebSocket/Entities/Messages/SocketMessage.cs
  19. +0
    -0
      src/Discord.Net/WebSocket/Entities/Users/ISocketUser.cs
  20. +0
    -0
      src/Discord.Net/WebSocket/Entities/Users/Presence.cs
  21. +0
    -0
      src/Discord.Net/WebSocket/Entities/Users/SocketDMUser.cs
  22. +0
    -0
      src/Discord.Net/WebSocket/Entities/Users/SocketGlobalUser.cs
  23. +0
    -0
      src/Discord.Net/WebSocket/Entities/Users/SocketGroupUser.cs
  24. +0
    -0
      src/Discord.Net/WebSocket/Entities/Users/SocketGuildUser.cs
  25. +0
    -0
      src/Discord.Net/WebSocket/Entities/Users/SocketSelfUser.cs
  26. +0
    -0
      src/Discord.Net/WebSocket/Entities/Users/VoiceState.cs

+ 4
- 4
src/Discord.Net/API/DiscordRpcAPIClient.cs View File

@@ -90,7 +90,7 @@ namespace Discord.API
using (var reader = new StreamReader(decompressed))
using (var jsonReader = new JsonTextReader(reader))
{
var msg = _serializer.Deserialize<RpcMessage>(jsonReader);
var msg = _serializer.Deserialize<API.Rpc.RpcMessage>(jsonReader);
await _receivedRpcEvent.InvokeAsync(msg.Cmd, msg.Event, msg.Data).ConfigureAwait(false);
if (msg.Nonce.IsSpecified && msg.Nonce.Value.HasValue)
ProcessMessage(msg);
@@ -102,7 +102,7 @@ namespace Discord.API
using (var reader = new StringReader(text))
using (var jsonReader = new JsonTextReader(reader))
{
var msg = _serializer.Deserialize<RpcMessage>(jsonReader);
var msg = _serializer.Deserialize<API.Rpc.RpcMessage>(jsonReader);
await _receivedRpcEvent.InvokeAsync(msg.Cmd, msg.Event, msg.Data).ConfigureAwait(false);
if (msg.Nonce.IsSpecified && msg.Nonce.Value.HasValue)
ProcessMessage(msg);
@@ -219,7 +219,7 @@ namespace Discord.API
{
byte[] bytes = null;
var guid = Guid.NewGuid();
payload = new RpcMessage { Cmd = cmd, Event = evt, Args = payload, Nonce = guid };
payload = new API.Rpc.RpcMessage { Cmd = cmd, Event = evt, Args = payload, Nonce = guid };
if (payload != null)
{
var json = SerializeJson(payload);
@@ -338,7 +338,7 @@ namespace Discord.API
return await SendRpcAsync<SubscriptionResponse>("UNSUBSCRIBE", msg, evt: evt, options: options).ConfigureAwait(false);
}

private bool ProcessMessage(RpcMessage msg)
private bool ProcessMessage(API.Rpc.RpcMessage msg)
{
RpcRequest requestTracker;
if (_requests.TryGetValue(msg.Nonce.Value.Value, out requestTracker))


+ 0
- 1
src/Discord.Net/Entities/Messages/Message.cs View File

@@ -53,7 +53,6 @@ namespace Discord

var guildChannel = Channel as GuildChannel;
var guild = guildChannel?.Guild;
var discord = Discord;

if (model.IsTextToSpeech.IsSpecified)
IsTTS = model.IsTextToSpeech.Value;


+ 2
- 2
src/Discord.Net/Rpc/DiscordRpcClient.cs View File

@@ -355,7 +355,7 @@ namespace Discord.Rpc
{
await _rpcLogger.DebugAsync("Received Dispatch (MESSAGE_CREATE)").ConfigureAwait(false);
var data = (payload.Value as JToken).ToObject<MessageEvent>(_serializer);
var msg = new Message(null, new User(data.Message.Author.Value), data.Message);
var msg = new RpcMessage(this, data.Message);

await _messageReceivedEvent.InvokeAsync(data.ChannelId, msg).ConfigureAwait(false);
}
@@ -364,7 +364,7 @@ namespace Discord.Rpc
{
await _rpcLogger.DebugAsync("Received Dispatch (MESSAGE_UPDATE)").ConfigureAwait(false);
var data = (payload.Value as JToken).ToObject<MessageEvent>(_serializer);
var msg = new Message(null, new User(data.Message.Author.Value), data.Message);
var msg = new RpcMessage(this, data.Message);

await _messageUpdatedEvent.InvokeAsync(data.ChannelId, msg).ConfigureAwait(false);
}


src/Discord.Net/Entities/Rpc/IRemoteUserGuild.cs → src/Discord.Net/Rpc/Entities/IRemoteUserGuild.cs View File

@@ -1,8 +1,8 @@
namespace Discord.Entities.Rpc
namespace Discord.Rpc
{
public interface IRemoteUserGuild : ISnowflakeEntity
/*public interface IRemoteUserGuild : ISnowflakeEntity
{
/// <summary> Gets the name of this guild. </summary>
string Name { get; }
}
}*/
}

src/Discord.Net/Entities/Rpc/RemoteUserGuild.cs → src/Discord.Net/Rpc/Entities/RemoteUserGuild.cs View File

@@ -2,9 +2,9 @@
using System;
using Model = Discord.API.Rpc.RpcUserGuild;

namespace Discord.Entities.Rpc
namespace Discord.Rpc
{
internal class RemoteUserGuild : IRemoteUserGuild, ISnowflakeEntity
/*internal class RemoteUserGuild : IRemoteUserGuild, ISnowflakeEntity
{
public ulong Id { get; }
public DiscordRestClient Discord { get; }
@@ -26,5 +26,5 @@ namespace Discord.Entities.Rpc
}

bool IEntity<ulong>.IsAttached => false;
}
}*/
}

+ 15
- 0
src/Discord.Net/Rpc/Entities/RpcMessage.cs View File

@@ -0,0 +1,15 @@
using Discord.Rest;

namespace Discord.Rpc
{
internal class RpcMessage : Message
{
public override DiscordRestClient Discord { get; }

public RpcMessage(DiscordRpcClient discord, API.Message model)
: base(null, model.Author.IsSpecified ? new User(model.Author.Value) : null, model)
{
Discord = discord;
}
}
}

src/Discord.Net/Entities/WebSocket/Channels/ISocketChannel.cs → src/Discord.Net/WebSocket/Entities/Channels/ISocketChannel.cs View File


src/Discord.Net/Entities/WebSocket/Channels/ISocketGuildChannel.cs → src/Discord.Net/WebSocket/Entities/Channels/ISocketGuildChannel.cs View File


src/Discord.Net/Entities/WebSocket/Channels/ISocketMessageChannel.cs → src/Discord.Net/WebSocket/Entities/Channels/ISocketMessageChannel.cs View File


src/Discord.Net/Entities/WebSocket/Channels/ISocketPrivateChannel.cs → src/Discord.Net/WebSocket/Entities/Channels/ISocketPrivateChannel.cs View File


src/Discord.Net/Entities/WebSocket/Channels/MessageCache.cs → src/Discord.Net/WebSocket/Entities/Channels/MessageCache.cs View File


src/Discord.Net/Entities/WebSocket/Channels/MessageManager.cs → src/Discord.Net/WebSocket/Entities/Channels/MessageManager.cs View File


src/Discord.Net/Entities/WebSocket/Channels/SocketDMChannel.cs → src/Discord.Net/WebSocket/Entities/Channels/SocketDMChannel.cs View File


src/Discord.Net/Entities/WebSocket/Channels/SocketGroupChannel.cs → src/Discord.Net/WebSocket/Entities/Channels/SocketGroupChannel.cs View File


src/Discord.Net/Entities/WebSocket/Channels/SocketTextChannel.cs → src/Discord.Net/WebSocket/Entities/Channels/SocketTextChannel.cs View File


src/Discord.Net/Entities/WebSocket/Channels/SocketVoiceChannel.cs → src/Discord.Net/WebSocket/Entities/Channels/SocketVoiceChannel.cs View File


src/Discord.Net/Entities/WebSocket/Guilds/SocketGuild.cs → src/Discord.Net/WebSocket/Entities/Guilds/SocketGuild.cs View File


src/Discord.Net/Entities/WebSocket/Messages/SocketMessage.cs → src/Discord.Net/WebSocket/Entities/Messages/SocketMessage.cs View File


src/Discord.Net/Entities/WebSocket/Users/ISocketUser.cs → src/Discord.Net/WebSocket/Entities/Users/ISocketUser.cs View File


src/Discord.Net/Entities/WebSocket/Users/Presence.cs → src/Discord.Net/WebSocket/Entities/Users/Presence.cs View File


src/Discord.Net/Entities/WebSocket/Users/SocketDMUser.cs → src/Discord.Net/WebSocket/Entities/Users/SocketDMUser.cs View File


src/Discord.Net/Entities/WebSocket/Users/SocketGlobalUser.cs → src/Discord.Net/WebSocket/Entities/Users/SocketGlobalUser.cs View File


src/Discord.Net/Entities/WebSocket/Users/SocketGroupUser.cs → src/Discord.Net/WebSocket/Entities/Users/SocketGroupUser.cs View File


src/Discord.Net/Entities/WebSocket/Users/SocketGuildUser.cs → src/Discord.Net/WebSocket/Entities/Users/SocketGuildUser.cs View File


src/Discord.Net/Entities/WebSocket/Users/SocketSelfUser.cs → src/Discord.Net/WebSocket/Entities/Users/SocketSelfUser.cs View File


src/Discord.Net/Entities/WebSocket/Users/VoiceState.cs → src/Discord.Net/WebSocket/Entities/Users/VoiceState.cs View File


Loading…
Cancel
Save