diff --git a/src/Discord.Net.Core/Entities/Webhooks/WebhookType.cs b/src/Discord.Net.Core/Entities/Webhooks/WebhookType.cs
new file mode 100644
index 000000000..0ddfa393d
--- /dev/null
+++ b/src/Discord.Net.Core/Entities/Webhooks/WebhookType.cs
@@ -0,0 +1,14 @@
+namespace Discord
+{
+ ///
+ /// Represents the type of a webhook.
+ ///
+ ///
+ /// This type is currently unused, and is only returned in audit log responses.
+ ///
+ public enum WebhookType
+ {
+ /// An incoming webhook
+ Incoming = 1
+ }
+}
diff --git a/src/Discord.Net.Rest/API/Common/AuditLogOptions.cs b/src/Discord.Net.Rest/API/Common/AuditLogOptions.cs
index c5b229337..65b401cce 100644
--- a/src/Discord.Net.Rest/API/Common/AuditLogOptions.cs
+++ b/src/Discord.Net.Rest/API/Common/AuditLogOptions.cs
@@ -2,20 +2,19 @@
namespace Discord.API
{
- //TODO: Complete this with all possible values for options
internal class AuditLogOptions
{
//Message delete
[JsonProperty("count")]
- public int? MessageDeleteCount { get; set; } //TODO: what type of int? (returned as string)
+ public int? MessageDeleteCount { get; set; }
[JsonProperty("channel_id")]
public ulong? MessageDeleteChannelId { get; set; }
//Prune
[JsonProperty("delete_member_days")]
- public int? PruneDeleteMemberDays { get; set; } //TODO: what type of int? (returned as string)
+ public int? PruneDeleteMemberDays { get; set; }
[JsonProperty("members_removed")]
- public int? PruneMembersRemoved { get; set; } //TODO: what type of int? (returned as string)
+ public int? PruneMembersRemoved { get; set; }
//Overwrite Update
[JsonProperty("role_name")]
diff --git a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/WebhookCreateAuditLogData.cs b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/WebhookCreateAuditLogData.cs
index c1ff302b0..1ae45fb8c 100644
--- a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/WebhookCreateAuditLogData.cs
+++ b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/WebhookCreateAuditLogData.cs
@@ -7,10 +7,11 @@ namespace Discord.Rest
{
public class WebhookCreateAuditLogData : IAuditLogData
{
- private WebhookCreateAuditLogData(IWebhook webhook, string name, ulong channelId)
+ private WebhookCreateAuditLogData(IWebhook webhook, WebhookType type, string name, ulong channelId)
{
Webhook = webhook;
Name = name;
+ Type = type;
ChannelId = channelId;
}
@@ -23,19 +24,20 @@ namespace Discord.Rest
var nameModel = changes.FirstOrDefault(x => x.ChangedProperty == "name");
var channelId = channelIdModel.NewValue.ToObject();
- var type = typeModel.NewValue.ToObject(); //TODO: what on *earth* is this for
+ var type = typeModel.NewValue.ToObject();
var name = nameModel.NewValue.ToObject();
var webhookInfo = log.Webhooks?.FirstOrDefault(x => x.Id == entry.TargetId);
var webhook = RestWebhook.Create(discord, (IGuild)null, webhookInfo);
- return new WebhookCreateAuditLogData(webhook, name, channelId);
+ return new WebhookCreateAuditLogData(webhook, type, name, channelId);
}
//Corresponds to the *current* data
public IWebhook Webhook { get; }
//Corresponds to the *audit log* data
+ public WebhookType Type { get; }
public string Name { get; }
public ulong ChannelId { get; }
}
diff --git a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/WebhookDeleteAuditLogData.cs b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/WebhookDeleteAuditLogData.cs
index 16a648204..4133d5dff 100644
--- a/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/WebhookDeleteAuditLogData.cs
+++ b/src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/WebhookDeleteAuditLogData.cs
@@ -11,11 +11,12 @@ namespace Discord.Rest
{
public class WebhookDeleteAuditLogData : IAuditLogData
{
- private WebhookDeleteAuditLogData(ulong id, ulong channel, string name, string avatar)
+ private WebhookDeleteAuditLogData(ulong id, ulong channel, WebhookType type, string name, string avatar)
{
WebhookId = id;
ChannelId = channel;
Name = name;
+ Type = type;
Avatar = avatar;
}
@@ -29,15 +30,16 @@ namespace Discord.Rest
var avatarHashModel = changes.FirstOrDefault(x => x.ChangedProperty == "avatar_hash");
var channelId = channelIdModel.OldValue.ToObject();
- var type = typeModel.OldValue.ToObject(); //TODO: what on *earth* is this for
+ var type = typeModel.OldValue.ToObject();
var name = nameModel.OldValue.ToObject();
var avatarHash = avatarHashModel?.OldValue?.ToObject();
- return new WebhookDeleteAuditLogData(entry.TargetId.Value, channelId, name, avatarHash);
+ return new WebhookDeleteAuditLogData(entry.TargetId.Value, channelId, type, name, avatarHash);
}
public ulong WebhookId { get; }
public ulong ChannelId { get; }
+ public WebhookType Type { get; }
public string Name { get; }
public string Avatar { get; }
}