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