more channel features

This commit is contained in:
hydrabolt
2015-11-06 20:36:35 +00:00
parent 48616c4505
commit ac3608feb4
6 changed files with 240 additions and 8 deletions

View File

@@ -478,6 +478,60 @@ var Client = (function (_EventEmitter) {
});
};
//def setChannelName
Client.prototype.setChannelName = function setChannelName(channel, topic) {
var callback = arguments.length <= 2 || arguments[2] === undefined ? function (err) {} : arguments[2];
var self = this;
return new Promise(function (resolve, reject) {
self.internal.setChannelName(channel, topic).then(function () {
callback();
resolve();
})["catch"](function (e) {
callback(e);
reject(e);
});
});
};
//def setChannelNameAndTopic
Client.prototype.setChannelNameAndTopic = function setChannelNameAndTopic(channel, name, topic) {
var callback = arguments.length <= 3 || arguments[3] === undefined ? function (err) {} : arguments[3];
var self = this;
return new Promise(function (resolve, reject) {
self.internal.setChannelNameAndTopic(channel, name, topic).then(function () {
callback();
resolve();
})["catch"](function (e) {
callback(e);
reject(e);
});
});
};
//def updateChannel
Client.prototype.updateChannel = function updateChannel(channel, data) {
var callback = arguments.length <= 2 || arguments[2] === undefined ? function (err) {} : arguments[2];
var self = this;
return new Promise(function (resolve, reject) {
self.internal.updateChannel(channel, data).then(function () {
callback();
resolve();
})["catch"](function (e) {
callback(e);
reject(e);
});
});
};
_createClass(Client, [{
key: "users",
get: function get() {

View File

@@ -757,6 +757,70 @@ var InternalClient = (function () {
});
};
//def setChannelName
InternalClient.prototype.setChannelName = function setChannelName(chann) {
var name = arguments.length <= 1 || arguments[1] === undefined ? "discordjs_is_the_best" : arguments[1];
var self = this;
return new Promise(function (resolve, reject) {
self.resolver.resolveChannel(chann).then(next)["catch"](reject);
function next(channel) {
request.patch(Endpoints.CHANNEL(channel.id)).set("authorization", self.token).send({
name: name,
position: 0,
topic: channel.topic
}).end(function (err, res) {
if (err) {
reject(err);
} else {
channel.name = res.body.name;
resolve();
}
});
}
});
};
//def setChannelNameAndTopic
InternalClient.prototype.setChannelNameAndTopic = function setChannelNameAndTopic(chann) {
var name = arguments.length <= 1 || arguments[1] === undefined ? "discordjs_is_the_best" : arguments[1];
var topic = arguments.length <= 2 || arguments[2] === undefined ? "" : arguments[2];
var self = this;
return new Promise(function (resolve, reject) {
self.resolver.resolveChannel(chann).then(next)["catch"](reject);
function next(channel) {
request.patch(Endpoints.CHANNEL(channel.id)).set("authorization", self.token).send({
name: name,
position: 0,
topic: topic
}).end(function (err, res) {
if (err) {
reject(err);
} else {
channel.name = res.body.name;
channel.topic = res.body.topic;
resolve();
}
});
}
});
};
//def updateChannel
InternalClient.prototype.updateChannel = function updateChannel(chann, data) {
return this.setChannelNameAndTopic(chann, data.name, data.topic);
};
InternalClient.prototype.sendWS = function sendWS(object) {
if (this.websocket) this.websocket.send(JSON.stringify(object));
};