@@ -11,11 +11,14 @@ namespace Discord.Rest | |||||
/// </summary> | /// </summary> | ||||
public class ChannelCreateAuditLogData : IAuditLogData | public class ChannelCreateAuditLogData : IAuditLogData | ||||
{ | { | ||||
private ChannelCreateAuditLogData(ulong id, string name, ChannelType type, IReadOnlyCollection<Overwrite> overwrites) | |||||
private ChannelCreateAuditLogData(ulong id, string name, ChannelType type, int? rateLimit, bool? nsfw, int? bitrate, IReadOnlyCollection<Overwrite> overwrites) | |||||
{ | { | ||||
ChannelId = id; | ChannelId = id; | ||||
ChannelName = name; | ChannelName = name; | ||||
ChannelType = type; | ChannelType = type; | ||||
SlowModeInterval = rateLimit; | |||||
IsNsfw = nsfw; | |||||
Bitrate = bitrate; | |||||
Overwrites = overwrites; | Overwrites = overwrites; | ||||
} | } | ||||
@@ -27,9 +30,15 @@ namespace Discord.Rest | |||||
var overwritesModel = changes.FirstOrDefault(x => x.ChangedProperty == "permission_overwrites"); | var overwritesModel = changes.FirstOrDefault(x => x.ChangedProperty == "permission_overwrites"); | ||||
var typeModel = changes.FirstOrDefault(x => x.ChangedProperty == "type"); | var typeModel = changes.FirstOrDefault(x => x.ChangedProperty == "type"); | ||||
var nameModel = changes.FirstOrDefault(x => x.ChangedProperty == "name"); | var nameModel = changes.FirstOrDefault(x => x.ChangedProperty == "name"); | ||||
var rateLimitPerUserModel = changes.FirstOrDefault(x => x.ChangedProperty == "rate_limit_per_user"); | |||||
var nsfwModel = changes.FirstOrDefault(x => x.ChangedProperty == "nsfw"); | |||||
var bitrateModel = changes.FirstOrDefault(x => x.ChangedProperty == "bitrate"); | |||||
var type = typeModel.NewValue.ToObject<ChannelType>(discord.ApiClient.Serializer); | var type = typeModel.NewValue.ToObject<ChannelType>(discord.ApiClient.Serializer); | ||||
var name = nameModel.NewValue.ToObject<string>(discord.ApiClient.Serializer); | var name = nameModel.NewValue.ToObject<string>(discord.ApiClient.Serializer); | ||||
int? rateLimitPerUser = rateLimitPerUserModel?.NewValue?.ToObject<int>(discord.ApiClient.Serializer); | |||||
bool? nsfw = nsfwModel?.NewValue?.ToObject<bool>(discord.ApiClient.Serializer); | |||||
int? bitrate = bitrateModel?.NewValue?.ToObject<int>(discord.ApiClient.Serializer); | |||||
foreach (var overwrite in overwritesModel.NewValue) | foreach (var overwrite in overwritesModel.NewValue) | ||||
{ | { | ||||
@@ -41,7 +50,7 @@ namespace Discord.Rest | |||||
overwrites.Add(new Overwrite(id, permType, new OverwritePermissions(allow, deny))); | overwrites.Add(new Overwrite(id, permType, new OverwritePermissions(allow, deny))); | ||||
} | } | ||||
return new ChannelCreateAuditLogData(entry.TargetId.Value, name, type, overwrites.ToReadOnlyCollection()); | |||||
return new ChannelCreateAuditLogData(entry.TargetId.Value, name, type, rateLimitPerUser, nsfw, bitrate, overwrites.ToReadOnlyCollection()); | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -66,6 +75,29 @@ namespace Discord.Rest | |||||
/// </returns> | /// </returns> | ||||
public ChannelType ChannelType { get; } | public ChannelType ChannelType { get; } | ||||
/// <summary> | /// <summary> | ||||
/// Gets the current slow-mode delay of the created channel. | |||||
/// </summary> | |||||
/// <returns> | |||||
/// An <see cref="Int32"/> representing the time in seconds required before the user can send another | |||||
/// message; <c>0</c> if disabled. | |||||
/// </returns> | |||||
public int? SlowModeInterval { get; } | |||||
/// <summary> | |||||
/// Gets the value that indicates whether the created channel is NSFW. | |||||
/// </summary> | |||||
/// <returns> | |||||
/// <c>true</c> if the created channel has the NSFW flag enabled; otherwise <c>false</c>. | |||||
/// </returns> | |||||
public bool? IsNsfw { get; } | |||||
/// <summary> | |||||
/// Gets the bit-rate that the clients in the created voice channel are requested to use. | |||||
/// </summary> | |||||
/// <returns> | |||||
/// An <see cref="Int32"/> representing the bit-rate (bps) that the created voice channel defines and requests the | |||||
/// client(s) to use. | |||||
/// </returns> | |||||
public int? Bitrate { get; } | |||||
/// <summary> | |||||
/// Gets a collection of permission overwrites that was assigned to the created channel. | /// Gets a collection of permission overwrites that was assigned to the created channel. | ||||
/// </summary> | /// </summary> | ||||
/// <returns> | /// <returns> | ||||
@@ -11,11 +11,14 @@ namespace Discord.Rest | |||||
/// </summary> | /// </summary> | ||||
public class ChannelDeleteAuditLogData : IAuditLogData | public class ChannelDeleteAuditLogData : IAuditLogData | ||||
{ | { | ||||
private ChannelDeleteAuditLogData(ulong id, string name, ChannelType type, IReadOnlyCollection<Overwrite> overwrites) | |||||
private ChannelDeleteAuditLogData(ulong id, string name, ChannelType type, int? rateLimit, bool? nsfw, int? bitrate, IReadOnlyCollection<Overwrite> overwrites) | |||||
{ | { | ||||
ChannelId = id; | ChannelId = id; | ||||
ChannelName = name; | ChannelName = name; | ||||
ChannelType = type; | ChannelType = type; | ||||
SlowModeInterval = rateLimit; | |||||
IsNsfw = nsfw; | |||||
Bitrate = bitrate; | |||||
Overwrites = overwrites; | Overwrites = overwrites; | ||||
} | } | ||||
@@ -26,15 +29,21 @@ namespace Discord.Rest | |||||
var overwritesModel = changes.FirstOrDefault(x => x.ChangedProperty == "permission_overwrites"); | var overwritesModel = changes.FirstOrDefault(x => x.ChangedProperty == "permission_overwrites"); | ||||
var typeModel = changes.FirstOrDefault(x => x.ChangedProperty == "type"); | var typeModel = changes.FirstOrDefault(x => x.ChangedProperty == "type"); | ||||
var nameModel = changes.FirstOrDefault(x => x.ChangedProperty == "name"); | var nameModel = changes.FirstOrDefault(x => x.ChangedProperty == "name"); | ||||
var rateLimitPerUserModel = changes.FirstOrDefault(x => x.ChangedProperty == "rate_limit_per_user"); | |||||
var nsfwModel = changes.FirstOrDefault(x => x.ChangedProperty == "nsfw"); | |||||
var bitrateModel = changes.FirstOrDefault(x => x.ChangedProperty == "bitrate"); | |||||
var overwrites = overwritesModel.OldValue.ToObject<API.Overwrite[]>(discord.ApiClient.Serializer) | var overwrites = overwritesModel.OldValue.ToObject<API.Overwrite[]>(discord.ApiClient.Serializer) | ||||
.Select(x => new Overwrite(x.TargetId, x.TargetType, new OverwritePermissions(x.Allow, x.Deny))) | .Select(x => new Overwrite(x.TargetId, x.TargetType, new OverwritePermissions(x.Allow, x.Deny))) | ||||
.ToList(); | .ToList(); | ||||
var type = typeModel.OldValue.ToObject<ChannelType>(discord.ApiClient.Serializer); | var type = typeModel.OldValue.ToObject<ChannelType>(discord.ApiClient.Serializer); | ||||
var name = nameModel.OldValue.ToObject<string>(discord.ApiClient.Serializer); | var name = nameModel.OldValue.ToObject<string>(discord.ApiClient.Serializer); | ||||
int? rateLimitPerUser = rateLimitPerUserModel?.OldValue?.ToObject<int>(discord.ApiClient.Serializer); | |||||
bool? nsfw = nsfwModel?.OldValue?.ToObject<bool>(discord.ApiClient.Serializer); | |||||
int? bitrate = bitrateModel?.OldValue?.ToObject<int>(discord.ApiClient.Serializer); | |||||
var id = entry.TargetId.Value; | var id = entry.TargetId.Value; | ||||
return new ChannelDeleteAuditLogData(id, name, type, overwrites.ToReadOnlyCollection()); | |||||
return new ChannelDeleteAuditLogData(id, name, type, rateLimitPerUser, nsfw, bitrate, overwrites.ToReadOnlyCollection()); | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -59,6 +68,29 @@ namespace Discord.Rest | |||||
/// </returns> | /// </returns> | ||||
public ChannelType ChannelType { get; } | public ChannelType ChannelType { get; } | ||||
/// <summary> | /// <summary> | ||||
/// Gets the slow-mode delay of the deleted channel. | |||||
/// </summary> | |||||
/// <returns> | |||||
/// An <see cref="Int32"/> representing the time in seconds required before the user can send another | |||||
/// message; <c>0</c> if disabled. | |||||
/// </returns> | |||||
public int? SlowModeInterval { get; } | |||||
/// <summary> | |||||
/// Gets the value that indicates whether the deleted channel was NSFW. | |||||
/// </summary> | |||||
/// <returns> | |||||
/// <c>true</c> if this channel had the NSFW flag enabled; otherwise <c>false</c>. | |||||
/// </returns> | |||||
public bool? IsNsfw { get; } | |||||
/// <summary> | |||||
/// Gets the bit-rate of this channel if applicable. | |||||
/// </summary> | |||||
/// <returns> | |||||
/// An <see cref="Int32"/> representing the bit-rate set of the voice channel; <c>null</c> if not | |||||
/// applicable. | |||||
/// </returns> | |||||
public int? Bitrate { get; } | |||||
/// <summary> | |||||
/// Gets a collection of permission overwrites that was assigned to the deleted channel. | /// Gets a collection of permission overwrites that was assigned to the deleted channel. | ||||
/// </summary> | /// </summary> | ||||
/// <returns> | /// <returns> | ||||