Table of Contents

Interface IGuild

Namespace
Kook
Assembly
Kook.Net.Core.dll

Represents a generic guild/server.

public interface IGuild : IEntity<ulong>
Inherited Members

Properties

AudioClient

Gets the IAudioClient currently associated with this guild.

[Obsolete("Use AudioClients instead.")]
IAudioClient? AudioClient { get; }

Property Value

IAudioClient

An IAudioClient currently associated with this guild.

AudioClients

Gets a collection of all audio clients associated with this guild.

IReadOnlyDictionary<ulong, IAudioClient> AudioClients { get; }

Property Value

IReadOnlyDictionary<ulong, IAudioClient>

Available

Determines if this guild is currently connected and ready to be used.

bool Available { get; }

Property Value

bool

true if this guild is currently connected and ready to be used; otherwise false.

Remarks

note

This property only applies to a WebSocket-based client.

This boolean is used to determine if the guild is currently connected to the WebSocket and is ready to be used/accessed.

Banner

Gets the URL of this guild's banner image.

string Banner { get; }

Property Value

string

A URL pointing to the guild's banner image; null if none is set.

BoostLevel

Gets the level of guild boosting in this guild.

BoostLevel BoostLevel { get; }

Property Value

BoostLevel

The level of guild boosting in this guild.

BoostSubscriptionCount

Gets the number of boost subscribers of this guild.

int BoostSubscriptionCount { get; }

Property Value

int

The number of boost subscribers of this guild.

BufferBoostSubscriptionCount

Gets the number of boost subscribers who activates buffer of this guild.

int BufferBoostSubscriptionCount { get; }

Property Value

int

The number of boost subscribers who activates buffer of this guild.

DefaultChannelId

Gets the default channel ID for this guild.

ulong? DefaultChannelId { get; }

Property Value

ulong?

A ulong representing the default channel ID for this guild.

Emotes

Gets a collection of all custom emotes for this guild.

IReadOnlyCollection<GuildEmote> Emotes { get; }

Property Value

IReadOnlyCollection<GuildEmote>

A read-only collection of all custom emotes for this guild.

See Also

EveryoneRole

Gets the built-in role containing all users in this guild.

IRole EveryoneRole { get; }

Property Value

IRole

A role object that represents an @everyone role in this guild.

Features

Gets the features of this guild.

GuildFeatures Features { get; }

Property Value

GuildFeatures

An array of string representing the features of this guild.

Icon

Gets the URL of this guild's icon.

string Icon { get; }

Property Value

string

A URL pointing to the guild's icon; null if none is set.

IsOpenEnabled

Gets whether this guild is public.

bool IsOpenEnabled { get; }

Property Value

bool

true if this guild is public; false otherwise.

MaxBitrate

Gets the max bitrate for voice channels in this guild.

int MaxBitrate { get; }

Property Value

int

A int representing the maximum bitrate value allowed by Kook in this guild.

MaxUploadLimit

Gets the upload limit in bytes for this guild. This number is dependent on the guild's boost status.

ulong MaxUploadLimit { get; }

Property Value

ulong

Name

Gets the name of this guild.

string Name { get; }

Property Value

string

A string containing the name of this guild.

NotifyType

Gets the default notification type for this guild.

NotifyType NotifyType { get; }

Property Value

NotifyType

A NotifyType representing the default notification type for this guild.

OpenId

Gets the open ID for this guild.

uint? OpenId { get; }

Property Value

uint?

A uint representing the open ID for this guild; this property should be null if IsOpenEnabled is false.

OwnerId

Gets the ID of the user that owns this guild.

ulong OwnerId { get; }

Property Value

ulong

A ulong representing the identifier of the user that owns this guild.

RecommendInfo

Gets the recommendation information for this guild.

IRecommendInfo? RecommendInfo { get; }

Property Value

IRecommendInfo

A recommendation object that represents the recommendation information for this guild; null if the guild does not have a recommendation.

Region

Gets the default voice region for this guild.

string Region { get; }

Property Value

string

A string representing the default voice region for this guild.

Roles

Gets a collection of all roles in this guild.

IReadOnlyCollection<IRole> Roles { get; }

Property Value

IReadOnlyCollection<IRole>

A read-only collection of roles found within this guild.

Topic

Gets the topic for the guild.

string Topic { get; }

Property Value

string

The description for the guild; null if none is set.

WelcomeChannelId

Gets the welcome channel ID for this guild.

ulong? WelcomeChannelId { get; }

Property Value

ulong?

A ulong representing the welcome channel ID for this guild.

Methods

AddBanAsync(IUser, int, string?, RequestOptions?)

Bans the user from this guild and optionally prunes their recent messages.

Task AddBanAsync(IUser user, int pruneDays = 0, string? reason = null, RequestOptions? options = null)

Parameters

user IUser

The user to ban.

pruneDays int

The number of days to remove messages from this user for, and this number must be between [0, 7].

reason string

The reason of the ban to be written in the audit log.

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous add operation for the ban.

Exceptions

ArgumentException

pruneDays is not between 0 to 7.

AddBanAsync(ulong, int, string?, RequestOptions?)

Bans the user from this guild and optionally prunes their recent messages.

Task AddBanAsync(ulong userId, int pruneDays = 0, string? reason = null, RequestOptions? options = null)

Parameters

userId ulong

The identifier of the user to ban.

pruneDays int

The number of days to remove messages from this user for, and this number must be between [0, 7].

reason string

The reason of the ban to be written in the audit log.

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous add operation for the ban.

Exceptions

ArgumentException

pruneDays is not between 0 to 7.

CreateCategoryChannelAsync(string, Action<CreateCategoryChannelProperties>?, RequestOptions?)

Creates a new channel category in this guild.

Task<ICategoryChannel> CreateCategoryChannelAsync(string name, Action<CreateCategoryChannelProperties>? func = null, RequestOptions? options = null)

Parameters

name string

The new name for the category.

func Action<CreateCategoryChannelProperties>

The delegate containing the properties to be applied to the channel upon its creation.

options RequestOptions

The options to be used when sending the request.

Returns

Task<ICategoryChannel>

A task that represents the asynchronous creation operation. The task result contains the newly created category channel.

CreateEmoteAsync(string, Image, RequestOptions?)

Creates a new GuildEmote in this guild.

Task<GuildEmote> CreateEmoteAsync(string name, Image image, RequestOptions? options = null)

Parameters

name string

The name of the guild emote.

image Image

The image of the new emote.

options RequestOptions

The options to be used when sending the request.

Returns

Task<GuildEmote>

A task that represents the asynchronous creation operation. The task result contains the created emote.

CreateInviteAsync(InviteMaxAge, InviteMaxUses, RequestOptions?)

Creates a new invite to this channel.

Task<IInvite> CreateInviteAsync(InviteMaxAge maxAge = InviteMaxAge._604800, InviteMaxUses maxUses = InviteMaxUses.Unlimited, RequestOptions? options = null)

Parameters

maxAge InviteMaxAge

The time until the invite expires. Set to InviteMaxAge.NeverExpires to never expire.

maxUses InviteMaxUses

The max amount of times this invite may be used. Set to InviteMaxUses.Unlimited to have unlimited uses.

options RequestOptions

The options to be used when sending the request.

Returns

Task<IInvite>

A task that represents the asynchronous invite creation operation. The task result contains an invite metadata object containing information for the created invite.

CreateInviteAsync(int?, int?, RequestOptions?)

Creates a new invite to this channel.

Task<IInvite> CreateInviteAsync(int? maxAge = 604800, int? maxUses = null, RequestOptions? options = null)

Parameters

maxAge int?

The time (in seconds) until the invite expires. Set to null to never expire.

maxUses int?

The max amount of times this invite may be used. Set to null to have unlimited uses.

options RequestOptions

The options to be used when sending the request.

Returns

Task<IInvite>

A task that represents the asynchronous invite creation operation. The task result contains an invite metadata object containing information for the created invite.

CreateRoleAsync(string, RequestOptions?)

Creates a new role with the provided name.

Task<IRole> CreateRoleAsync(string name, RequestOptions? options = null)

Parameters

name string

The new name for the role.

options RequestOptions

The options to be used when sending the request.

Returns

Task<IRole>

A task that represents the asynchronous creation operation. The task result contains the newly created role.

CreateTextChannelAsync(string, Action<CreateTextChannelProperties>?, RequestOptions?)

Creates a new text channel in this guild.

Task<ITextChannel> CreateTextChannelAsync(string name, Action<CreateTextChannelProperties>? func = null, RequestOptions? options = null)

Parameters

name string

The new name for the text channel.

func Action<CreateTextChannelProperties>

The delegate containing the properties to be applied to the channel upon its creation.

options RequestOptions

The options to be used when sending the request.

Returns

Task<ITextChannel>

A task that represents the asynchronous creation operation. The task result contains the newly created text channel.

CreateVoiceChannelAsync(string, Action<CreateVoiceChannelProperties>?, RequestOptions?)

Creates a new voice channel in this guild.

Task<IVoiceChannel> CreateVoiceChannelAsync(string name, Action<CreateVoiceChannelProperties>? func = null, RequestOptions? options = null)

Parameters

name string

The new name for the voice channel.

func Action<CreateVoiceChannelProperties>

The delegate containing the properties to be applied to the channel upon its creation.

options RequestOptions

The options to be used when sending the request.

Returns

Task<IVoiceChannel>

A task that represents the asynchronous creation operation. The task result contains the newly created voice channel.

DeleteEmoteAsync(GuildEmote, RequestOptions?)

Deletes an existing GuildEmote from this guild.

Task DeleteEmoteAsync(GuildEmote emote, RequestOptions? options = null)

Parameters

emote GuildEmote

The emote to delete.

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous removal operation.

DownloadBoostSubscriptionsAsync(RequestOptions?)

Downloads all boost subscriptions for this guild.

Task DownloadBoostSubscriptionsAsync(RequestOptions? options = null)

Parameters

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous download operation.

Remarks

This method downloads all boost subscriptions for this guild through the Gateway and caches them. To download all boost subscriptions, the current user must has the ManageGuild permission.

DownloadUsersAsync(RequestOptions?)

Downloads all users for this guild if the current list is incomplete.

Task DownloadUsersAsync(RequestOptions? options = null)

Parameters

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous download operation.

Remarks

This method downloads all users found within this guild through the Gateway and caches them.

DownloadVoiceStatesAsync(RequestOptions?)

Downloads all voice states for this guild.

Task DownloadVoiceStatesAsync(RequestOptions? options = null)

Parameters

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous download operation.

Remarks

This method downloads all voice states for this guild through the Gateway and caches them.

GetActiveBoostSubscriptionsAsync(RequestOptions?)

Gets subscriptions which are not expired for this guild.

Task<ImmutableDictionary<IUser, IReadOnlyCollection<BoostSubscriptionMetadata>>> GetActiveBoostSubscriptionsAsync(RequestOptions? options = null)

Parameters

options RequestOptions

The options to be used when sending the request.

Returns

Task<ImmutableDictionary<IUser, IReadOnlyCollection<BoostSubscriptionMetadata>>>

A task that represents the asynchronous retrieval operation. The task result contains a collection of BoostSubscriptionMetadata which are not expired, each representing the subscriptions information.

GetBadgeAsync(BadgeStyle, RequestOptions?)

Gets a badge which is associated with this guild.

Task<Stream> GetBadgeAsync(BadgeStyle style = BadgeStyle.GuildName, RequestOptions? options = null)

Parameters

style BadgeStyle

The BadgeStyle that specifies the style of the badge.

options RequestOptions

The options to be used when sending the request.

Returns

Task<Stream>

A task that represents the asynchronous get operation. The task result contains the stream of the badge associated with this guild.

GetBanAsync(IUser, RequestOptions?)

Gets a ban object for a banned user.

Task<IBan?> GetBanAsync(IUser user, RequestOptions? options = null)

Parameters

user IUser

The banned user.

options RequestOptions

The options to be used when sending the request.

Returns

Task<IBan>

A task that represents the asynchronous get operation. The task result contains a ban object, which contains the user information and the reason for the ban; null if the ban entry cannot be found.

GetBanAsync(ulong, RequestOptions?)

Gets a ban object for a banned user.

Task<IBan?> GetBanAsync(ulong userId, RequestOptions? options = null)

Parameters

userId ulong

The identifier for the banned user.

options RequestOptions

The options to be used when sending the request.

Returns

Task<IBan>

A task that represents the asynchronous get operation. The task result contains a ban object, which contains the user information and the reason for the ban; null if the ban entry cannot be found.

GetBansAsync(RequestOptions?)

Gets a collection of all users banned in this guild.

Task<IReadOnlyCollection<IBan>> GetBansAsync(RequestOptions? options = null)

Parameters

options RequestOptions

The options to be used when sending the request.

Returns

Task<IReadOnlyCollection<IBan>>

A task that represents the asynchronous get operation. The task result contains a read-only collection of ban objects that this guild currently possesses, with each object containing the user banned and reason behind the ban.

GetBoostSubscriptionsAsync(RequestOptions?)

Gets all subscriptions for this guild.

Task<ImmutableDictionary<IUser, IReadOnlyCollection<BoostSubscriptionMetadata>>> GetBoostSubscriptionsAsync(RequestOptions? options = null)

Parameters

options RequestOptions

The options to be used when sending the request.

Returns

Task<ImmutableDictionary<IUser, IReadOnlyCollection<BoostSubscriptionMetadata>>>

A task that represents the asynchronous retrieval operation. The task result contains a collection of BoostSubscriptionMetadata, each representing the subscriptions information.

GetCategoryChannelsAsync(CacheMode, RequestOptions?)

Gets a collection of all category channels in this guild.

Task<IReadOnlyCollection<ICategoryChannel>> GetCategoryChannelsAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

mode CacheMode

The CacheMode that determines whether the object should be fetched from cache.

options RequestOptions

The options to be used when sending the request.

Returns

Task<IReadOnlyCollection<ICategoryChannel>>

A task that represents the asynchronous get operation. The task result contains a read-only collection of category channels found within this guild.

GetChannelAsync(ulong, CacheMode, RequestOptions?)

Gets a channel in this guild.

Task<IGuildChannel?> GetChannelAsync(ulong id, CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

id ulong

The identifier for the channel.

mode CacheMode

The CacheMode that determines whether the object should be fetched from cache.

options RequestOptions

The options to be used when sending the request.

Returns

Task<IGuildChannel>

A task that represents the asynchronous get operation. The task result contains the generic channel associated with the specified id; null if none is found.

GetChannelsAsync(CacheMode, RequestOptions?)

Gets a collection of all channels in this guild.

Task<IReadOnlyCollection<IGuildChannel>> GetChannelsAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

mode CacheMode

The CacheMode that determines whether the object should be fetched from cache.

options RequestOptions

The options to be used when sending the request.

Returns

Task<IReadOnlyCollection<IGuildChannel>>

A task that represents the asynchronous get operation. The task result contains a read-only collection of generic channels found within this guild.

GetCurrentUserAsync(CacheMode, RequestOptions?)

Gets the current user for this guild.

Task<IGuildUser?> GetCurrentUserAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

mode CacheMode

The CacheMode that determines whether the object should be fetched from cache.

options RequestOptions

The options to be used when sending the request.

Returns

Task<IGuildUser>

A task that represents the asynchronous get operation. The task result contains the currently logged-in user within this guild.

GetDefaultChannelAsync(CacheMode, RequestOptions?)

Gets the default text channel for this guild.

Task<ITextChannel?> GetDefaultChannelAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

mode CacheMode

The CacheMode that determines whether the object should be fetched from cache.

options RequestOptions

The options to be used when sending the request.

Returns

Task<ITextChannel>

A task that represents the asynchronous get operation. The task result contains the default text channel for this guild; null if none is found.

GetEmoteAsync(string, RequestOptions?)

Gets a specific emote from this guild.

Task<GuildEmote?> GetEmoteAsync(string id, RequestOptions? options = null)

Parameters

id string

The identifier for the guild emote.

options RequestOptions

The options to be used when sending the request.

Returns

Task<GuildEmote>

A task that represents the asynchronous get operation. The task result contains the emote found with the specified id; null if none is found.

GetEmotesAsync(RequestOptions?)

Gets a collection of emotes from this guild.

Task<IReadOnlyCollection<GuildEmote>> GetEmotesAsync(RequestOptions? options = null)

Parameters

options RequestOptions

The options to be used when sending the request.

Returns

Task<IReadOnlyCollection<GuildEmote>>

A task that represents the asynchronous get operation. The task result contains a read-only collection of emotes found within the guild.

GetInvitesAsync(RequestOptions?)

Gets a collection of all invites in this guild.

Task<IReadOnlyCollection<IInvite>> GetInvitesAsync(RequestOptions? options = null)

Parameters

options RequestOptions

The options to be used when sending the request.

Returns

Task<IReadOnlyCollection<IInvite>>

A task that represents the asynchronous get operation. The task result contains a read-only collection of invite, each representing information for an invite found within this guild.

GetOwnerAsync(CacheMode, RequestOptions?)

Gets the owner of this guild.

Task<IGuildUser?> GetOwnerAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

mode CacheMode

The CacheMode that determines whether the object should be fetched from cache.

options RequestOptions

The options to be used when sending the request.

Returns

Task<IGuildUser>

A task that represents the asynchronous get operation. The task result contains the owner of this guild.

GetRole(uint)

Gets a role in this guild.

IRole? GetRole(uint id)

Parameters

id uint

The identifier for the role.

Returns

IRole

A role that is associated with the specified id; null if none is found.

GetTextChannelAsync(ulong, CacheMode, RequestOptions?)

Gets a text channel in this guild.

Task<ITextChannel?> GetTextChannelAsync(ulong id, CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

id ulong

The identifier for the text channel.

mode CacheMode

The CacheMode that determines whether the object should be fetched from cache.

options RequestOptions

The options to be used when sending the request.

Returns

Task<ITextChannel>

A task that represents the asynchronous get operation. The task result contains the text channel associated with the specified id; null if none is found.

GetTextChannelsAsync(CacheMode, RequestOptions?)

Gets a collection of all text channels in this guild.

Task<IReadOnlyCollection<ITextChannel>> GetTextChannelsAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

mode CacheMode

The CacheMode that determines whether the object should be fetched from cache.

options RequestOptions

The options to be used when sending the request.

Returns

Task<IReadOnlyCollection<ITextChannel>>

A task that represents the asynchronous get operation. The task result contains a read-only collection of message channels found within this guild.

GetUserAsync(ulong, CacheMode, RequestOptions?)

Gets a user from this guild.

Task<IGuildUser?> GetUserAsync(ulong id, CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

id ulong

The identifier of the user.

mode CacheMode

The CacheMode that determines whether the object should be fetched from cache.

options RequestOptions

The options to be used when sending the request.

Returns

Task<IGuildUser>

A task that represents the asynchronous get operation. The task result contains the guild user associated with the specified id; null if none is found.

Remarks

This method retrieves a user found within this guild.

note

This may return null in the WebSocket implementation due to incomplete user collection in large guilds.

GetUsersAsync(CacheMode, RequestOptions?)

Gets a collection of all users in this guild.

Task<IReadOnlyCollection<IGuildUser>> GetUsersAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

mode CacheMode

The CacheMode that determines whether the object should be fetched from cache.

options RequestOptions

The options to be used when sending the request.

Returns

Task<IReadOnlyCollection<IGuildUser>>

A task that represents the asynchronous get operation. The task result contains a collection of guild users found within this guild.

Remarks

This method retrieves all users found within this guild.

GetVoiceChannelAsync(ulong, CacheMode, RequestOptions?)

Gets a voice channel in this guild.

Task<IVoiceChannel?> GetVoiceChannelAsync(ulong id, CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

id ulong

The identifier for the voice channel.

mode CacheMode

The CacheMode that determines whether the object should be fetched from cache.

options RequestOptions

The options to be used when sending the request.

Returns

Task<IVoiceChannel>

A task that represents the asynchronous get operation. The task result contains the voice channel associated with the specified id; null if none is found.

GetVoiceChannelsAsync(CacheMode, RequestOptions?)

Gets a collection of all voice channels in this guild.

Task<IReadOnlyCollection<IVoiceChannel>> GetVoiceChannelsAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

mode CacheMode

The CacheMode that determines whether the object should be fetched from cache.

options RequestOptions

The options to be used when sending the request.

Returns

Task<IReadOnlyCollection<IVoiceChannel>>

A task that represents the asynchronous get operation. The task result contains a read-only collection of voice channels found within this guild.

GetWelcomeChannelAsync(CacheMode, RequestOptions?)

Gets the welcome text channel for this guild.

Task<ITextChannel?> GetWelcomeChannelAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

mode CacheMode

The CacheMode that determines whether the object should be fetched from cache.

options RequestOptions

The options to be used when sending the request.

Returns

Task<ITextChannel>

A task that represents the asynchronous get operation. The task result contains the welcome text channel for this guild; null if none is found.

LeaveAsync(RequestOptions?)

Leaves this guild.

Task LeaveAsync(RequestOptions? options = null)

Parameters

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous leave operation.

Remarks

This method will make the currently logged-in user leave the guild.

note

If the user is the owner of this guild, use DeleteAsync(RequestOptions?) instead.

ModifyEmoteNameAsync(GuildEmote, string, RequestOptions?)

Modifies an existing GuildEmote in this guild.

Task ModifyEmoteNameAsync(GuildEmote emote, string name, RequestOptions? options = null)

Parameters

emote GuildEmote

The emote to be modified.

name string

The new name of the emote.

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous modification operation. The task result contains the modified emote.

MoveUsersAsync(IEnumerable<IGuildUser>, IVoiceChannel, RequestOptions?)

Moves the user to the voice channel.

Task MoveUsersAsync(IEnumerable<IGuildUser> users, IVoiceChannel targetChannel, RequestOptions? options = null)

Parameters

users IEnumerable<IGuildUser>

The users to move.

targetChannel IVoiceChannel

the channel where the user gets moved to.

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous operation for moving a user.

RemoveBanAsync(IUser, RequestOptions?)

Unbans the user if they are currently banned.

Task RemoveBanAsync(IUser user, RequestOptions? options = null)

Parameters

user IUser

The user to be unbanned.

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous removal operation for the ban.

RemoveBanAsync(ulong, RequestOptions?)

Unbans the user if they are currently banned.

Task RemoveBanAsync(ulong userId, RequestOptions? options = null)

Parameters

userId ulong

The identifier of the user to be unbanned.

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous removal operation for the ban.

SearchUsersAsync(Action<SearchGuildMemberProperties>, int, CacheMode, RequestOptions?)

Gets a collection of users in this guild that the name or nickname contains the provided string at func.

IAsyncEnumerable<IReadOnlyCollection<IGuildUser>> SearchUsersAsync(Action<SearchGuildMemberProperties> func, int limit = 50, CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

func Action<SearchGuildMemberProperties>

A delegate containing the properties to search users with.

limit int

The maximum number of users to be gotten.

mode CacheMode

The CacheMode that determines whether the object should be fetched from cache.

options RequestOptions

The options to be used when sending the request.

Returns

IAsyncEnumerable<IReadOnlyCollection<IGuildUser>>

A task that represents the asynchronous get operation. The task result contains a collection of guild users that matches the properties with the provided Action<T> at func.

Remarks

The limit can not be higher than MaxUsersPerBatch.