mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-15 11:03:30 +01:00
Removed trailing spaces, added unbanMember and kickMember
This commit is contained in:
@@ -327,6 +327,38 @@ var Client = (function (_EventEmitter) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//def unbanMember
|
||||||
|
|
||||||
|
Client.prototype.unbanMember = function unbanMember(user, server) {
|
||||||
|
var callback = arguments.length <= 2 || arguments[2] === undefined ? function (err) {} : arguments[2];
|
||||||
|
|
||||||
|
var self = this;
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
self.internal.unbanMember(user, server).then(function () {
|
||||||
|
callback();
|
||||||
|
resolve();
|
||||||
|
})["catch"](function (e) {
|
||||||
|
callback(e);reject(e);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
//def kickMember
|
||||||
|
|
||||||
|
Client.prototype.kickMember = function kickMember(user, server) {
|
||||||
|
var callback = arguments.length <= 2 || arguments[2] === undefined ? function (err) {} : arguments[2];
|
||||||
|
|
||||||
|
var self = this;
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
self.internal.kickMember(user, server).then(function () {
|
||||||
|
callback();
|
||||||
|
resolve();
|
||||||
|
})["catch"](function (e) {
|
||||||
|
callback(e);reject(e);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
//def createRole
|
//def createRole
|
||||||
|
|
||||||
Client.prototype.createRole = function createRole(server) {
|
Client.prototype.createRole = function createRole(server) {
|
||||||
|
|||||||
@@ -525,6 +525,44 @@ var InternalClient = (function () {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// def unbanMember
|
||||||
|
|
||||||
|
InternalClient.prototype.unbanMember = function unbanMember(user, server) {
|
||||||
|
var self = this;
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
|
||||||
|
user = self.resolver.resolveUser(user);
|
||||||
|
server = self.resolver.resolveServer(server);
|
||||||
|
|
||||||
|
request.delete(Endpoints.SERVER_BANS(server.id) + "/" + user.id).set("authorization", self.token).end(function (err, res) {
|
||||||
|
if (err) {
|
||||||
|
reject(err);
|
||||||
|
} else {
|
||||||
|
resolve();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
// def kickMember
|
||||||
|
|
||||||
|
InternalClient.prototype.kickMember = function kickMember(user, server) {
|
||||||
|
var self = this;
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
|
||||||
|
user = self.resolver.resolveUser(user);
|
||||||
|
server = self.resolver.resolveServer(server);
|
||||||
|
|
||||||
|
request.delete(Endpoints.SERVER_MEMBERS(server.id) + "/" + user.id).set("authorization", self.token).end(function (err, res) {
|
||||||
|
if (err) {
|
||||||
|
reject(err);
|
||||||
|
} else {
|
||||||
|
resolve();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
// def createRole
|
// def createRole
|
||||||
|
|
||||||
InternalClient.prototype.createRole = function createRole(server, data) {
|
InternalClient.prototype.createRole = function createRole(server, data) {
|
||||||
|
|||||||
@@ -13,23 +13,23 @@ class Client extends EventEmitter {
|
|||||||
this.options = options || {};
|
this.options = options || {};
|
||||||
this.internal = new InternalClient(this);
|
this.internal = new InternalClient(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
get users(){
|
get users(){
|
||||||
return this.internal.users;
|
return this.internal.users;
|
||||||
}
|
}
|
||||||
|
|
||||||
get channels(){
|
get channels(){
|
||||||
return this.internal.channels;
|
return this.internal.channels;
|
||||||
}
|
}
|
||||||
|
|
||||||
get servers(){
|
get servers(){
|
||||||
return this.internal.servers;
|
return this.internal.servers;
|
||||||
}
|
}
|
||||||
|
|
||||||
get privateChannels(){
|
get privateChannels(){
|
||||||
return this.internal.private_channels;
|
return this.internal.private_channels;
|
||||||
}
|
}
|
||||||
|
|
||||||
// def login
|
// def login
|
||||||
login(email, password, cb = function (err, token) { }) {
|
login(email, password, cb = function (err, token) { }) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -47,7 +47,7 @@ class Client extends EventEmitter {
|
|||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def logout
|
// def logout
|
||||||
logout(cb = function (err) { }) {
|
logout(cb = function (err) { }) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -86,7 +86,7 @@ class Client extends EventEmitter {
|
|||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def sendTTSMessage
|
// def sendTTSMessage
|
||||||
sendTTSMessage(where, content, callback = function (e, m) { }) {
|
sendTTSMessage(where, content, callback = function (e, m) { }) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -131,7 +131,7 @@ class Client extends EventEmitter {
|
|||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def replyTTS
|
// def replyTTS
|
||||||
replyTTS(where, content, callback = function () { }) {
|
replyTTS(where, content, callback = function () { }) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
@@ -174,7 +174,7 @@ class Client extends EventEmitter {
|
|||||||
// options is the callback
|
// options is the callback
|
||||||
callback = options;
|
callback = options;
|
||||||
}
|
}
|
||||||
|
|
||||||
self.internal.updateMessage(msg, content, options)
|
self.internal.updateMessage(msg, content, options)
|
||||||
.then(msg => {
|
.then(msg => {
|
||||||
callback(null, msg);
|
callback(null, msg);
|
||||||
@@ -184,13 +184,13 @@ class Client extends EventEmitter {
|
|||||||
callback(e);
|
callback(e);
|
||||||
reject(e);
|
reject(e);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def getChannelLogs
|
// def getChannelLogs
|
||||||
getChannelLogs(where, limit=500, options={}, callback=function(err, logs){}){
|
getChannelLogs(where, limit=500, options={}, callback=function(err, logs){}){
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
if (typeof options === "function") {
|
if (typeof options === "function") {
|
||||||
@@ -206,11 +206,11 @@ class Client extends EventEmitter {
|
|||||||
callback(e);
|
callback(e);
|
||||||
reject(e);
|
reject(e);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// def sendFile
|
// def sendFile
|
||||||
sendFile(where, attachment, name="image.png", callback=function(err, m){}){
|
sendFile(where, attachment, name="image.png", callback=function(err, m){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -224,10 +224,10 @@ class Client extends EventEmitter {
|
|||||||
callback(e);
|
callback(e);
|
||||||
reject(e);
|
reject(e);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
createServer(name, region="london", callback=function(err, srv){}){
|
createServer(name, region="london", callback=function(err, srv){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
@@ -242,12 +242,12 @@ class Client extends EventEmitter {
|
|||||||
})
|
})
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def leaveServer
|
// def leaveServer
|
||||||
leaveServer(server, callback=function(err){}){
|
leaveServer(server, callback=function(err){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|
||||||
self.internal.leaveServer(server)
|
self.internal.leaveServer(server)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
callback(); resolve();
|
callback(); resolve();
|
||||||
@@ -255,10 +255,10 @@ class Client extends EventEmitter {
|
|||||||
.catch(e => {
|
.catch(e => {
|
||||||
callback(e); reject(e);
|
callback(e); reject(e);
|
||||||
})
|
})
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def createChannel
|
// def createChannel
|
||||||
createChannel(server, name, type="text", callback=function(err,channel){}){
|
createChannel(server, name, type="text", callback=function(err,channel){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -274,15 +274,15 @@ class Client extends EventEmitter {
|
|||||||
.catch(e => {
|
.catch(e => {
|
||||||
callback(e); reject(e);
|
callback(e); reject(e);
|
||||||
})
|
})
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def deleteChannel
|
// def deleteChannel
|
||||||
deleteChannel(channel, callback=function(err){}){
|
deleteChannel(channel, callback=function(err){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|
||||||
self.internal.deleteChannel(channel)
|
self.internal.deleteChannel(channel)
|
||||||
.then( () => {
|
.then( () => {
|
||||||
callback();
|
callback();
|
||||||
@@ -291,10 +291,10 @@ class Client extends EventEmitter {
|
|||||||
.catch( e => {
|
.catch( e => {
|
||||||
callback(e); reject(e);
|
callback(e); reject(e);
|
||||||
})
|
})
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//def banMember
|
//def banMember
|
||||||
banMember(user, server, length=1, callback=function(err){}){
|
banMember(user, server, length=1, callback=function(err){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -311,10 +311,42 @@ class Client extends EventEmitter {
|
|||||||
.catch( e => {
|
.catch( e => {
|
||||||
callback(e); reject(e);
|
callback(e); reject(e);
|
||||||
})
|
})
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//def unbanMember
|
||||||
|
unbanMember(user, server, callback=function(err){}){
|
||||||
|
var self = this;
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
self.internal.unbanMember(user, server)
|
||||||
|
.then( () => {
|
||||||
|
callback();
|
||||||
|
resolve();
|
||||||
|
})
|
||||||
|
.catch( e => {
|
||||||
|
callback(e); reject(e);
|
||||||
|
})
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//def kickMember
|
||||||
|
kickMember(user, server, callback=function(err){}){
|
||||||
|
var self = this;
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
self.internal.kickMember(user, server)
|
||||||
|
.then( () => {
|
||||||
|
callback();
|
||||||
|
resolve();
|
||||||
|
})
|
||||||
|
.catch( e => {
|
||||||
|
callback(e); reject(e);
|
||||||
|
})
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
//def createRole
|
//def createRole
|
||||||
createRole(server, data=null, callback=function(err,res){}){
|
createRole(server, data=null, callback=function(err,res){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -332,16 +364,16 @@ class Client extends EventEmitter {
|
|||||||
callback(e);
|
callback(e);
|
||||||
reject(e);
|
reject(e);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//def deleteRole
|
//def deleteRole
|
||||||
deleteRole(role, callback=function(err){}){
|
deleteRole(role, callback=function(err){}){
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|
||||||
self.internal.deleteRole(role)
|
self.internal.deleteRole(role)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
callback();
|
callback();
|
||||||
@@ -349,18 +381,18 @@ class Client extends EventEmitter {
|
|||||||
})
|
})
|
||||||
.catch(e => {
|
.catch(e => {
|
||||||
callback(e);
|
callback(e);
|
||||||
reject(e);
|
reject(e);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//def addMemberToRole
|
//def addMemberToRole
|
||||||
addMemberToRole(member, role, callback=function(err){}){
|
addMemberToRole(member, role, callback=function(err){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|
||||||
self.internal.addMemberToRole(member, role)
|
self.internal.addMemberToRole(member, role)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
callback();
|
callback();
|
||||||
@@ -368,22 +400,22 @@ class Client extends EventEmitter {
|
|||||||
})
|
})
|
||||||
.catch(e => {
|
.catch(e => {
|
||||||
callback(e);
|
callback(e);
|
||||||
reject(e);
|
reject(e);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def addUserToRole
|
// def addUserToRole
|
||||||
addUserToRole(member, role, callback=function(err){}){
|
addUserToRole(member, role, callback=function(err){}){
|
||||||
return this.addMemberToRole(member, role, callback);
|
return this.addMemberToRole(member, role, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
// def removeMemberFromRole
|
// def removeMemberFromRole
|
||||||
removeMemberFromRole(member, role, callback=function(err){}){
|
removeMemberFromRole(member, role, callback=function(err){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|
||||||
self.internal.removeMemberFromRole(member, role)
|
self.internal.removeMemberFromRole(member, role)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
callback();
|
callback();
|
||||||
@@ -391,17 +423,17 @@ class Client extends EventEmitter {
|
|||||||
})
|
})
|
||||||
.catch(e => {
|
.catch(e => {
|
||||||
callback(e);
|
callback(e);
|
||||||
reject(e);
|
reject(e);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def removeUserFromRole
|
// def removeUserFromRole
|
||||||
removeUserFromRole(member, role, callback=function(err){}){
|
removeUserFromRole(member, role, callback=function(err){}){
|
||||||
return this.removeUserFromRole(member, role, callback);
|
return this.removeUserFromRole(member, role, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
// def createInvite
|
// def createInvite
|
||||||
createInvite(chanServ, options, callback=function(err,invite){}){
|
createInvite(chanServ, options, callback=function(err,invite){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -410,7 +442,7 @@ class Client extends EventEmitter {
|
|||||||
// length is the callback
|
// length is the callback
|
||||||
callback = options;
|
callback = options;
|
||||||
}
|
}
|
||||||
|
|
||||||
self.internal.createInvite(chanServ, options)
|
self.internal.createInvite(chanServ, options)
|
||||||
.then(invite => {
|
.then(invite => {
|
||||||
callback(null, invite);
|
callback(null, invite);
|
||||||
@@ -418,17 +450,17 @@ class Client extends EventEmitter {
|
|||||||
})
|
})
|
||||||
.catch(e => {
|
.catch(e => {
|
||||||
callback(e);
|
callback(e);
|
||||||
reject(e);
|
reject(e);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def overwritePermissions
|
// def overwritePermissions
|
||||||
overwritePermissions(channel, role, options={}, callback=function(err){}){
|
overwritePermissions(channel, role, options={}, callback=function(err){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|
||||||
self.internal.overwritePermissions(channel, role, options)
|
self.internal.overwritePermissions(channel, role, options)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
callback();
|
callback();
|
||||||
@@ -438,15 +470,15 @@ class Client extends EventEmitter {
|
|||||||
callback(e);
|
callback(e);
|
||||||
reject(e);
|
reject(e);
|
||||||
})
|
})
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def setTopic
|
// def setTopic
|
||||||
setTopic(channel, topic, callback=function(err){}){
|
setTopic(channel, topic, callback=function(err){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|
||||||
self.internal.setTopic(channel, topic)
|
self.internal.setTopic(channel, topic)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
callback();
|
callback();
|
||||||
@@ -456,15 +488,15 @@ class Client extends EventEmitter {
|
|||||||
callback(e);
|
callback(e);
|
||||||
reject(e);
|
reject(e);
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
//def setChannelName
|
//def setChannelName
|
||||||
setChannelName(channel, topic, callback=function(err){}){
|
setChannelName(channel, topic, callback=function(err){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|
||||||
self.internal.setChannelName(channel, topic)
|
self.internal.setChannelName(channel, topic)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
callback();
|
callback();
|
||||||
@@ -474,15 +506,15 @@ class Client extends EventEmitter {
|
|||||||
callback(e);
|
callback(e);
|
||||||
reject(e);
|
reject(e);
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
//def setChannelNameAndTopic
|
//def setChannelNameAndTopic
|
||||||
setChannelNameAndTopic(channel, name, topic, callback=function(err){}){
|
setChannelNameAndTopic(channel, name, topic, callback=function(err){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|
||||||
self.internal.setChannelNameAndTopic(channel, name, topic)
|
self.internal.setChannelNameAndTopic(channel, name, topic)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
callback();
|
callback();
|
||||||
@@ -492,15 +524,15 @@ class Client extends EventEmitter {
|
|||||||
callback(e);
|
callback(e);
|
||||||
reject(e);
|
reject(e);
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
//def updateChannel
|
//def updateChannel
|
||||||
updateChannel(channel, data, callback=function(err){}){
|
updateChannel(channel, data, callback=function(err){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|
||||||
self.internal.updateChannel(channel, data)
|
self.internal.updateChannel(channel, data)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
callback();
|
callback();
|
||||||
@@ -510,15 +542,15 @@ class Client extends EventEmitter {
|
|||||||
callback(e);
|
callback(e);
|
||||||
reject(e);
|
reject(e);
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
//def joinVoiceChannel
|
//def joinVoiceChannel
|
||||||
joinVoiceChannel(channel, callback=function(err){}){
|
joinVoiceChannel(channel, callback=function(err){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
return new Promise((resolve, reject)=>{
|
return new Promise((resolve, reject)=>{
|
||||||
|
|
||||||
self.internal.joinVoiceChannel(channel)
|
self.internal.joinVoiceChannel(channel)
|
||||||
.then(chan => {
|
.then(chan => {
|
||||||
callback(null, chan);
|
callback(null, chan);
|
||||||
@@ -528,7 +560,7 @@ class Client extends EventEmitter {
|
|||||||
callback(err);
|
callback(err);
|
||||||
reject(err);
|
reject(err);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ class InternalClient {
|
|||||||
if (this.client.options.compress) {
|
if (this.client.options.compress) {
|
||||||
zlib = require("zlib");
|
zlib = require("zlib");
|
||||||
}
|
}
|
||||||
|
|
||||||
// creates 4 caches with discriminators based on ID
|
// creates 4 caches with discriminators based on ID
|
||||||
this.users = new Cache();
|
this.users = new Cache();
|
||||||
this.channels = new Cache();
|
this.channels = new Cache();
|
||||||
@@ -43,7 +43,7 @@ class InternalClient {
|
|||||||
this.voiceConnection = null;
|
this.voiceConnection = null;
|
||||||
this.resolver = new Resolver(this);
|
this.resolver = new Resolver(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
//def leaveVoiceChannel
|
//def leaveVoiceChannel
|
||||||
leaveVoiceChannel() {
|
leaveVoiceChannel() {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -57,7 +57,7 @@ class InternalClient {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//def joinVoiceChannel
|
//def joinVoiceChannel
|
||||||
joinVoiceChannel(chann) {
|
joinVoiceChannel(chann) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -107,7 +107,7 @@ class InternalClient {
|
|||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def createServer
|
// def createServer
|
||||||
createServer(name, region = "london") {
|
createServer(name, region = "london") {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -133,7 +133,7 @@ class InternalClient {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//def leaveServer
|
//def leaveServer
|
||||||
leaveServer(srv) {
|
leaveServer(srv) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -163,7 +163,7 @@ class InternalClient {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def login
|
// def login
|
||||||
login(email, password) {
|
login(email, password) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -241,7 +241,7 @@ class InternalClient {
|
|||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def startPM
|
// def startPM
|
||||||
startPM(resUser) {
|
startPM(resUser) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -249,7 +249,7 @@ class InternalClient {
|
|||||||
var user = self.resolver.resolveUser(resUser);
|
var user = self.resolver.resolveUser(resUser);
|
||||||
|
|
||||||
if (user) {
|
if (user) {
|
||||||
|
|
||||||
// start the PM
|
// start the PM
|
||||||
request
|
request
|
||||||
.post(`${Endpoints.USER_CHANNELS(user.id) }`)
|
.post(`${Endpoints.USER_CHANNELS(user.id) }`)
|
||||||
@@ -289,7 +289,7 @@ class InternalClient {
|
|||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def sendMessage
|
// def sendMessage
|
||||||
sendMessage(where, _content, options = {}) {
|
sendMessage(where, _content, options = {}) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -365,7 +365,7 @@ class InternalClient {
|
|||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def updateMessage
|
// def updateMessage
|
||||||
updateMessage(msg, _content, options = {}) {
|
updateMessage(msg, _content, options = {}) {
|
||||||
|
|
||||||
@@ -405,7 +405,7 @@ class InternalClient {
|
|||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// def sendFile
|
// def sendFile
|
||||||
sendFile(where, _file, name = "image.png") {
|
sendFile(where, _file, name = "image.png") {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -481,7 +481,7 @@ class InternalClient {
|
|||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def createChannel
|
// def createChannel
|
||||||
createChannel(server, name, type = "text") {
|
createChannel(server, name, type = "text") {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -512,7 +512,7 @@ class InternalClient {
|
|||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def deleteChannel
|
// def deleteChannel
|
||||||
deleteChannel(_channel) {
|
deleteChannel(_channel) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -536,7 +536,7 @@ class InternalClient {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def banMember
|
// def banMember
|
||||||
banMember(user, server, length = 1) {
|
banMember(user, server, length = 1) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -557,7 +557,49 @@ class InternalClient {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// def unbanMember
|
||||||
|
unbanMember(user, server) {
|
||||||
|
var self = this;
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
|
||||||
|
user = self.resolver.resolveUser(user);
|
||||||
|
server = self.resolver.resolveServer(server);
|
||||||
|
|
||||||
|
request
|
||||||
|
.delete(`${Endpoints.SERVER_BANS(server.id) }/${user.id}`)
|
||||||
|
.set("authorization", self.token)
|
||||||
|
.end((err, res) => {
|
||||||
|
if (err) {
|
||||||
|
reject(err);
|
||||||
|
} else {
|
||||||
|
resolve();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// def kickMember
|
||||||
|
kickMember(user, server) {
|
||||||
|
var self = this;
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
|
||||||
|
user = self.resolver.resolveUser(user);
|
||||||
|
server = self.resolver.resolveServer(server);
|
||||||
|
|
||||||
|
request
|
||||||
|
.delete(`${Endpoints.SERVER_MEMBERS(server.id) }/${user.id}`)
|
||||||
|
.set("authorization", self.token)
|
||||||
|
.end((err, res) => {
|
||||||
|
if (err) {
|
||||||
|
reject(err);
|
||||||
|
} else {
|
||||||
|
resolve();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// def createRole
|
// def createRole
|
||||||
createRole(server, data) {
|
createRole(server, data) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -652,7 +694,7 @@ class InternalClient {
|
|||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//def addMemberToRole
|
//def addMemberToRole
|
||||||
addMemberToRole(member, role) {
|
addMemberToRole(member, role) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -689,7 +731,7 @@ class InternalClient {
|
|||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//def removeMemberFromRole
|
//def removeMemberFromRole
|
||||||
removeMemberFromRole(member, role) {
|
removeMemberFromRole(member, role) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -732,7 +774,7 @@ class InternalClient {
|
|||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def createInvite
|
// def createInvite
|
||||||
createInvite(chanServ, options) {
|
createInvite(chanServ, options) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -781,7 +823,7 @@ class InternalClient {
|
|||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//def overwritePermissions
|
//def overwritePermissions
|
||||||
overwritePermissions(channel, role, updated) {
|
overwritePermissions(channel, role, updated) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -842,7 +884,7 @@ class InternalClient {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//def setTopic
|
//def setTopic
|
||||||
setTopic(chann, topic = "") {
|
setTopic(chann, topic = "") {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -934,7 +976,7 @@ class InternalClient {
|
|||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//def updateChannel
|
//def updateChannel
|
||||||
updateChannel(chann, data) {
|
updateChannel(chann, data) {
|
||||||
return this.setChannelNameAndTopic(chann, data.name, data.topic);
|
return this.setChannelNameAndTopic(chann, data.name, data.topic);
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ class Resolver {
|
|||||||
constructor(internal) {
|
constructor(internal) {
|
||||||
this.internal = internal;
|
this.internal = internal;
|
||||||
}
|
}
|
||||||
|
|
||||||
resolveServer(resource){
|
resolveServer(resource){
|
||||||
if(resource instanceof Server){
|
if(resource instanceof Server){
|
||||||
return resource;
|
return resource;
|
||||||
@@ -49,10 +49,10 @@ class Resolver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
resolveString(resource) {
|
resolveString(resource) {
|
||||||
|
|
||||||
// accepts Array, Channel, Server, User, Message, String and anything
|
// accepts Array, Channel, Server, User, Message, String and anything
|
||||||
// toString()-able
|
// toString()-able
|
||||||
|
|
||||||
var final = resource;
|
var final = resource;
|
||||||
if (resource instanceof Array) {
|
if (resource instanceof Array) {
|
||||||
final = resource.join("\n");
|
final = resource.join("\n");
|
||||||
@@ -98,7 +98,7 @@ class Resolver {
|
|||||||
|
|
||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
|
||||||
resolveVoiceChannel(resource) {
|
resolveVoiceChannel(resource) {
|
||||||
// resolveChannel will also work but this is more apt
|
// resolveChannel will also work but this is more apt
|
||||||
if(resource instanceof VoiceChannel){
|
if(resource instanceof VoiceChannel){
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ var Endpoints = {
|
|||||||
GATEWAY: `${API}/gateway`,
|
GATEWAY: `${API}/gateway`,
|
||||||
USER_CHANNELS: (userID) => `${API}/users/${userID}/channels`,
|
USER_CHANNELS: (userID) => `${API}/users/${userID}/channels`,
|
||||||
AVATAR : (userID, avatar) => `${API}/users/${userID}/avatars/${avatar}.jpg`,
|
AVATAR : (userID, avatar) => `${API}/users/${userID}/avatars/${avatar}.jpg`,
|
||||||
|
|
||||||
// servers
|
// servers
|
||||||
SERVERS: `${API}/guilds`,
|
SERVERS: `${API}/guilds`,
|
||||||
SERVER: (serverID) => `${Endpoints.SERVERS}/${serverID}`,
|
SERVER: (serverID) => `${Endpoints.SERVERS}/${serverID}`,
|
||||||
@@ -20,7 +20,7 @@ var Endpoints = {
|
|||||||
SERVER_INTEGRATIONS: (serverID) => `${Endpoints.SERVER(serverID) }/integrations`,
|
SERVER_INTEGRATIONS: (serverID) => `${Endpoints.SERVER(serverID) }/integrations`,
|
||||||
SERVER_MEMBERS: (serverID) => `${Endpoints.SERVER(serverID) }/members`,
|
SERVER_MEMBERS: (serverID) => `${Endpoints.SERVER(serverID) }/members`,
|
||||||
SERVER_CHANNELS: (serverID) => `${Endpoints.SERVER(serverID) }/channels`,
|
SERVER_CHANNELS: (serverID) => `${Endpoints.SERVER(serverID) }/channels`,
|
||||||
|
|
||||||
// channels
|
// channels
|
||||||
CHANNELS: `${API}/channels`,
|
CHANNELS: `${API}/channels`,
|
||||||
CHANNEL: (channelID) => `${Endpoints.CHANNELS}/${channelID}`,
|
CHANNEL: (channelID) => `${Endpoints.CHANNELS}/${channelID}`,
|
||||||
@@ -57,7 +57,7 @@ var Permissions = {
|
|||||||
voiceDeafenMembers: 1 << 23,
|
voiceDeafenMembers: 1 << 23,
|
||||||
voiceMoveMembers: 1 << 24,
|
voiceMoveMembers: 1 << 24,
|
||||||
voiceUseVAD: 1 << 25
|
voiceUseVAD: 1 << 25
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
var PacketType = {
|
var PacketType = {
|
||||||
|
|||||||
@@ -5,13 +5,13 @@ var Cache = require("../Util/Cache.js");
|
|||||||
var PermissionOverwrite = require("./PermissionOverwrite.js");
|
var PermissionOverwrite = require("./PermissionOverwrite.js");
|
||||||
|
|
||||||
class Channel extends Equality{
|
class Channel extends Equality{
|
||||||
|
|
||||||
constructor(data, client){
|
constructor(data, client){
|
||||||
super();
|
super();
|
||||||
this.id = data.id;
|
this.id = data.id;
|
||||||
this.client = client;
|
this.client = client;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = Channel;
|
module.exports = Channel;
|
||||||
@@ -6,11 +6,11 @@ class ChannelPermissions{
|
|||||||
constructor(permissions){
|
constructor(permissions){
|
||||||
this.permissions = permissions;
|
this.permissions = permissions;
|
||||||
}
|
}
|
||||||
|
|
||||||
serialise(explicit){
|
serialise(explicit){
|
||||||
|
|
||||||
var hp = (perm) => this.hasPermission(perm, explicit);
|
var hp = (perm) => this.hasPermission(perm, explicit);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
// general
|
// general
|
||||||
createInstantInvite : hp( Permissions.createInstantInvite ),
|
createInstantInvite : hp( Permissions.createInstantInvite ),
|
||||||
@@ -37,12 +37,12 @@ class ChannelPermissions{
|
|||||||
voiceUseVAD : hp( Permissions.voiceUseVAD )
|
voiceUseVAD : hp( Permissions.voiceUseVAD )
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
serialize(){
|
serialize(){
|
||||||
// ;n;
|
// ;n;
|
||||||
return this.serialise();
|
return this.serialise();
|
||||||
}
|
}
|
||||||
|
|
||||||
hasPermission(perm, explicit=false){
|
hasPermission(perm, explicit=false){
|
||||||
if( perm instanceof String || typeof perm === "string" ){
|
if( perm instanceof String || typeof perm === "string" ){
|
||||||
perm = Permissions[perm];
|
perm = Permissions[perm];
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class Invite{
|
|||||||
this.inviter = client.internal.users.get("id", data.inviter.id);
|
this.inviter = client.internal.users.get("id", data.inviter.id);
|
||||||
this.xkcd = data.xkcdpass;
|
this.xkcd = data.xkcdpass;
|
||||||
}
|
}
|
||||||
|
|
||||||
toString(){
|
toString(){
|
||||||
return `https://discord.gg/${this.code}`;
|
return `https://discord.gg/${this.code}`;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,18 +14,18 @@ class Message{
|
|||||||
this.timestamp = Date.parse(data.timestamp);
|
this.timestamp = Date.parse(data.timestamp);
|
||||||
this.everyoneMentioned = data.mention_everyone;
|
this.everyoneMentioned = data.mention_everyone;
|
||||||
this.id = data.id;
|
this.id = data.id;
|
||||||
|
|
||||||
if(data.edited_timestamp)
|
if(data.edited_timestamp)
|
||||||
this.editedTimestamp = Date.parse(data.edited_timestamp);
|
this.editedTimestamp = Date.parse(data.edited_timestamp);
|
||||||
|
|
||||||
if(data.author instanceof User)
|
if(data.author instanceof User)
|
||||||
this.author = data.author;
|
this.author = data.author;
|
||||||
else
|
else
|
||||||
this.author = client.internal.users.add(new User(data.author, client));
|
this.author = client.internal.users.add(new User(data.author, client));
|
||||||
|
|
||||||
this.content = data.content;
|
this.content = data.content;
|
||||||
this.mentions = new Cache();
|
this.mentions = new Cache();
|
||||||
|
|
||||||
data.mentions.forEach((mention) => {
|
data.mentions.forEach((mention) => {
|
||||||
// this is .add and not .get because it allows the bot to cache
|
// this is .add and not .get because it allows the bot to cache
|
||||||
// users from messages from logs who may have left the server and were
|
// users from messages from logs who may have left the server and were
|
||||||
@@ -36,7 +36,7 @@ class Message{
|
|||||||
this.mentions.add(client.internal.users.add(new User(mention, client)));
|
this.mentions.add(client.internal.users.add(new User(mention, client)));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
toString(){
|
toString(){
|
||||||
return this.content;
|
return this.content;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,19 +9,19 @@ class PMChannel extends Equality{
|
|||||||
constructor(data, client){
|
constructor(data, client){
|
||||||
super();
|
super();
|
||||||
this.client = client;
|
this.client = client;
|
||||||
|
|
||||||
this.type = data.type || "text";
|
this.type = data.type || "text";
|
||||||
this.id = data.id;
|
this.id = data.id;
|
||||||
this.lastMessageId = data.last_message_id;
|
this.lastMessageId = data.last_message_id;
|
||||||
this.messages = new Cache("id", 1000);
|
this.messages = new Cache("id", 1000);
|
||||||
this.recipient = this.client.internal.users.add(new User(data.recipient, this.client));
|
this.recipient = this.client.internal.users.add(new User(data.recipient, this.client));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* warning! may return null */
|
/* warning! may return null */
|
||||||
get lastMessage(){
|
get lastMessage(){
|
||||||
return this.messages.get("id", this.lastMessageID);
|
return this.messages.get("id", this.lastMessageID);
|
||||||
}
|
}
|
||||||
|
|
||||||
toString(){
|
toString(){
|
||||||
return this.recipient.toString();
|
return this.recipient.toString();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
var Permissions = require("../Constants.js").Permissions;
|
var Permissions = require("../Constants.js").Permissions;
|
||||||
|
|
||||||
class PermissionOverwrite {
|
class PermissionOverwrite {
|
||||||
|
|
||||||
constructor(data) {
|
constructor(data) {
|
||||||
this.id = data.id;
|
this.id = data.id;
|
||||||
this.type = data.type; // member or role
|
this.type = data.type; // member or role
|
||||||
@@ -19,14 +19,14 @@ class PermissionOverwrite {
|
|||||||
// these permissions do not exist in overwrites.
|
// these permissions do not exist in overwrites.
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!!(this.allow & Permissions[permName])){
|
if(!!(this.allow & Permissions[permName])){
|
||||||
allowed.push(permName);
|
allowed.push(permName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return allowed;
|
return allowed;
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns an array of denied permissions
|
// returns an array of denied permissions
|
||||||
get denied(){
|
get denied(){
|
||||||
var denied = [];
|
var denied = [];
|
||||||
@@ -35,14 +35,14 @@ class PermissionOverwrite {
|
|||||||
// these permissions do not exist in overwrites.
|
// these permissions do not exist in overwrites.
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!!(this.deny & Permissions[permName])){
|
if(!!(this.deny & Permissions[permName])){
|
||||||
denied.push(permName);
|
denied.push(permName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return denied;
|
return denied;
|
||||||
}
|
}
|
||||||
|
|
||||||
setAllowed(allowedArray){
|
setAllowed(allowedArray){
|
||||||
allowedArray.forEach( (permission) => {
|
allowedArray.forEach( (permission) => {
|
||||||
if(permission instanceof String || typeof permission === "string"){
|
if(permission instanceof String || typeof permission === "string"){
|
||||||
@@ -53,7 +53,7 @@ class PermissionOverwrite {
|
|||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
setDenied(deniedArray){
|
setDenied(deniedArray){
|
||||||
deniedArray.forEach( (permission) => {
|
deniedArray.forEach( (permission) => {
|
||||||
if(permission instanceof String || typeof permission === "string"){
|
if(permission instanceof String || typeof permission === "string"){
|
||||||
@@ -64,7 +64,7 @@ class PermissionOverwrite {
|
|||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = PermissionOverwrite;
|
module.exports = PermissionOverwrite;
|
||||||
@@ -40,11 +40,11 @@ class Role{
|
|||||||
this.server = server;
|
this.server = server;
|
||||||
this.client = client;
|
this.client = client;
|
||||||
}
|
}
|
||||||
|
|
||||||
serialise(explicit){
|
serialise(explicit){
|
||||||
|
|
||||||
var hp = (perm) => this.hasPermission(perm, explicit);
|
var hp = (perm) => this.hasPermission(perm, explicit);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
// general
|
// general
|
||||||
createInstantInvite : hp( Permissions.createInstantInvite ),
|
createInstantInvite : hp( Permissions.createInstantInvite ),
|
||||||
@@ -71,12 +71,12 @@ class Role{
|
|||||||
voiceUseVAD : hp( Permissions.voiceUseVAD )
|
voiceUseVAD : hp( Permissions.voiceUseVAD )
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
serialize(){
|
serialize(){
|
||||||
// ;n;
|
// ;n;
|
||||||
return this.serialise();
|
return this.serialise();
|
||||||
}
|
}
|
||||||
|
|
||||||
hasPermission(perm, explicit=false){
|
hasPermission(perm, explicit=false){
|
||||||
if( perm instanceof String || typeof perm === "string" ){
|
if( perm instanceof String || typeof perm === "string" ){
|
||||||
perm = Permissions[perm];
|
perm = Permissions[perm];
|
||||||
@@ -93,10 +93,10 @@ class Role{
|
|||||||
// e.g.
|
// e.g.
|
||||||
// !!(36953089 & Permissions.manageRoles) = not allowed to manage roles
|
// !!(36953089 & Permissions.manageRoles) = not allowed to manage roles
|
||||||
// !!(36953089 & (1 << 21)) = voice speak allowed
|
// !!(36953089 & (1 << 21)) = voice speak allowed
|
||||||
|
|
||||||
return !!(this.permissions & perm);
|
return !!(this.permissions & perm);
|
||||||
}
|
}
|
||||||
|
|
||||||
setPermission(permission, value){
|
setPermission(permission, value){
|
||||||
if( permission instanceof String || typeof permission === "string" ){
|
if( permission instanceof String || typeof permission === "string" ){
|
||||||
permission = Permissions[permission];
|
permission = Permissions[permission];
|
||||||
@@ -110,7 +110,7 @@ class Role{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setPermissions(obj){
|
setPermissions(obj){
|
||||||
obj.forEach((value, permission) => {
|
obj.forEach((value, permission) => {
|
||||||
if( permission instanceof String || typeof permission === "string" ){
|
if( permission instanceof String || typeof permission === "string" ){
|
||||||
@@ -122,7 +122,7 @@ class Role{
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
colorAsHex(){
|
colorAsHex(){
|
||||||
var val = this.color.toString();
|
var val = this.color.toString();
|
||||||
while(val.length < 6){
|
while(val.length < 6){
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ class ServerChannel extends Channel{
|
|||||||
this.permissionOverwrites.add( new PermissionOverwrite(permission) );
|
this.permissionOverwrites.add( new PermissionOverwrite(permission) );
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
permissionsOf(user){
|
permissionsOf(user){
|
||||||
user = this.client.internal.resolver.resolveUser(user);
|
user = this.client.internal.resolver.resolveUser(user);
|
||||||
if(user){
|
if(user){
|
||||||
@@ -24,11 +24,11 @@ class ServerChannel extends Channel{
|
|||||||
return new ChannelPermissions(4294967295);
|
return new ChannelPermissions(4294967295);
|
||||||
}
|
}
|
||||||
var everyoneRole = this.server.roles.get("name", "@everyone");
|
var everyoneRole = this.server.roles.get("name", "@everyone");
|
||||||
|
|
||||||
var userRoles = [everyoneRole].concat(this.server.rolesOf(user) || []);
|
var userRoles = [everyoneRole].concat(this.server.rolesOf(user) || []);
|
||||||
var userRolesID = userRoles.map((v) => v.id);
|
var userRolesID = userRoles.map((v) => v.id);
|
||||||
var roleOverwrites = [], memberOverwrites = [];
|
var roleOverwrites = [], memberOverwrites = [];
|
||||||
|
|
||||||
this.permissionOverwrites.forEach((overwrite) => {
|
this.permissionOverwrites.forEach((overwrite) => {
|
||||||
if(overwrite.type === "member" && overwrite.id === user.id){
|
if(overwrite.type === "member" && overwrite.id === user.id){
|
||||||
memberOverwrites.push(overwrite);
|
memberOverwrites.push(overwrite);
|
||||||
@@ -36,29 +36,29 @@ class ServerChannel extends Channel{
|
|||||||
roleOverwrites.push(overwrite);
|
roleOverwrites.push(overwrite);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var permissions = 0;
|
var permissions = 0;
|
||||||
|
|
||||||
for(var serverRole of userRoles){
|
for(var serverRole of userRoles){
|
||||||
permissions |= serverRole.permissions;
|
permissions |= serverRole.permissions;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(var overwrite of roleOverwrites.concat(memberOverwrites)){
|
for(var overwrite of roleOverwrites.concat(memberOverwrites)){
|
||||||
permissions = permissions & ~overwrite.deny;
|
permissions = permissions & ~overwrite.deny;
|
||||||
permissions = permissions | overwrite.allow;
|
permissions = permissions | overwrite.allow;
|
||||||
}
|
}
|
||||||
|
|
||||||
return new ChannelPermissions(permissions);
|
return new ChannelPermissions(permissions);
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
permsOf(user){
|
permsOf(user){
|
||||||
return this.permissionsOf(user);
|
return this.permissionsOf(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
toString(){
|
toString(){
|
||||||
return this.name;
|
return this.name;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,14 +6,14 @@ var Cache = require("../Util/Cache.js");
|
|||||||
class TextChannel extends ServerChannel{
|
class TextChannel extends ServerChannel{
|
||||||
constructor(data, client, server){
|
constructor(data, client, server){
|
||||||
super(data, client, server);
|
super(data, client, server);
|
||||||
|
|
||||||
this.name = data.name;
|
this.name = data.name;
|
||||||
this.topic = data.topic;
|
this.topic = data.topic;
|
||||||
this.position = data.position;
|
this.position = data.position;
|
||||||
this.lastMessageID = data.last_message_id;
|
this.lastMessageID = data.last_message_id;
|
||||||
this.messages = new Cache("id", client.options.maximumMessages);
|
this.messages = new Cache("id", client.options.maximumMessages);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* warning! may return null */
|
/* warning! may return null */
|
||||||
get lastMessage(){
|
get lastMessage(){
|
||||||
return this.messages.get("id", this.lastMessageID);
|
return this.messages.get("id", this.lastMessageID);
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class User extends Equality{
|
|||||||
channel : null
|
channel : null
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
get avatarURL(){
|
get avatarURL(){
|
||||||
if(!this.avatar){
|
if(!this.avatar){
|
||||||
return null;
|
return null;
|
||||||
@@ -26,15 +26,15 @@ class User extends Equality{
|
|||||||
return Endpoints.AVATAR(this.id, this.avatar);
|
return Endpoints.AVATAR(this.id, this.avatar);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mention(){
|
mention(){
|
||||||
return `<@${this.id}>`;
|
return `<@${this.id}>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
toString(){
|
toString(){
|
||||||
return this.mention();
|
return this.mention();
|
||||||
}
|
}
|
||||||
|
|
||||||
equalsStrict(obj){
|
equalsStrict(obj){
|
||||||
if(obj instanceof User)
|
if(obj instanceof User)
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -2,29 +2,29 @@
|
|||||||
The Equality Class is just used to show
|
The Equality Class is just used to show
|
||||||
that a Class has an ID that can be used to
|
that a Class has an ID that can be used to
|
||||||
check for equality.
|
check for equality.
|
||||||
|
|
||||||
Never use == or === when comparing
|
Never use == or === when comparing
|
||||||
objects in discord.js, they will be different
|
objects in discord.js, they will be different
|
||||||
instances sometimes.
|
instances sometimes.
|
||||||
|
|
||||||
Instead, use objectThatExtendsEquality.equals()
|
Instead, use objectThatExtendsEquality.equals()
|
||||||
*/
|
*/
|
||||||
class Equality{
|
class Equality{
|
||||||
constructor(){
|
constructor(){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
get eqDiscriminator(){
|
get eqDiscriminator(){
|
||||||
return "id";
|
return "id";
|
||||||
}
|
}
|
||||||
|
|
||||||
equals(object){
|
equals(object){
|
||||||
if(object && object[this.eqDiscriminator] == this[this.eqDiscriminator]){
|
if(object && object[this.eqDiscriminator] == this[this.eqDiscriminator]){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
equalsStrict(object){
|
equalsStrict(object){
|
||||||
// override per class type
|
// override per class type
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -12,25 +12,25 @@ var VoicePacket = require("./VoicePacket.js");
|
|||||||
|
|
||||||
class AudioEncoder{
|
class AudioEncoder{
|
||||||
constructor(){
|
constructor(){
|
||||||
if(opus){
|
if(opus){
|
||||||
this.opus = new opus.OpusEncoder(48000, 1);
|
this.opus = new opus.OpusEncoder(48000, 1);
|
||||||
}
|
}
|
||||||
this.choice = false;
|
this.choice = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
opusBuffer(buffer){
|
opusBuffer(buffer){
|
||||||
|
|
||||||
return this.opus.encode(buffer, 1920);
|
return this.opus.encode(buffer, 1920);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getCommand(force){
|
getCommand(force){
|
||||||
|
|
||||||
if(this.choice && force)
|
if(this.choice && force)
|
||||||
return choice;
|
return choice;
|
||||||
|
|
||||||
var choices = ["avconv", "ffmpeg"];
|
var choices = ["avconv", "ffmpeg"];
|
||||||
|
|
||||||
for(var choice of choices){
|
for(var choice of choices){
|
||||||
var p = cpoc.spawnSync(choice);
|
var p = cpoc.spawnSync(choice);
|
||||||
if(!p.error){
|
if(!p.error){
|
||||||
@@ -38,10 +38,10 @@ class AudioEncoder{
|
|||||||
return choice;
|
return choice;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return "help";
|
return "help";
|
||||||
}
|
}
|
||||||
|
|
||||||
encodeStream(stream, callback=function(err, buffer){}){
|
encodeStream(stream, callback=function(err, buffer){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
@@ -53,9 +53,9 @@ class AudioEncoder{
|
|||||||
"pipe:1",
|
"pipe:1",
|
||||||
"-i", "-"
|
"-i", "-"
|
||||||
]);
|
]);
|
||||||
|
|
||||||
stream.pipe(enc.stdin);
|
stream.pipe(enc.stdin);
|
||||||
|
|
||||||
enc.stdout.once("readable", function() {
|
enc.stdout.once("readable", function() {
|
||||||
callback(null, {
|
callback(null, {
|
||||||
proc : enc,
|
proc : enc,
|
||||||
@@ -68,19 +68,19 @@ class AudioEncoder{
|
|||||||
instream : stream
|
instream : stream
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
enc.stdout.on("end", function() {
|
enc.stdout.on("end", function() {
|
||||||
callback("end");
|
callback("end");
|
||||||
reject("end");
|
reject("end");
|
||||||
});
|
});
|
||||||
|
|
||||||
enc.stdout.on("close", function() {
|
enc.stdout.on("close", function() {
|
||||||
callback("close");
|
callback("close");
|
||||||
reject("close");
|
reject("close");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
encodeFile(file, callback=function(err, buffer){}){
|
encodeFile(file, callback=function(err, buffer){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
@@ -92,7 +92,7 @@ class AudioEncoder{
|
|||||||
"pipe:1",
|
"pipe:1",
|
||||||
"-i", file
|
"-i", file
|
||||||
]);
|
]);
|
||||||
|
|
||||||
enc.stdout.once("readable", function() {
|
enc.stdout.once("readable", function() {
|
||||||
callback(null, {
|
callback(null, {
|
||||||
proc : enc,
|
proc : enc,
|
||||||
@@ -103,12 +103,12 @@ class AudioEncoder{
|
|||||||
stream : enc.stdout
|
stream : enc.stdout
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
enc.stdout.on("end", function() {
|
enc.stdout.on("end", function() {
|
||||||
callback("end");
|
callback("end");
|
||||||
reject("end");
|
reject("end");
|
||||||
});
|
});
|
||||||
|
|
||||||
enc.stdout.on("close", function() {
|
enc.stdout.on("close", function() {
|
||||||
callback("close");
|
callback("close");
|
||||||
reject("close");
|
reject("close");
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
/*
|
/*
|
||||||
Major credit to izy521 who is the creator of
|
Major credit to izy521 who is the creator of
|
||||||
https://github.com/izy521/discord.io,
|
https://github.com/izy521/discord.io,
|
||||||
|
|
||||||
without his help voice chat in discord.js would not have
|
without his help voice chat in discord.js would not have
|
||||||
been possible!
|
been possible!
|
||||||
*/
|
*/
|
||||||
@@ -88,7 +88,7 @@ class VoiceConnection extends EventEmitter {
|
|||||||
self.playingIntent = retStream;
|
self.playingIntent = retStream;
|
||||||
|
|
||||||
function send() {
|
function send() {
|
||||||
|
|
||||||
if (!self.playingIntent || !self.playing) {
|
if (!self.playingIntent || !self.playing) {
|
||||||
self.setSpeaking(false);
|
self.setSpeaking(false);
|
||||||
retStream.emit("end");
|
retStream.emit("end");
|
||||||
@@ -216,7 +216,7 @@ class VoiceConnection extends EventEmitter {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
playRawStream(stream, callback = function (err, str) { }) {
|
playRawStream(stream, callback = function (err, str) { }) {
|
||||||
var self = this;
|
var self = this;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|||||||
@@ -2,24 +2,24 @@
|
|||||||
|
|
||||||
class VoicePacket{
|
class VoicePacket{
|
||||||
constructor(data, sequence, time, ssrc){
|
constructor(data, sequence, time, ssrc){
|
||||||
|
|
||||||
var audioBuffer = data,
|
var audioBuffer = data,
|
||||||
returnBuffer = new Buffer(audioBuffer.length + 12);
|
returnBuffer = new Buffer(audioBuffer.length + 12);
|
||||||
|
|
||||||
returnBuffer.fill(0);
|
returnBuffer.fill(0);
|
||||||
returnBuffer[0] = 0x80;
|
returnBuffer[0] = 0x80;
|
||||||
returnBuffer[1] = 0x78;
|
returnBuffer[1] = 0x78;
|
||||||
|
|
||||||
returnBuffer.writeUIntBE(sequence, 2, 2);
|
returnBuffer.writeUIntBE(sequence, 2, 2);
|
||||||
returnBuffer.writeUIntBE(time, 4, 4);
|
returnBuffer.writeUIntBE(time, 4, 4);
|
||||||
returnBuffer.writeUIntBE(ssrc, 8, 4);
|
returnBuffer.writeUIntBE(ssrc, 8, 4);
|
||||||
|
|
||||||
for (var i=0; i<audioBuffer.length; i++) {
|
for (var i=0; i<audioBuffer.length; i++) {
|
||||||
returnBuffer[i + 12] = audioBuffer[i];
|
returnBuffer[i + 12] = audioBuffer[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
return returnBuffer;
|
return returnBuffer;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user