updateRole and deleteInvite

This commit is contained in:
abalabahaha
2015-11-19 09:40:15 -08:00
parent e08c10507d
commit 224cca1e31
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
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
Client.prototype.overwritePermissions = function overwritePermissions(channel, role) {
@@ -793,4 +832,4 @@ var Client = (function (_EventEmitter) {
return Client;
})(EventEmitter);
module.exports = Client;
module.exports = Client;

View File

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

View File

@@ -829,6 +829,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
InternalClient.prototype.overwritePermissions = function overwritePermissions(channel, role, updated) {
@@ -1567,4 +1588,4 @@ var InternalClient = (function () {
return InternalClient;
})();
module.exports = InternalClient;
module.exports = InternalClient;

View File

@@ -200,11 +200,11 @@ var Resolver = (function () {
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;
})();
module.exports = Resolver;
module.exports = Resolver;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -14,4 +14,4 @@ module.exports = {
TextChannel: require("./Structures/TextChannel"),
User: require("./Structures/User"),
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
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
overwritePermissions(channel, role, options = {}, callback = function (err) { }) {
var self = this;
@@ -641,7 +678,7 @@ class Client extends EventEmitter {
})
}
//def startTyping
startTyping(channel, callback = function (err) { }) {
var self = this;
@@ -659,7 +696,7 @@ class Client extends EventEmitter {
});
}
//def stopTyping
stopTyping(channel, callback = function (err) { }) {
var self = this;
@@ -677,7 +714,7 @@ class Client extends EventEmitter {
});
}
//def updateDetails
updateDetails(details, callback = function (err) { }) {
var self = this;
@@ -693,7 +730,7 @@ class Client extends EventEmitter {
});
});
}
//def setUsername
setUsername(name, callback = function (err) { }) {
var self = this;
@@ -725,7 +762,7 @@ class Client extends EventEmitter {
});
});
}
//def joinVoiceChannel
joinVoiceChannel(channel, callback = function (err) { }) {
var self = this;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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