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

@@ -678,6 +678,38 @@ class Client extends EventEmitter {
}); });
} }
//def updateDetails
updateDetails(details, callback = function (err) { }) {
var self = this;
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 //def joinVoiceChannel
joinVoiceChannel(channel, callback = function (err) { }) { joinVoiceChannel(channel, callback = function (err) { }) {
var self = this; var self = this;

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!");
} }
}); });