Gets or sets the slow-mode ratelimit in seconds for this channel.
</summary>
<remarks>
Setting this value to anything above zero will require each user to wait X seconds before
sending another message; setting this value to <c>0</c> will disable slow-mode for this channel.
<note>
Users with <see cref="F:Discord.ChannelPermission.ManageMessages"/> or
<see cref="F:Discord.ChannelPermission.ManageChannels"/> will be exempt from slow-mode.
</note>
</remarks>
<exception cref="T:System.ArgumentOutOfRangeException">Thrown if the value does not fall within [0, 21600].</exception>
</member>
<member name="T:Discord.VoiceChannelProperties">
<summary>
Provides properties that are used to modify an <see cref="T:Discord.IVoiceChannel" /> with the specified changes.
@@ -4747,7 +4811,7 @@
<exception cref="T:System.InvalidOperationException">A button must contain either a <see cref="P:Discord.ButtonBuilder.Url"/> or a <see cref="P:Discord.ButtonBuilder.CustomId"/>, but not both.</exception>
<exception cref="T:System.InvalidOperationException">A button must have an <see cref="P:Discord.ButtonBuilder.Emote"/> or a <see cref="P:Discord.ButtonBuilder.Label"/>.</exception>
<exception cref="T:System.InvalidOperationException">A link button must contain a URL.</exception>
<exception cref="T:System.InvalidOperationException">A link must include a protocol (http or https).</exception>
<exception cref="T:System.InvalidOperationException">A URL must include a protocol (http or https).</exception>
<exception cref="T:System.InvalidOperationException">A non-link button must contain a custom id</exception>
This method follows the same behavior as described in <see cref="M:Discord.IMessageChannel.GetMessageAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)"/>.
Please visit its documentation for more details on this method.
If all users are not downloaded then this method will call <see cref="M:Discord.WebSocket.SocketThreadChannel.DownloadUsersAsync(Discord.RequestOptions)"/> and return the result.
</remarks>
<param name="id">The snowflake identifier of the message.</param>
<param name="options">The options to be used when sending the request.</param>
<returns>
A task that represents an asynchronous get operation for retrieving the message. The task result contains
the retrieved message; <c>null</c> if no message is found with the specified identifier.
</returns>
<returns>A task representing the download operation.</returns>
Gets the last N messages from this message channel.
Downloads all users that have access to this thread.
</summary>
<remarks>
This method follows the same behavior as described in <see cref="M:Discord.IMessageChannel.GetMessagesAsync(System.Int32,Discord.CacheMode,Discord.RequestOptions)"/>.
Please visit its documentation for more details on this method.
</remarks>
<param name="limit">The numbers of message to be gotten from.</param>
<param name="options">The options to be used when sending the request.</param>
<returns>
Paged collection of messages.
</returns>
<returns>A task representing the asyncronous download operation.</returns>
This method follows the same behavior as described in <see cref="M:Discord.IMessageChannel.GetMessagesAsync(System.UInt64,Discord.Direction,System.Int32,Discord.CacheMode,Discord.RequestOptions)"/>.
Please visit its documentation for more details on this method.
</remarks>
<param name="fromMessageId">The ID of the starting message to get the messages from.</param>
<param name="dir">The direction of the messages to be gotten from.</param>
<param name="limit">The numbers of message to be gotten from.</param>
<param name="user">The <see cref="T:Discord.IGuildUser"/> to add.</param>
<param name="options">The options to be used when sending the request.</param>
<returns>
Paged collection of messages.
A task that represents the asynchronous operation of adding a member to a thread.
This method follows the same behavior as described in <see cref="M:Discord.IMessageChannel.GetMessagesAsync(Discord.IMessage,Discord.Direction,System.Int32,Discord.CacheMode,Discord.RequestOptions)"/>.
Please visit its documentation for more details on this method.
</remarks>
<param name="fromMessage">The starting message to get the messages from.</param>
<param name="dir">The direction of the messages to be gotten from.</param>
<param name="limit">The numbers of message to be gotten from.</param>
<param name="user">The <see cref="T:Discord.IGuildUser"/> to remove from this thread.</param>
<param name="options">The options to be used when sending the request.</param>
<returns>
Paged collection of messages.
A task that represents the asynchronous operation of removing a user from this thread.
<exception cref="T:System.ArgumentOutOfRangeException">Message content is too long, length must be less or equal to <see cref="F:Discord.DiscordConfig.MaxMessageSize"/>.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">Message content is too long, length must be less or equal to <see cref="F:Discord.DiscordConfig.MaxMessageSize"/>.</exception>
/// Gets a collection of messages in this channel.
/// Adds a user to this thread.
/// </summary>
/// <remarks>
/// This method follows the same behavior as described in <see cref="IMessageChannel.GetMessagesAsync(ulong, Direction, int, CacheMode, RequestOptions)"/>.
/// Please visit its documentation for more details on this method.
/// </remarks>
/// <param name="fromMessageId">The ID of the starting message to get the messages from.</param>
/// <param name="dir">The direction of the messages to be gotten from.</param>
/// <param name="limit">The numbers of message to be gotten from.</param>
/// <param name="user">The <see cref="IGuildUser"/> to add.</param>
/// <param name="options">The options to be used when sending the request.</param>
/// <returns>
/// Paged collection of messages.
/// A task that represents the asynchronous operation of adding a member to a thread.
/// </returns>
public IAsyncEnumerable<IReadOnlyCollection<IMessage>> GetMessagesAsync(ulong fromMessageId, Direction dir, int limit = DiscordConfig.MaxMessagesPerBatch, RequestOptions options = null)
/// Gets a collection of messages in this channel.
/// Removes a user from this thread.
/// </summary>
/// <remarks>
/// This method follows the same behavior as described in <see cref="IMessageChannel.GetMessagesAsync(IMessage, Direction, int, CacheMode, RequestOptions)"/>.
/// Please visit its documentation for more details on this method.
/// </remarks>
/// <param name="fromMessage">The starting message to get the messages from.</param>
/// <param name="dir">The direction of the messages to be gotten from.</param>
/// <param name="limit">The numbers of message to be gotten from.</param>
/// <param name="user">The <see cref="IGuildUser"/> to remove from this thread.</param>
/// <param name="options">The options to be used when sending the request.</param>
/// <returns>
/// Paged collection of messages.
/// A task that represents the asynchronous operation of removing a user from this thread.
/// </returns>
public IAsyncEnumerable<IReadOnlyCollection<IMessage>> GetMessagesAsync(IMessage fromMessage, Direction dir, int limit = DiscordConfig.MaxMessagesPerBatch, RequestOptions options = null)
/// <exception cref="ArgumentOutOfRangeException">Message content is too long, length must be less or equal to <see cref="DiscordConfig.MaxMessageSize"/>.</exception>
/// <exception cref="ArgumentOutOfRangeException">Message content is too long, length must be less or equal to <see cref="DiscordConfig.MaxMessageSize"/>.</exception>
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.