mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-15 19:13:31 +01:00
feat: add guild.fetchVanityCode() (#2732)
* Error for guild.fetchVanityURL feature not enabled
* added GET/guilds/{guild.id}/vanity-url endpoint
* fix: code conventions
* adopted suggestion
* Changed error message according to change request
* Renamed method
to indicate that only the code is fetched, not the entire url.
* Update Guild.js
This commit is contained in:
@@ -97,6 +97,8 @@ const Messages = {
|
|||||||
EMOJI_MANAGED: 'Emoji is managed and has no Author.',
|
EMOJI_MANAGED: 'Emoji is managed and has no Author.',
|
||||||
|
|
||||||
REACTION_RESOLVE_USER: 'Couldn\'t resolve the user ID to remove from the reaction.',
|
REACTION_RESOLVE_USER: 'Couldn\'t resolve the user ID to remove from the reaction.',
|
||||||
|
|
||||||
|
VANITY_URL: 'This guild does not have the VANITY_URL feature enabled.',
|
||||||
};
|
};
|
||||||
|
|
||||||
for (const [name, message] of Object.entries(Messages)) register(name, message);
|
for (const [name, message] of Object.entries(Messages)) register(name, message);
|
||||||
|
|||||||
@@ -434,6 +434,26 @@ class Guild extends Base {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fetches the vanity url invite code to this guild.
|
||||||
|
* Resolves with a string matching the vanity url invite code, not the full url.
|
||||||
|
* @returns {Promise<string>}
|
||||||
|
* @example
|
||||||
|
* // Fetch invites
|
||||||
|
* guild.fetchVanityCode()
|
||||||
|
* .then(code => {
|
||||||
|
* console.log(`Vanity URL: https://discord.gg/${code}`);
|
||||||
|
* })
|
||||||
|
* .catch(console.error);
|
||||||
|
*/
|
||||||
|
fetchVanityCode() {
|
||||||
|
if (!this.features.includes('VANITY_URL')) {
|
||||||
|
return Promise.reject(new Error('VANITY_URL'));
|
||||||
|
}
|
||||||
|
return this.client.api.guilds(this.id, 'vanity-url').get()
|
||||||
|
.then(res => res.code);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fetches all webhooks for the guild.
|
* Fetches all webhooks for the guild.
|
||||||
* @returns {Promise<Collection<Snowflake, Webhook>>}
|
* @returns {Promise<Collection<Snowflake, Webhook>>}
|
||||||
|
|||||||
Reference in New Issue
Block a user