mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 16:43:31 +01:00
Added createInvite
This commit is contained in:
@@ -357,6 +357,56 @@ class Client extends EventEmitter {
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
// def addUserToRole
|
||||
addUserToRole(member, role, callback=function(err){}){
|
||||
return this.addMemberToRole(member, role, callback);
|
||||
}
|
||||
|
||||
// def removeMemberFromRole
|
||||
removeMemberFromRole(member, role, callback=function(err){}){
|
||||
var self = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
self.internal.removeMemberFromRole(member, role)
|
||||
.then(() => {
|
||||
callback();
|
||||
resolve();
|
||||
})
|
||||
.catch(e => {
|
||||
callback(e);
|
||||
reject(e);
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
// def removeUserFromRole
|
||||
removeUserFromRole(member, role, callback=function(err){}){
|
||||
return this.removeUserFromRole(member, role, callback);
|
||||
}
|
||||
|
||||
// def createInvite
|
||||
createInvite(chanServ, options, callback=function(err,invite){}){
|
||||
var self = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
if (typeof options === "function") {
|
||||
// length is the callback
|
||||
callback = options;
|
||||
}
|
||||
|
||||
self.internal.createInvite(chanServ, options)
|
||||
.then(invite => {
|
||||
callback(null, invite);
|
||||
resolve(invite);
|
||||
})
|
||||
.catch(e => {
|
||||
callback(e);
|
||||
reject(e);
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Client;
|
||||
@@ -19,7 +19,8 @@ var User = require("../Structures/User.js"),
|
||||
PMChannel = require("../Structures/PMChannel.js"),
|
||||
Server = require("../Structures/Server.js"),
|
||||
Message = require("../Structures/Message.js"),
|
||||
Role = require("../Structures/Role.js");
|
||||
Role = require("../Structures/Role.js"),
|
||||
Invite = require("../Structures/Invite.js");
|
||||
|
||||
var zlib;
|
||||
|
||||
@@ -621,6 +622,95 @@ class InternalClient {
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
//def removeMemberFromRole
|
||||
removeMemberFromRole(member, role){
|
||||
var self = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
member = self.resolver.resolveUser(member);
|
||||
|
||||
if(!member || !role){
|
||||
reject(new Error("member/role not in server"));
|
||||
return;
|
||||
}
|
||||
|
||||
if(role.server.memberMap[member.id]){
|
||||
|
||||
var roleIDS = role.server.memberMap[member.id].roles.map(r => r.id);
|
||||
|
||||
for(var item in roleIDS){
|
||||
if(roleIDS[item] === role.id){
|
||||
roleIDS.splice(item, 1);
|
||||
}
|
||||
}
|
||||
|
||||
request
|
||||
.patch(Endpoints.SERVER_MEMBERS(role.server.id)+"/"+member.id)
|
||||
.set("authorization", self.token)
|
||||
.send({
|
||||
roles : roleIDS
|
||||
})
|
||||
.end((err) => {
|
||||
if(err){
|
||||
reject(err);
|
||||
}else{
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
|
||||
}else{
|
||||
reject(new Error("member not in server"));
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
// def createInvite
|
||||
createInvite(chanServ, options){
|
||||
var self = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
if(chanServ instanceof Channel){
|
||||
// do something
|
||||
}else if(chanServ instanceof Server){
|
||||
// do something
|
||||
}else{
|
||||
chanServ = self.resolver.resolveServer(chanServ) || self.resolver.resolveChannel(chanServ);
|
||||
}
|
||||
|
||||
if(!chanServ){
|
||||
reject(new Error("couldn't resolve where"));
|
||||
return;
|
||||
}
|
||||
|
||||
options = options || {};
|
||||
options.max_age = options.maxAge || 0;
|
||||
options.max_uses = options.maxUses || 0;
|
||||
options.temporary = options.temporary || false;
|
||||
options.xkcdpass = options.xkcd || false;
|
||||
|
||||
var epoint;
|
||||
if(chanServ instanceof Channel){
|
||||
epoint = Endpoints.CHANNEL_INVITES(chanServ.id);
|
||||
}else{
|
||||
epoint = Endpoints.SERVER_INVITES(chanServ.id);
|
||||
}
|
||||
|
||||
request
|
||||
.post(epoint)
|
||||
.set("authorization", self.token)
|
||||
.send(options)
|
||||
.end((err, res) => {
|
||||
if(err){
|
||||
reject(err);
|
||||
}else{
|
||||
resolve(new Invite(res.body, self.channels.get("id", res.body.channel.id), self.client));
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
sendWS(object) {
|
||||
if (this.websocket)
|
||||
|
||||
Reference in New Issue
Block a user