mirror of
https://github.com/danbulant/discord.js
synced 2026-05-31 05:11:51 +00:00
fix(Client): login not properly rejecting on invalid token
This commit is contained in:
parent
3fa9ed1f42
commit
448f38429d
3 changed files with 8 additions and 3 deletions
|
|
@ -273,7 +273,7 @@ class Client extends EventEmitter {
|
|||
* @example
|
||||
* client.login('my token');
|
||||
*/
|
||||
login(token) {
|
||||
login(token = this.token) {
|
||||
return this.rest.methods.login(token);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ class ClientManager {
|
|||
const gateway = `${res.url}/?v=${protocolVersion}&encoding=${WebSocketConnection.ENCODING}`;
|
||||
this.client.emit(Constants.Events.DEBUG, `Using gateway ${gateway}`);
|
||||
this.client.ws.connect(gateway);
|
||||
this.client.ws.connection.once('error', reject);
|
||||
this.client.ws.connection.once('close', event => {
|
||||
if (event.code === 4004) reject(new Error(Constants.Errors.BAD_LOGIN));
|
||||
if (event.code === 4010) reject(new Error(Constants.Errors.INVALID_SHARD));
|
||||
|
|
|
|||
|
|
@ -29,9 +29,13 @@ class RESTMethods {
|
|||
|
||||
login(token = this.client.token) {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (typeof token !== 'string') throw new Error(Constants.Errors.INVALID_TOKEN);
|
||||
if (!token || typeof token !== 'string') throw new Error(Constants.Errors.INVALID_TOKEN);
|
||||
token = token.replace(/^Bot\s*/i, '');
|
||||
this.client.manager.connectToWebSocket(token, resolve, reject);
|
||||
this.client.manager.connectToWebSocket(token, resolve, reject)
|
||||
.catch(e => {
|
||||
this.client.destroy();
|
||||
return Promise.reject(e);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue