From 007b4b11f0811b5993c27aaaf57557aec0c05f24 Mon Sep 17 00:00:00 2001 From: RogueException Date: Fri, 7 Oct 2016 18:28:39 -0300 Subject: [PATCH] Added WebhookId/IsWebhook to IMessage --- src/Discord.Net.Core/Entities/Messages/IMessage.cs | 4 ++++ src/Discord.Net.Rest/Entities/Messages/RestMessage.cs | 3 ++- .../Entities/Messages/RestUserMessage.cs | 9 ++++----- .../Entities/Messages/SocketMessage.cs | 4 ++-- .../Entities/Messages/SocketUserMessage.cs | 8 +++----- 5 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/Discord.Net.Core/Entities/Messages/IMessage.cs b/src/Discord.Net.Core/Entities/Messages/IMessage.cs index e5a5ebcbe..6f00c9ba0 100644 --- a/src/Discord.Net.Core/Entities/Messages/IMessage.cs +++ b/src/Discord.Net.Core/Entities/Messages/IMessage.cs @@ -11,6 +11,8 @@ namespace Discord bool IsTTS { get; } /// Returns true if this message was added to its channel's pinned messages. bool IsPinned { get; } + /// Returns true if this message was created using a webhook. + bool IsWebhook { get; } /// Returns the content for this message. string Content { get; } /// Gets the time this message was sent. @@ -22,6 +24,8 @@ namespace Discord ulong ChannelId { get; } /// Gets the author of this message. IUser Author { get; } + /// Gets the id of the webhook used to created this message, if any. + ulong? WebhookId { get; } /// Returns all attachments included in this message. IReadOnlyCollection Attachments { get; } diff --git a/src/Discord.Net.Rest/Entities/Messages/RestMessage.cs b/src/Discord.Net.Rest/Entities/Messages/RestMessage.cs index c2f9ab659..41bb6c7f1 100644 --- a/src/Discord.Net.Rest/Entities/Messages/RestMessage.cs +++ b/src/Discord.Net.Rest/Entities/Messages/RestMessage.cs @@ -19,7 +19,6 @@ namespace Discord.Rest public virtual bool IsTTS => false; public virtual bool IsPinned => false; - public virtual bool IsWebhook => false; public virtual DateTimeOffset? EditedTimestamp => null; public virtual IReadOnlyCollection Attachments => ImmutableArray.Create(); public virtual IReadOnlyCollection Embeds => ImmutableArray.Create(); @@ -27,6 +26,8 @@ namespace Discord.Rest public virtual IReadOnlyCollection MentionedRoleIds => ImmutableArray.Create(); public virtual IReadOnlyCollection MentionedUsers => ImmutableArray.Create(); public virtual IReadOnlyCollection Tags => ImmutableArray.Create(); + public virtual ulong? WebhookId => null; + public bool IsWebhook => WebhookId != null; public DateTimeOffset Timestamp => DateTimeUtils.FromTicks(_timestampTicks); diff --git a/src/Discord.Net.Rest/Entities/Messages/RestUserMessage.cs b/src/Discord.Net.Rest/Entities/Messages/RestUserMessage.cs index 1f27d762f..2d096434a 100644 --- a/src/Discord.Net.Rest/Entities/Messages/RestUserMessage.cs +++ b/src/Discord.Net.Rest/Entities/Messages/RestUserMessage.cs @@ -14,15 +14,14 @@ namespace Discord.Rest { private bool _isMentioningEveryone, _isTTS, _isPinned; private long? _editedTimestampTicks; + private ulong? _webhookId; private ImmutableArray _attachments; private ImmutableArray _embeds; private ImmutableArray _tags; - - public ulong? WebhookId { get; private set; } - + public override bool IsTTS => _isTTS; public override bool IsPinned => _isPinned; - public override bool IsWebhook => WebhookId != null; + public override ulong? WebhookId => _webhookId; public override DateTimeOffset? EditedTimestamp => DateTimeUtils.FromTicks(_editedTimestampTicks); public override IReadOnlyCollection Attachments => _attachments; public override IReadOnlyCollection Embeds => _embeds; @@ -55,7 +54,7 @@ namespace Discord.Rest if (model.MentionEveryone.IsSpecified) _isMentioningEveryone = model.MentionEveryone.Value; if (model.WebhookId.IsSpecified) - WebhookId = model.WebhookId.Value; + _webhookId = model.WebhookId.Value; if (model.Attachments.IsSpecified) { diff --git a/src/Discord.Net.WebSocket/Entities/Messages/SocketMessage.cs b/src/Discord.Net.WebSocket/Entities/Messages/SocketMessage.cs index 7093fabb6..a3a4cb465 100644 --- a/src/Discord.Net.WebSocket/Entities/Messages/SocketMessage.cs +++ b/src/Discord.Net.WebSocket/Entities/Messages/SocketMessage.cs @@ -17,15 +17,15 @@ namespace Discord.WebSocket public virtual bool IsTTS => false; public virtual bool IsPinned => false; - public virtual bool IsWebhook => false; public virtual DateTimeOffset? EditedTimestamp => null; - public virtual IReadOnlyCollection Attachments => ImmutableArray.Create(); public virtual IReadOnlyCollection Embeds => ImmutableArray.Create(); public virtual IReadOnlyCollection MentionedChannels => ImmutableArray.Create(); public virtual IReadOnlyCollection MentionedRoles => ImmutableArray.Create(); public virtual IReadOnlyCollection MentionedUsers => ImmutableArray.Create(); public virtual IReadOnlyCollection Tags => ImmutableArray.Create(); + public virtual ulong? WebhookId => null; + public bool IsWebhook => WebhookId != null; public DateTimeOffset Timestamp => DateTimeUtils.FromTicks(_timestampTicks); diff --git a/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs b/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs index cf2d19e34..ecad183b0 100644 --- a/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs +++ b/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs @@ -14,17 +14,15 @@ namespace Discord.WebSocket { private bool _isMentioningEveryone, _isTTS, _isPinned; private long? _editedTimestampTicks; + private ulong? _webhookId; private ImmutableArray _attachments; private ImmutableArray _embeds; private ImmutableArray _tags; - public ulong? WebhookId { get; private set; } - public override bool IsTTS => _isTTS; public override bool IsPinned => _isPinned; - public override bool IsWebhook => WebhookId != null; + public override ulong? WebhookId => _webhookId; public override DateTimeOffset? EditedTimestamp => DateTimeUtils.FromTicks(_editedTimestampTicks); - public override IReadOnlyCollection Attachments => _attachments; public override IReadOnlyCollection Embeds => _embeds; public override IReadOnlyCollection Tags => _tags; @@ -56,7 +54,7 @@ namespace Discord.WebSocket if (model.MentionEveryone.IsSpecified) _isMentioningEveryone = model.MentionEveryone.Value; if (model.WebhookId.IsSpecified) - WebhookId = model.WebhookId.Value; + _webhookId = model.WebhookId.Value; if (model.Attachments.IsSpecified) {