Add Guild.fetchVoiceRegions method

This commit is contained in:
Nicolás Serna 2022-07-19 02:51:34 -03:00
parent e81b80d5cf
commit b108b74030
3 changed files with 20 additions and 1 deletions

View File

@ -448,3 +448,8 @@ export function GUILD_WIDGET(guildId: Snowflake, options: GetWidget = { get: 'se
return url; return url;
} }
/** @link https://discord.com/developers/docs/resources/guild#get-guild-voice-regions */
export function GUILD_VOICE_REGIONS(guildId: string): string {
return `/guilds/${guildId}/regions`;
}

View File

@ -10,6 +10,7 @@ import type {
DiscordMemberWithUser, DiscordMemberWithUser,
DiscordOverwrite, DiscordOverwrite,
DiscordRole, DiscordRole,
DiscordVoiceRegion,
ExplicitContentFilterLevels, ExplicitContentFilterLevels,
GuildNsfwLevel, GuildNsfwLevel,
MakeRequired, MakeRequired,
@ -994,6 +995,19 @@ export class Guild extends BaseGuild implements Model {
return new Guild(this.session, guild); return new Guild(this.session, guild);
} }
/**
* fetchVoiceRegions gets the voice regions available for the guild.
* @see {@link DiscordVoiceRegion}
* @returns Promise that resolves to an array of voice regions.
*/
async fetchVoiceRegions(): Promise<DiscordVoiceRegion[]> {
return await this.session.rest.runMethod<DiscordVoiceRegion[]>(
this.session.rest,
'GET',
Routes.GUILD_VOICE_REGIONS(this.id),
)
}
} }
export default Guild; export default Guild;

View File

@ -32,7 +32,7 @@ export function guildBootstrapper(cache: SessionCache, guild: DiscordGuild) {
const channels = new Collection( const channels = new Collection(
cache.session, cache.session,
guild.channels?.map((data) => { guild.channels?.map((data) => {
const obj = Object.assign(ChannelFactory.from(cache.session, data), { const obj = data && Object.assign(ChannelFactory.from(cache.session, data), {
messages: new Map(), messages: new Map(),
}); });