Browse Source

Merge branch 'dev' into docs/pre-release

pull/1161/head
Still Hsu 7 years ago
parent
commit
a08f083775
No known key found for this signature in database GPG Key ID: 8601A145FDA95209
9 changed files with 28 additions and 4 deletions
  1. +3
    -0
      src/Discord.Net.Core/Entities/Channels/ITextChannel.cs
  2. +10
    -0
      src/Discord.Net.Core/Entities/Channels/TextChannelProperties.cs
  3. +3
    -1
      src/Discord.Net.Rest/API/Common/Channel.cs
  4. +3
    -1
      src/Discord.Net.Rest/API/Rest/ModifyTextChannelParams.cs
  5. +2
    -0
      src/Discord.Net.Rest/DiscordRestApiClient.cs
  6. +2
    -1
      src/Discord.Net.Rest/Entities/Channels/ChannelHelper.cs
  7. +2
    -0
      src/Discord.Net.Rest/Entities/Channels/RestTextChannel.cs
  8. +1
    -1
      src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs
  9. +2
    -0
      src/Discord.Net.WebSocket/Entities/Channels/SocketTextChannel.cs

+ 3
- 0
src/Discord.Net.Core/Entities/Channels/ITextChannel.cs View File

@@ -26,6 +26,9 @@ namespace Discord
/// </returns>
string Topic { get; }

///<summary> Gets the current slow-mode delay for this channel. 0 if disabled. </summary>
int SlowModeInterval { get; }

/// <summary>
/// Bulk-deletes multiple messages.
/// </summary>


+ 10
- 0
src/Discord.Net.Core/Entities/Channels/TextChannelProperties.cs View File

@@ -14,5 +14,15 @@ namespace Discord
/// Gets or sets whether this channel should be flagged as NSFW.
/// </summary>
public Optional<bool> IsNsfw { get; set; }
/// <summary>
/// What the slow-mode ratelimit for this channel should be set to; 0 will disable slow-mode.
/// </summary>
/// <remarks>
/// This value must fall within [0, 120]
///
/// Users with <see cref="ChannelPermission.ManageMessages"/> will be exempt from slow-mode.
/// </remarks>
/// <exception cref="ArgumentOutOfRangeException">Throws ArgummentOutOfRange if the value does not fall within [0, 120]</exception>
public Optional<int> SlowModeInterval { get; set; }
}
}

+ 3
- 1
src/Discord.Net.Rest/API/Common/Channel.cs View File

@@ -1,4 +1,4 @@
#pragma warning disable CS1591
#pragma warning disable CS1591
using Newtonsoft.Json;
using System;

@@ -33,6 +33,8 @@ namespace Discord.API
public Optional<DateTimeOffset?> LastPinTimestamp { get; set; }
[JsonProperty("nsfw")]
public Optional<bool> Nsfw { get; set; }
[JsonProperty("rate_limit_per_user")]
public Optional<int> SlowMode { get; set; }

//VoiceChannel
[JsonProperty("bitrate")]


+ 3
- 1
src/Discord.Net.Rest/API/Rest/ModifyTextChannelParams.cs View File

@@ -1,4 +1,4 @@
#pragma warning disable CS1591
#pragma warning disable CS1591
using Newtonsoft.Json;

namespace Discord.API.Rest
@@ -10,5 +10,7 @@ namespace Discord.API.Rest
public Optional<string> Topic { get; set; }
[JsonProperty("nsfw")]
public Optional<bool> IsNsfw { get; set; }
[JsonProperty("rate_limit_per_user")]
public Optional<int> SlowModeInterval { get; set; }
}
}

+ 2
- 0
src/Discord.Net.Rest/DiscordRestApiClient.cs View File

@@ -360,6 +360,8 @@ namespace Discord.API
Preconditions.NotNull(args, nameof(args));
Preconditions.AtLeast(args.Position, 0, nameof(args.Position));
Preconditions.NotNullOrEmpty(args.Name, nameof(args.Name));
Preconditions.AtLeast(args.SlowModeInterval, 0, nameof(args.SlowModeInterval));
Preconditions.AtMost(args.SlowModeInterval, 120, nameof(args.SlowModeInterval));
options = RequestOptions.CreateOrClone(options);

var ids = new BucketIds(channelId: channelId);


+ 2
- 1
src/Discord.Net.Rest/Entities/Channels/ChannelHelper.cs View File

@@ -44,7 +44,8 @@ namespace Discord.Rest
Position = args.Position,
CategoryId = args.CategoryId,
Topic = args.Topic,
IsNsfw = args.IsNsfw
IsNsfw = args.IsNsfw,
SlowModeInterval = args.SlowModeInterval,
};
return await client.ApiClient.ModifyGuildChannelAsync(channel.Id, apiArgs, options).ConfigureAwait(false);
}


+ 2
- 0
src/Discord.Net.Rest/Entities/Channels/RestTextChannel.cs View File

@@ -16,6 +16,7 @@ namespace Discord.Rest
{
/// <inheritdoc />
public string Topic { get; private set; }
public int SlowModeInterval { get; private set; }
/// <inheritdoc />
public ulong? CategoryId { get; private set; }

@@ -40,6 +41,7 @@ namespace Discord.Rest
base.Update(model);
CategoryId = model.CategoryId;
Topic = model.Topic.Value;
SlowModeInterval = model.SlowMode.Value;
IsNsfw = model.Nsfw.GetValueOrDefault();
}



+ 1
- 1
src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs View File

@@ -158,7 +158,7 @@ namespace Discord.Rest
{
CategoryId = props.CategoryId,
Topic = props.Topic,
IsNsfw = props.IsNsfw
IsNsfw = props.IsNsfw,
};
var model = await client.ApiClient.CreateGuildChannelAsync(guild.Id, args, options).ConfigureAwait(false);
return RestTextChannel.Create(client, guild, model);


+ 2
- 0
src/Discord.Net.WebSocket/Entities/Channels/SocketTextChannel.cs View File

@@ -20,6 +20,7 @@ namespace Discord.WebSocket

/// <inheritdoc />
public string Topic { get; private set; }
public int SlowModeInterval { get; private set; }
/// <inheritdoc />
public ulong? CategoryId { get; private set; }
/// <summary>
@@ -62,6 +63,7 @@ namespace Discord.WebSocket
base.Update(state, model);
CategoryId = model.CategoryId;
Topic = model.Topic.Value;
SlowModeInterval = model.SlowMode.GetValueOrDefault(); // some guilds haven't been patched to include this yet?
_nsfw = model.Nsfw.GetValueOrDefault();
}



Loading…
Cancel
Save