From d443ccca134c2215d21b3a159f219ef3b6c47090 Mon Sep 17 00:00:00 2001 From: RogueException Date: Tue, 4 Oct 2016 10:21:02 -0300 Subject: [PATCH] Exposed SocketMessage.Channel --- .../Entities/Messages/SocketMessage.cs | 16 +++++++++------- .../Entities/Messages/SocketSystemMessage.cs | 8 ++++---- .../Entities/Messages/SocketUserMessage.cs | 8 ++++---- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/Discord.Net.WebSocket/Entities/Messages/SocketMessage.cs b/src/Discord.Net.WebSocket/Entities/Messages/SocketMessage.cs index 7d97ee916..3c169d0dd 100644 --- a/src/Discord.Net.WebSocket/Entities/Messages/SocketMessage.cs +++ b/src/Discord.Net.WebSocket/Entities/Messages/SocketMessage.cs @@ -10,9 +10,9 @@ namespace Discord.WebSocket public abstract class SocketMessage : SocketEntity, IMessage { private long _timestampTicks; - - public ulong ChannelId { get; } + public SocketUser Author { get; } + public ISocketMessageChannel Channel { get; } public string Content { get; private set; } @@ -28,18 +28,18 @@ namespace Discord.WebSocket public DateTimeOffset Timestamp => DateTimeUtils.FromTicks(_timestampTicks); - internal SocketMessage(DiscordSocketClient discord, ulong id, ulong channelId, SocketUser author) + internal SocketMessage(DiscordSocketClient discord, ulong id, ISocketMessageChannel channel, SocketUser author) : base(discord, id) { - ChannelId = channelId; + Channel = channel; Author = author; } - internal static SocketMessage Create(DiscordSocketClient discord, ClientState state, SocketUser author, Model model) + internal static SocketMessage Create(DiscordSocketClient discord, ClientState state, SocketUser author, ISocketMessageChannel channel, Model model) { if (model.Type == MessageType.Default) - return SocketUserMessage.Create(discord, state, author, model); + return SocketUserMessage.Create(discord, state, author, channel, model); else - return SocketSystemMessage.Create(discord, state, author, model); + return SocketSystemMessage.Create(discord, state, author, channel, model); } internal virtual void Update(ClientState state, Model model) { @@ -55,5 +55,7 @@ namespace Discord.WebSocket //IMessage IUser IMessage.Author => Author; MessageType IMessage.Type => MessageType.Default; + + ulong IMessage.ChannelId => Channel.Id; } } diff --git a/src/Discord.Net.WebSocket/Entities/Messages/SocketSystemMessage.cs b/src/Discord.Net.WebSocket/Entities/Messages/SocketSystemMessage.cs index 61bc9af1c..87d9a19c6 100644 --- a/src/Discord.Net.WebSocket/Entities/Messages/SocketSystemMessage.cs +++ b/src/Discord.Net.WebSocket/Entities/Messages/SocketSystemMessage.cs @@ -6,13 +6,13 @@ namespace Discord.WebSocket { public MessageType Type { get; private set; } - internal SocketSystemMessage(DiscordSocketClient discord, ulong id, ulong channelId, SocketUser author) - : base(discord, id, channelId, author) + internal SocketSystemMessage(DiscordSocketClient discord, ulong id, ISocketMessageChannel channel, SocketUser author) + : base(discord, id, channel, author) { } - internal new static SocketSystemMessage Create(DiscordSocketClient discord, ClientState state, SocketUser author, Model model) + internal new static SocketSystemMessage Create(DiscordSocketClient discord, ClientState state, SocketUser author, ISocketMessageChannel channel, Model model) { - var entity = new SocketSystemMessage(discord, model.Id, model.ChannelId, author); + var entity = new SocketSystemMessage(discord, model.Id, channel, author); entity.Update(state, model); return entity; } diff --git a/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs b/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs index 003acecb2..9f389ad9a 100644 --- a/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs +++ b/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs @@ -28,13 +28,13 @@ namespace Discord.WebSocket public override IReadOnlyCollection MentionedRoles => _mentionedRoles; public override IReadOnlyCollection MentionedUsers => _mentionedUsers; - internal SocketUserMessage(DiscordSocketClient discord, ulong id, ulong channelId, SocketUser author) - : base(discord, id, channelId, author) + internal SocketUserMessage(DiscordSocketClient discord, ulong id, ISocketMessageChannel channel, SocketUser author) + : base(discord, id, channel, author) { } - internal new static SocketUserMessage Create(DiscordSocketClient discord, ClientState state, SocketUser author, Model model) + internal new static SocketUserMessage Create(DiscordSocketClient discord, ClientState state, SocketUser author, ISocketMessageChannel channel, Model model) { - var entity = new SocketUserMessage(discord, model.Id, model.ChannelId, author); + var entity = new SocketUserMessage(discord, model.Id, channel, author); entity.Update(state, model); return entity; }