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

@@ -459,6 +459,60 @@ class Client extends EventEmitter {
})
}
//def setChannelName
setChannelName(channel, topic, callback=function(err){}){
var self = this;
return new Promise((resolve, reject) => {
self.internal.setChannelName(channel, topic)
.then(() => {
callback();
resolve();
})
.catch(e => {
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();
resolve();
})
.catch(e => {
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();
resolve();
})
.catch(e => {
callback(e);
reject(e);
});
})
}
}
module.exports = Client;

View File

@@ -807,6 +807,72 @@ class InternalClient {
});
}
//def setChannelName
setChannelName(chann, name="discordjs_is_the_best"){
var self = this;
return new Promise((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((err, res) => {
if(err){
reject(err);
}else{
channel.name = res.body.name;
resolve();
}
})
}
});
}
//def setChannelNameAndTopic
setChannelNameAndTopic(chann, name="discordjs_is_the_best", topic=""){
var self = this;
return new Promise((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((err, res) => {
if(err){
reject(err);
}else{
channel.name = res.body.name;
channel.topic = res.body.topic;
resolve();
}
})
}
});
}
//def updateChannel
updateChannel(chann, data){
return this.setChannelNameAndTopic(chann, data.name, data.topic);
}
sendWS(object) {
if (this.websocket)

View File

@@ -8,9 +8,7 @@ a.on("warn", (m) => console.log("[warn]", m));
var start = Date.now();
a.on("message", m => {
if(m.content === "$$$"){
a.internal.overwritePermissions(m.channel, m.author, {
manageRoles : true
}).catch(error).then(()=>console.log("hihihihihi!"));
a.internal.setTopic(m.channel, "a channel topic!");
}
});
a.on("userTypingStart", (user, chan) => {