Merge remote-tracking branch 'refs/remotes/origin/rewrite' into rewrite-docs

This commit is contained in:
hydrabolt
2015-11-19 20:51:50 +00:00
33 changed files with 190 additions and 70 deletions

View File

@@ -417,6 +417,28 @@ var Client = (function (_EventEmitter) {
}); });
}; };
//def updateRole
Client.prototype.updateRole = function updateRole(role) {
var data = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];
var callback = arguments.length <= 2 || arguments[2] === undefined ? function (err, res) {} : arguments[2];
var self = this;
return new Promise(function (resolve, reject) {
if (typeof data === "function") {
// data is the callback
callback = data;
}
self.internal.updateRole(role, data).then(function (role) {
callback(null, role);
resolve(role);
})["catch"](function (e) {
callback(e);
reject(e);
});
});
};
//def deleteRole //def deleteRole
Client.prototype.deleteRole = function deleteRole(role) { Client.prototype.deleteRole = function deleteRole(role) {
@@ -509,6 +531,23 @@ var Client = (function (_EventEmitter) {
}); });
}; };
// def deleteInvite
Client.prototype.deleteInvite = function deleteInvite(invite) {
var callback = arguments.length <= 1 || arguments[1] === undefined ? function (err) {} : arguments[1];
var self = this;
return new Promise(function (resolve, reject) {
self.internal.deleteInvite(invite).then(function () {
callback();
resolve();
})["catch"](function (e) {
callback(e);
reject(e);
});
});
};
// def overwritePermissions // def overwritePermissions
Client.prototype.overwritePermissions = function overwritePermissions(channel, role) { Client.prototype.overwritePermissions = function overwritePermissions(channel, role) {
@@ -810,4 +849,4 @@ var Client = (function (_EventEmitter) {
return Client; return Client;
})(EventEmitter); })(EventEmitter);
module.exports = Client; module.exports = Client;

View File

@@ -4,4 +4,4 @@ exports.IDLE = 0;
exports.LOGGING_IN = 1; exports.LOGGING_IN = 1;
exports.LOGGED_IN = 2; exports.LOGGED_IN = 2;
exports.READY = 3; exports.READY = 3;
exports.DISCONNECTED = 4; exports.DISCONNECTED = 4;

View File

@@ -831,6 +831,27 @@ var InternalClient = (function () {
}); });
}; };
//def deleteInvite
InternalClient.prototype.deleteInvite = function deleteInvite(invite) {
var self = this;
return new Promise(function (resolve, reject) {
invite = self.resolver.resolveInviteID(invite);
if (invite) {
request.del(Endpoints.INVITE(invite)).set("authorization", self.token).end(function (err, res) {
if (err) {
reject(err);
} else {
resolve();
}
});
} else {
reject(new Error("Not a valid invite"));
}
});
};
//def overwritePermissions //def overwritePermissions
InternalClient.prototype.overwritePermissions = function overwritePermissions(channel, role, updated) { InternalClient.prototype.overwritePermissions = function overwritePermissions(channel, role, updated) {
@@ -1569,4 +1590,4 @@ var InternalClient = (function () {
return InternalClient; return InternalClient;
})(); })();
module.exports = InternalClient; module.exports = InternalClient;

View File

@@ -200,11 +200,11 @@ var Resolver = (function () {
return; return;
} }
} }
if (found) resolve(found);else reject(new Error("not found anything")); if (found) resolve(found);else reject(new Error("Didn't found anything"));
}); });
}; };
return Resolver; return Resolver;
})(); })();
module.exports = Resolver; module.exports = Resolver;

View File

@@ -127,4 +127,4 @@ var PacketType = {
exports.API_ENDPOINT = API; exports.API_ENDPOINT = API;
exports.Endpoints = Endpoints; exports.Endpoints = Endpoints;
exports.PacketType = PacketType; exports.PacketType = PacketType;
exports.Permissions = Permissions; exports.Permissions = Permissions;

View File

@@ -27,4 +27,4 @@ var Channel = (function (_Equality) {
return Channel; return Channel;
})(Equality); })(Equality);
module.exports = Channel; module.exports = Channel;

View File

@@ -72,4 +72,4 @@ var ChannelPermissions = (function () {
return ChannelPermissions; return ChannelPermissions;
})(); })();
module.exports = ChannelPermissions; module.exports = ChannelPermissions;

View File

@@ -29,4 +29,4 @@ var Invite = (function () {
return Invite; return Invite;
})(); })();
module.exports = Invite; module.exports = Invite;

View File

@@ -69,4 +69,4 @@ var Message = (function () {
return Message; return Message;
})(); })();
module.exports = Message; module.exports = Message;

View File

@@ -52,4 +52,4 @@ var PMChannel = (function (_Equality) {
return PMChannel; return PMChannel;
})(Equality); })(Equality);
module.exports = PMChannel; module.exports = PMChannel;

View File

@@ -83,4 +83,4 @@ var PermissionOverwrite = (function () {
return PermissionOverwrite; return PermissionOverwrite;
})(); })();
module.exports = PermissionOverwrite; module.exports = PermissionOverwrite;

View File

@@ -136,4 +136,4 @@ var Role = (function () {
return Role; return Role;
})(); })();
module.exports = Role; module.exports = Role;

View File

@@ -166,4 +166,4 @@ var Server = (function (_Equality) {
return Server; return Server;
})(Equality); })(Equality);
module.exports = Server; module.exports = Server;

View File

@@ -114,4 +114,4 @@ var ServerChannel = (function (_Channel) {
return ServerChannel; return ServerChannel;
})(Channel); })(Channel);
module.exports = ServerChannel; module.exports = ServerChannel;

View File

@@ -57,4 +57,4 @@ var TextChannel = (function (_ServerChannel) {
return TextChannel; return TextChannel;
})(ServerChannel); })(ServerChannel);
module.exports = TextChannel; module.exports = TextChannel;

View File

@@ -55,4 +55,4 @@ var User = (function (_Equality) {
return User; return User;
})(Equality); })(Equality);
module.exports = User; module.exports = User;

View File

@@ -18,4 +18,4 @@ var VoiceChannel = (function (_ServerChannel) {
return VoiceChannel; return VoiceChannel;
})(ServerChannel); })(ServerChannel);
module.exports = VoiceChannel; module.exports = VoiceChannel;

View File

@@ -2,4 +2,4 @@
exports.reg = function (c, a) { exports.reg = function (c, a) {
return [c].concat(Array.prototype.slice.call(a)); return [c].concat(Array.prototype.slice.call(a));
}; };

View File

@@ -99,4 +99,4 @@ var Cache = (function (_Array) {
return Cache; return Cache;
})(Array); })(Array);
module.exports = Cache; module.exports = Cache;

View File

@@ -42,4 +42,4 @@ var Equality = (function () {
return Equality; return Equality;
})(); })();
module.exports = Equality; module.exports = Equality;

View File

@@ -126,4 +126,4 @@ var AudioEncoder = (function () {
return AudioEncoder; return AudioEncoder;
})(); })();
module.exports = AudioEncoder; module.exports = AudioEncoder;

View File

@@ -19,4 +19,4 @@ var StreamIntent = (function (_EventEmitter) {
return StreamIntent; return StreamIntent;
})(EventEmitter); })(EventEmitter);
module.exports = StreamIntent; module.exports = StreamIntent;

View File

@@ -329,4 +329,4 @@ var VoiceConnection = (function (_EventEmitter) {
return VoiceConnection; return VoiceConnection;
})(EventEmitter); })(EventEmitter);
module.exports = VoiceConnection; module.exports = VoiceConnection;

View File

@@ -23,4 +23,4 @@ var VoicePacket = function VoicePacket(data, sequence, time, ssrc) {
return returnBuffer; return returnBuffer;
}; };
module.exports = VoicePacket; module.exports = VoicePacket;

View File

@@ -14,4 +14,4 @@ module.exports = {
TextChannel: require("./Structures/TextChannel"), TextChannel: require("./Structures/TextChannel"),
User: require("./Structures/User"), User: require("./Structures/User"),
VoiceChannel: require("./Structures/VoiceChannel") VoiceChannel: require("./Structures/VoiceChannel")
}; };

View File

@@ -420,6 +420,27 @@ class Client extends EventEmitter {
}); });
} }
//def updateRole
updateRole(role, data = null, callback = function (err, res) { }) {
var self = this;
return new Promise((resolve, reject) => {
if (typeof data === "function") {
// data is the callback
callback = data;
}
self.internal.updateRole(role, data)
.then((role) => {
callback(null, role);
resolve(role);
})
.catch(e => {
callback(e);
reject(e);
});
});
}
//def deleteRole //def deleteRole
deleteRole(role, callback = function (err) { }) { deleteRole(role, callback = function (err) { }) {
@@ -508,6 +529,22 @@ class Client extends EventEmitter {
}); });
} }
// def deleteInvite
deleteInvite(invite, callback = function (err) { }) {
var self = this;
return new Promise((resolve, reject) => {
self.internal.deleteInvite(invite)
.then(() => {
callback();
resolve();
})
.catch(e => {
callback(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;
@@ -641,7 +678,7 @@ class Client extends EventEmitter {
}) })
} }
//def startTyping //def startTyping
startTyping(channel, callback = function (err) { }) { startTyping(channel, callback = function (err) { }) {
var self = this; var self = this;
@@ -659,7 +696,7 @@ class Client extends EventEmitter {
}); });
} }
//def stopTyping //def stopTyping
stopTyping(channel, callback = function (err) { }) { stopTyping(channel, callback = function (err) { }) {
var self = this; var self = this;
@@ -677,7 +714,7 @@ class Client extends EventEmitter {
}); });
} }
//def updateDetails //def updateDetails
updateDetails(details, callback = function (err) { }) { updateDetails(details, callback = function (err) { }) {
var self = this; var self = this;
@@ -693,7 +730,7 @@ class Client extends EventEmitter {
}); });
}); });
} }
//def setUsername //def setUsername
setUsername(name, callback = function (err) { }) { setUsername(name, callback = function (err) { }) {
var self = this; var self = this;
@@ -725,7 +762,7 @@ class Client extends EventEmitter {
}); });
}); });
} }
//def joinVoiceChannel //def joinVoiceChannel
joinVoiceChannel(channel, callback = function (err) { }) { joinVoiceChannel(channel, callback = function (err) { }) {
var self = this; var self = this;

View File

@@ -139,7 +139,7 @@ class InternalClient {
}); });
}); });
} }
//def joinServer //def joinServer
joinServer(invite) { joinServer(invite) {
var self = this; var self = this;
@@ -728,9 +728,7 @@ class InternalClient {
reject(err); reject(err);
} else { } else {
var nrole = new Role(res.body, server, self.client); var nrole = new Role(res.body, server, self.client);
resolve( resolve(server.roles.update(role, nrole));
server.roles.update(role, nrole)
);
} }
}); });
@@ -887,6 +885,31 @@ class InternalClient {
}); });
} }
//def deleteInvite
deleteInvite(invite) {
var self = this;
return new Promise((resolve, reject) => {
invite = self.resolver.resolveInviteID(invite);
if (invite) {
request
.del(Endpoints.INVITE(invite))
.set("authorization", self.token)
.end((err, res) => {
if (err) {
reject(err);
} else {
resolve();
}
});
} else {
reject(new Error("Not a valid invite"));
}
});
}
//def overwritePermissions //def overwritePermissions
overwritePermissions(channel, role, updated) { overwritePermissions(channel, role, updated) {
var self = this; var self = this;
@@ -998,56 +1021,56 @@ class InternalClient {
}); });
} }
//def startTyping //def startTyping
startTyping(channel){ startTyping(channel){
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
self.resolver.resolveChannel(channel).then(next).catch(reject); self.resolver.resolveChannel(channel).then(next).catch(reject);
function next(channel) { function next(channel) {
if(self.typingIntervals[channel.id]){ if(self.typingIntervals[channel.id]){
// typing interval already exists, leave it alone // typing interval already exists, leave it alone
reject(new Error("Already typing in that channel")); reject(new Error("Already typing in that channel"));
return; return;
} }
self.sendTyping(channel); self.sendTyping(channel);
self.typingIntervals[channel.id] = setInterval( self.typingIntervals[channel.id] = setInterval(
() => self.sendTyping(channel), 4000 () => self.sendTyping(channel), 4000
); );
} }
}); });
} }
//def stopTyping //def stopTyping
stopTyping(channel){ stopTyping(channel){
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
self.resolver.resolveChannel(channel).then(next).catch(reject); self.resolver.resolveChannel(channel).then(next).catch(reject);
function next(channel) { function next(channel) {
if(!self.typingIntervals[channel.id]){ if(!self.typingIntervals[channel.id]){
// typing interval doesn't exist // typing interval doesn't exist
reject(new Error("Not typing in that channel")); reject(new Error("Not typing in that channel"));
return; return;
} }
clearInterval(self.typingIntervals[channel.id]); clearInterval(self.typingIntervals[channel.id]);
self.typingIntervals[channel.id] = false; self.typingIntervals[channel.id] = false;
} }
}); });
} }
//def updateDetails //def updateDetails
updateDetails(data) { updateDetails(data) {
var self = this; var self = this;
@@ -1071,12 +1094,12 @@ class InternalClient {
}); });
}); });
} }
//def setAvatar //def setAvatar
setAvatar(avatar) { setAvatar(avatar) {
return this.updateDetails({avatar}); return this.updateDetails({avatar});
} }
//def setUsername //def setUsername
setUsername(username) { setUsername(username) {
return this.updateDetails({username}); return this.updateDetails({username});
@@ -1180,7 +1203,7 @@ class InternalClient {
updateChannel(chann, data) { updateChannel(chann, data) {
return this.setChannelNameAndTopic(chann, data.name, data.topic); return this.setChannelNameAndTopic(chann, data.name, data.topic);
} }
//def ack //def ack
ack(msg) { ack(msg) {
var self = this; var self = this;

View File

@@ -172,7 +172,7 @@ class Resolver {
if (found) if (found)
resolve(found); resolve(found);
else else
reject(new Error("not found anything")); reject(new Error("Didn't found anything"));
}); });
} }

View File

@@ -37,7 +37,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)));
}); });
} }
isMentioned(user){ isMentioned(user){
user = this.client.internal.resolver.resolveUser(user); user = this.client.internal.resolver.resolveUser(user);
if (user) { if (user) {
@@ -50,19 +50,19 @@ class Message{
toString(){ toString(){
return this.content; return this.content;
} }
delete(){ delete(){
return this.client.deleteMessage.apply(this.client, reg(this, arguments)); return this.client.deleteMessage.apply(this.client, reg(this, arguments));
} }
update(){ update(){
return this.client.updateMessage.apply(this.client, reg(this, arguments)); return this.client.updateMessage.apply(this.client, reg(this, arguments));
} }
reply(){ reply(){
return this.client.reply.apply(this.client, reg(this, arguments)); return this.client.reply.apply(this.client, reg(this, arguments));
} }
replyTTS(){ replyTTS(){
return this.client.replyTTS.apply(this.client, reg(this, arguments)); return this.client.replyTTS.apply(this.client, reg(this, arguments));
} }

View File

@@ -26,11 +26,11 @@ class PMChannel extends Equality{
toString(){ toString(){
return this.recipient.toString(); return this.recipient.toString();
} }
sendMessage(){ sendMessage(){
return this.client.sendMessage.apply(this.client, reg(this, arguments)); return this.client.sendMessage.apply(this.client, reg(this, arguments));
} }
sendTTSMessage(){ sendTTSMessage(){
return this.client.sendTTSMessage.apply(this.client, reg(this, arguments)); return this.client.sendTTSMessage.apply(this.client, reg(this, arguments));
} }

View File

@@ -60,7 +60,7 @@ class ServerChannel extends Channel{
permsOf(user){ permsOf(user){
return this.permissionsOf(user); return this.permissionsOf(user);
} }
mention(){ mention(){
return `<#${this.id}>`; return `<#${this.id}>`;
} }
@@ -68,7 +68,7 @@ class ServerChannel extends Channel{
toString(){ toString(){
return this.mention(); return this.mention();
} }
setName(){ setName(){
return this.client.setChannelName.apply(this.client, reg(this, arguments)); return this.client.setChannelName.apply(this.client, reg(this, arguments));
} }

View File

@@ -19,23 +19,23 @@ class TextChannel extends ServerChannel{
get lastMessage(){ get lastMessage(){
return this.messages.get("id", this.lastMessageID); return this.messages.get("id", this.lastMessageID);
} }
setTopic(){ setTopic(){
return this.client.setTopic.apply(this.client, reg(this, arguments)); return this.client.setTopic.apply(this.client, reg(this, arguments));
} }
setNameAndTopic(){ setNameAndTopic(){
return this.client.setChannelNameAndTopic.apply(this.client, reg(this, arguments)); return this.client.setChannelNameAndTopic.apply(this.client, reg(this, arguments));
} }
update(){ update(){
return this.client.updateChannel.apply(this.client, reg(this, arguments)); return this.client.updateChannel.apply(this.client, reg(this, arguments));
} }
sendMessage(){ sendMessage(){
return this.client.sendMessage.apply(this.client, reg(this, arguments)); return this.client.sendMessage.apply(this.client, reg(this, arguments));
} }
sendTTSMessage(){ sendTTSMessage(){
return this.client.sendTTSMessage.apply(this.client, reg(this, arguments)); return this.client.sendTTSMessage.apply(this.client, reg(this, arguments));
} }

View File

@@ -16,7 +16,7 @@ class Cache extends Array {
}); });
return found; return found;
} }
has(key, value) { has(key, value) {
return !!this.get(key, value); return !!this.get(key, value);
} }