Added updateDetails and setUsername

This commit is contained in:
hydrabolt
2015-11-19 16:46:23 +00:00
parent d70f66abfd
commit e486ad1a79
5 changed files with 178 additions and 54 deletions

View File

@@ -679,6 +679,40 @@ var Client = (function (_EventEmitter) {
}); });
}; };
//def updateDetails
Client.prototype.updateDetails = function updateDetails(details) {
var callback = arguments.length <= 1 || arguments[1] === undefined ? function (err) {} : arguments[1];
var self = this;
return new Promise(function (resolve, reject) {
self.internal.updateDetails(details).then(function () {
callback();
resolve();
})["catch"](function (err) {
callback(err);
reject(err);
});
});
};
//def setUsername
Client.prototype.setUsername = function setUsername(name) {
var callback = arguments.length <= 1 || arguments[1] === undefined ? function (err) {} : arguments[1];
var self = this;
return new Promise(function (resolve, reject) {
self.internal.setUsername(name).then(function () {
callback();
resolve();
})["catch"](function (err) {
callback(err);
reject(err);
});
});
};
//def joinVoiceChannel //def joinVoiceChannel
Client.prototype.joinVoiceChannel = function joinVoiceChannel(channel) { Client.prototype.joinVoiceChannel = function joinVoiceChannel(channel) {

View File

@@ -982,6 +982,33 @@ var InternalClient = (function () {
}); });
}; };
//def updateDetails
InternalClient.prototype.updateDetails = function updateDetails(data) {
var self = this;
return new Promise(function (resolve, reject) {
request.patch(Endpoints.ME).set("authorization", self.token).send({
avatar: data.avatar || self.user.avatar,
email: data.email || self.email,
new_password: data.new_password || null,
password: data.password || self.password,
username: data.username || self.user.username
}).end(function (err) {
if (err) {
reject(err);
} else {
resolve();
}
});
});
};
//def setUsername
InternalClient.prototype.setUsername = function setUsername(username) {
return this.updateDetails({ username: username });
};
//def setTopic //def setTopic
InternalClient.prototype.setTopic = function setTopic(chann) { InternalClient.prototype.setTopic = function setTopic(chann) {

View File

@@ -14,31 +14,31 @@ class Client extends EventEmitter {
this.internal = new InternalClient(this); this.internal = new InternalClient(this);
} }
get users(){ get users() {
return this.internal.users; return this.internal.users;
} }
get channels(){ get channels() {
return this.internal.channels; return this.internal.channels;
} }
get servers(){ get servers() {
return this.internal.servers; return this.internal.servers;
} }
get privateChannels(){ get privateChannels() {
return this.internal.private_channels; return this.internal.private_channels;
} }
get voiceConnection(){ get voiceConnection() {
return this.internal.voiceConnection; return this.internal.voiceConnection;
} }
get readyTime(){ get readyTime() {
return this.internal.readyTime; return this.internal.readyTime;
} }
get uptime(){ get uptime() {
return this.internal.uptime; return this.internal.uptime;
} }
@@ -183,7 +183,7 @@ class Client extends EventEmitter {
}); });
} }
//def updateMessage //def updateMessage
updateMessage(msg, content, options = {}, callback = function(err, msg){}) { updateMessage(msg, content, options = {}, callback = function (err, msg) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (typeof options === "function") { if (typeof options === "function") {
@@ -205,7 +205,7 @@ class Client extends EventEmitter {
} }
// def getChannelLogs // def getChannelLogs
getChannelLogs(where, limit=500, options={}, callback=function(err, logs){}){ getChannelLogs(where, limit = 500, options = {}, callback = function (err, logs) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@@ -214,11 +214,11 @@ class Client extends EventEmitter {
callback = options; callback = options;
} }
self.internal.getChannelLogs(where, limit, options) self.internal.getChannelLogs(where, limit, options)
.then( logs => { .then(logs => {
callback(null, logs); callback(null, logs);
resolve(logs); resolve(logs);
}) })
.catch( e => { .catch(e => {
callback(e); callback(e);
reject(e); reject(e);
}); });
@@ -228,16 +228,16 @@ class Client extends EventEmitter {
} }
// def getBans // def getBans
getBans(where, callback=function(err, bans){}){ getBans(where, callback = function (err, bans) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
self.internal.getBans(where) self.internal.getBans(where)
.then( bans => { .then(bans => {
callback(null, bans); callback(null, bans);
resolve(bans); resolve(bans);
}) })
.catch( e => { .catch(e => {
callback(e); callback(e);
reject(e); reject(e);
}); });
@@ -247,15 +247,15 @@ class Client extends EventEmitter {
} }
// def sendFile // def sendFile
sendFile(where, attachment, name="image.png", callback=function(err, m){}){ sendFile(where, attachment, name = "image.png", callback = function (err, m) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
self.internal.sendFile(where, attachment, name) self.internal.sendFile(where, attachment, name)
.then( m => { .then(m => {
callback(null, m); callback(null, m);
resolve(m); resolve(m);
}) })
.catch( e => { .catch(e => {
callback(e); callback(e);
reject(e); reject(e);
}); });
@@ -280,7 +280,7 @@ class Client extends EventEmitter {
} }
// def createServer // def createServer
createServer(name, region="london", callback=function(err, srv){}){ createServer(name, region = "london", callback = function (err, srv) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
self.internal.createServer(name, region) self.internal.createServer(name, region)
@@ -296,7 +296,7 @@ class Client extends EventEmitter {
} }
// def leaveServer // def leaveServer
leaveServer(server, callback=function(err){}){ leaveServer(server, callback = function (err) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@@ -312,7 +312,7 @@ class Client extends EventEmitter {
} }
// def createChannel // def createChannel
createChannel(server, name, type="text", callback=function(err,channel){}){ createChannel(server, name, type = "text", callback = function (err, channel) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (typeof type === "function") { if (typeof type === "function") {
@@ -331,16 +331,16 @@ class Client extends EventEmitter {
} }
// def deleteChannel // def deleteChannel
deleteChannel(channel, callback=function(err){}){ deleteChannel(channel, callback = function (err) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
self.internal.deleteChannel(channel) self.internal.deleteChannel(channel)
.then( () => { .then(() => {
callback(); callback();
resolve(); resolve();
}) })
.catch( e => { .catch(e => {
callback(e); reject(e); callback(e); reject(e);
}) })
@@ -348,7 +348,7 @@ class Client extends EventEmitter {
} }
//def banMember //def banMember
banMember(user, server, length=1, callback=function(err){}){ banMember(user, server, length = 1, callback = function (err) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (typeof length === "function") { if (typeof length === "function") {
@@ -356,11 +356,11 @@ class Client extends EventEmitter {
callback = length; callback = length;
} }
self.internal.banMember(user, server, length) self.internal.banMember(user, server, length)
.then( () => { .then(() => {
callback(); callback();
resolve(); resolve();
}) })
.catch( e => { .catch(e => {
callback(e); reject(e); callback(e); reject(e);
}) })
@@ -368,15 +368,15 @@ class Client extends EventEmitter {
} }
//def unbanMember //def unbanMember
unbanMember(user, server, callback=function(err){}){ unbanMember(user, server, callback = function (err) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
self.internal.unbanMember(user, server) self.internal.unbanMember(user, server)
.then( () => { .then(() => {
callback(); callback();
resolve(); resolve();
}) })
.catch( e => { .catch(e => {
callback(e); reject(e); callback(e); reject(e);
}) })
@@ -384,15 +384,15 @@ class Client extends EventEmitter {
} }
//def kickMember //def kickMember
kickMember(user, server, callback=function(err){}){ kickMember(user, server, callback = function (err) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
self.internal.kickMember(user, server) self.internal.kickMember(user, server)
.then( () => { .then(() => {
callback(); callback();
resolve(); resolve();
}) })
.catch( e => { .catch(e => {
callback(e); reject(e); callback(e); reject(e);
}) })
@@ -400,9 +400,9 @@ class Client extends EventEmitter {
} }
//def createRole //def createRole
createRole(server, data=null, callback=function(err,res){}){ createRole(server, data = null, callback = function (err, res) { }) {
var self = this; var self = this;
return new Promise((resolve, reject)=>{ return new Promise((resolve, reject) => {
if (typeof data === "function") { if (typeof data === "function") {
// data is the callback // data is the callback
callback = data; callback = data;
@@ -421,7 +421,7 @@ class Client extends EventEmitter {
} }
//def deleteRole //def deleteRole
deleteRole(role, callback=function(err){}){ deleteRole(role, callback = function (err) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@@ -441,7 +441,7 @@ class Client extends EventEmitter {
} }
//def addMemberToRole //def addMemberToRole
addMemberToRole(member, role, callback=function(err){}){ addMemberToRole(member, role, callback = function (err) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@@ -459,12 +459,12 @@ class Client extends EventEmitter {
} }
// def addUserToRole // def addUserToRole
addUserToRole(member, role, callback=function(err){}){ addUserToRole(member, role, callback = function (err) { }) {
return this.addMemberToRole(member, role, callback); return this.addMemberToRole(member, role, callback);
} }
// def removeMemberFromRole // def removeMemberFromRole
removeMemberFromRole(member, role, callback=function(err){}){ removeMemberFromRole(member, role, callback = function (err) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@@ -482,12 +482,12 @@ class Client extends EventEmitter {
} }
// def removeUserFromRole // def removeUserFromRole
removeUserFromRole(member, role, callback=function(err){}){ removeUserFromRole(member, role, callback = function (err) { }) {
return this.removeUserFromRole(member, role, callback); return this.removeUserFromRole(member, role, callback);
} }
// def createInvite // def createInvite
createInvite(chanServ, options, callback=function(err,invite){}){ createInvite(chanServ, options, callback = function (err, invite) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (typeof options === "function") { if (typeof options === "function") {
@@ -509,7 +509,7 @@ class Client extends EventEmitter {
} }
// def overwritePermissions // def overwritePermissions
overwritePermissions(channel, role, options={}, callback=function(err){}){ overwritePermissions(channel, role, options = {}, callback = function (err) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@@ -527,7 +527,7 @@ class Client extends EventEmitter {
} }
//def setStatus //def setStatus
setStatus(idleStatus, gameID, callback=function(err){}){ setStatus(idleStatus, gameID, callback = function (err) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (typeof gameID === "function") { if (typeof gameID === "function") {
@@ -553,7 +553,7 @@ class Client extends EventEmitter {
} }
//def sendTyping //def sendTyping
sendTyping(channel, callback=function(err){}){ sendTyping(channel, callback = function (err) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@@ -571,7 +571,7 @@ class Client extends EventEmitter {
} }
// def setTopic // def setTopic
setTopic(channel, topic, callback=function(err){}){ setTopic(channel, topic, callback = function (err) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@@ -589,7 +589,7 @@ class Client extends EventEmitter {
} }
//def setChannelName //def setChannelName
setChannelName(channel, topic, callback=function(err){}){ setChannelName(channel, topic, callback = function (err) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@@ -607,7 +607,7 @@ class Client extends EventEmitter {
} }
//def setChannelNameAndTopic //def setChannelNameAndTopic
setChannelNameAndTopic(channel, name, topic, callback=function(err){}){ setChannelNameAndTopic(channel, name, topic, callback = function (err) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@@ -625,7 +625,7 @@ class Client extends EventEmitter {
} }
//def updateChannel //def updateChannel
updateChannel(channel, data, callback=function(err){}){ updateChannel(channel, data, callback = function (err) { }) {
var self = this; var self = this;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@@ -678,10 +678,42 @@ class Client extends EventEmitter {
}); });
} }
//def joinVoiceChannel //def updateDetails
joinVoiceChannel(channel, callback=function(err){}){ updateDetails(details, callback = function (err) { }) {
var self = this; var self = this;
return new Promise((resolve, reject)=>{ return new Promise((resolve, reject) => {
self.internal.updateDetails(details)
.then(() => {
callback();
resolve();
})
.catch(err => {
callback(err);
reject(err);
});
});
}
//def setUsername
setUsername(name, callback = function (err) { }) {
var self = this;
return new Promise((resolve, reject) => {
self.internal.setUsername(name)
.then(() => {
callback();
resolve();
})
.catch(err => {
callback(err);
reject(err);
});
});
}
//def joinVoiceChannel
joinVoiceChannel(channel, callback = function (err) { }) {
var self = this;
return new Promise((resolve, reject) => {
self.internal.joinVoiceChannel(channel) self.internal.joinVoiceChannel(channel)
.then(chan => { .then(chan => {

View File

@@ -1048,6 +1048,35 @@ class InternalClient {
}); });
} }
//def updateDetails
updateDetails(data) {
var self = this;
return new Promise((resolve, reject) => {
request
.patch(Endpoints.ME)
.set("authorization", self.token)
.send({
avatar: data.avatar || self.user.avatar,
email : data.email || self.email,
new_password : data.new_password || null,
password : data.password || self.password,
username : data.username || self.user.username
})
.end( err => {
if(err){
reject(err);
}else{
resolve();
}
});
});
}
//def setUsername
setUsername(username) {
return this.updateDetails({username});
}
//def setTopic //def setTopic
setTopic(chann, topic = "") { setTopic(chann, topic = "") {
var self = this; var self = this;

View File

@@ -11,6 +11,8 @@ client.on("message", m => {
client.startTyping(m.channel); client.startTyping(m.channel);
} else if (m.content === "!!") { } else if (m.content === "!!") {
client.stopTyping(m.channel); client.stopTyping(m.channel);
} else if (m.content === "changename") {
client.setUsername("Hydrabot!");
} }
}); });