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,16 +544,22 @@ 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 {
await this.api.invites(code).post({
DiscordContext: { location: 'Markdown Link' },
data: {
session_id: this.ws.shards.first()?.sessionId,
},
});
}
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: {
session_id: this.ws.shards.first()?.sessionId,
},
});
}
/**

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}