fix: Client#acceptInvite

This commit is contained in:
Elysia 2024-01-14 18:53:59 +07:00
parent 1bf89d9b5e
commit 6000184db3
2 changed files with 18 additions and 12 deletions

View File

@ -535,7 +535,7 @@ class Client extends BaseClient {
}
/**
* Join this Guild using this invite (fast)
* Join this Guild using this invite
* @param {InviteResolvable} invite Invite code or URL
* @returns {Promise<void>}
* @example
@ -544,9 +544,16 @@ class Client extends BaseClient {
async acceptInvite(invite) {
const code = DataResolver.resolveInviteCode(invite);
if (!code) throw new Error('INVITE_RESOLVE_CODE');
if (invite instanceof Invite) {
await invite.acceptInvite();
} else {
const i = await this.fetchInvite(code);
if (this.guilds.cache.has(i.guild?.id)) return;
/*
{
location: 'Desktop Invite Modal',
location_guild_id: i.guild?.id,
location_channel_id: i.channelId,
location_channel_type: typeof i.channel.type == 'number' ? i.channel.type : ChannelTypes[i.channel.type],
}
*/
await this.api.invites(code).post({
DiscordContext: { location: 'Markdown Link' },
data: {
@ -554,7 +561,6 @@ class Client extends BaseClient {
},
});
}
}
/**
* Redeem nitro from code or url.

View File

@ -363,7 +363,7 @@ class RequestHandler {
// Retry the request after a captcha is solved
this.manager.client.emit(
DEBUG,
`Hit a captcha while executing a request. Solving captcha ...
`Hit a captcha while executing a request (${data.captcha_key.join(', ')})
Method : ${request.method}
Path : ${request.path}
Route : ${request.route}