|
|
|
@@ -11,11 +11,14 @@ namespace Discord.Rest |
|
|
|
/// </summary> |
|
|
|
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; |
|
|
|
ChannelName = name; |
|
|
|
ChannelType = type; |
|
|
|
SlowModeInterval = rateLimit; |
|
|
|
IsNsfw = nsfw; |
|
|
|
Bitrate = bitrate; |
|
|
|
Overwrites = overwrites; |
|
|
|
} |
|
|
|
|
|
|
|
@@ -27,9 +30,15 @@ namespace Discord.Rest |
|
|
|
var overwritesModel = changes.FirstOrDefault(x => x.ChangedProperty == "permission_overwrites"); |
|
|
|
var typeModel = changes.FirstOrDefault(x => x.ChangedProperty == "type"); |
|
|
|
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 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) |
|
|
|
{ |
|
|
|
@@ -41,7 +50,7 @@ namespace Discord.Rest |
|
|
|
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> |
|
|
|
@@ -66,6 +75,29 @@ namespace Discord.Rest |
|
|
|
/// </returns> |
|
|
|
public ChannelType ChannelType { get; } |
|
|
|
/// <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. |
|
|
|
/// </summary> |
|
|
|
/// <returns> |
|
|
|
|