add an invite generator (#993)

* add an invite generator

* `number |= null` is safe, so we can simplify this

* Update Client.js

* aaaaaa
This commit is contained in:
Gus Caplan
2016-12-20 17:37:36 -06:00
committed by Amish Shah
parent 9486609ef9
commit fa7d63a10a
2 changed files with 36 additions and 0 deletions

View File

@@ -343,6 +343,29 @@ class Client extends EventEmitter {
return this.rest.methods.getMyApplication();
}
/**
* Generate an invite link for your bot
* @param {Array|number} [permissions] An array of permissions to request
* @returns {Promise<string>} The invite link
* @example
* client.generateInvite(['SEND_MESSAGES', 'MANAGE_GUILD', 'MENTION_EVERYONE'])
* .then(link => {
* console.log(link);
* });
*/
generateInvite(permissions) {
if (permissions) {
if (permissions instanceof Array) {
permissions = this.resolver.resolvePermissions(permissions);
}
} else {
permissions = 0;
}
return this.fetchApplication().then(application =>
`https://discordapp.com/oauth2/authorize?client_id=${application.id}&permissions=${permissions}&scope=bot`
);
}
/**
* Sets a timeout that will be automatically cancelled if the client is destroyed.
* @param {Function} fn Function to execute