mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 00:23:30 +01:00
feat(Widget): wrapper for widget.json (#5619)
Co-authored-by: monbrey <rsm999@uowmail.edu.au> Co-authored-by: BannerBomb <BannerBomb55@gmail.com> Co-authored-by: SpaceEEC <spaceeec@yahoo.com> Co-authored-by: Antonio Román <kyradiscord@gmail.com> Co-authored-by: Noel <icrawltogo@gmail.com>
This commit is contained in:
@@ -15,6 +15,7 @@ const GuildTemplate = require('../structures/GuildTemplate');
|
||||
const Invite = require('../structures/Invite');
|
||||
const VoiceRegion = require('../structures/VoiceRegion');
|
||||
const Webhook = require('../structures/Webhook');
|
||||
const Widget = require('../structures/Widget');
|
||||
const Collection = require('../util/Collection');
|
||||
const { Events, DefaultOptions, InviteScopes } = require('../util/Constants');
|
||||
const DataResolver = require('../util/DataResolver');
|
||||
@@ -365,6 +366,18 @@ class Client extends BaseClient {
|
||||
.then(data => new GuildPreview(this, data));
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtains the widget of a guild from Discord, available for guilds with the widget enabled.
|
||||
* @param {GuildResolvable} guild The guild to fetch the widget for
|
||||
* @returns {Promise<Widget>}
|
||||
*/
|
||||
async fetchWidget(guild) {
|
||||
const id = this.guilds.resolveID(guild);
|
||||
if (!id) throw new TypeError('INVALID_TYPE', 'guild', 'GuildResolvable');
|
||||
const data = await this.api.guilds(id, 'widget.json').get();
|
||||
return new Widget(this, data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Options for {@link Client#generateInvite}.
|
||||
* @typedef {Object} InviteGenerationOptions
|
||||
|
||||
Reference in New Issue
Block a user