Add voice channel moving, not quite working yet

This commit is contained in:
meew0
2016-01-24 23:22:24 +01:00
parent 76ab439033
commit 042d7d1dbe
4 changed files with 52 additions and 0 deletions

View File

@@ -314,6 +314,14 @@ var Client = (function (_EventEmitter) {
return this.internal.kickMember(user, server).then(dataCallback(callback), errorCallback(callback));
};
// def moveMember
Client.prototype.moveMember = function moveMember(user, server, channel) {
var callback = arguments.length <= 3 || arguments[3] === undefined ? function () /*err, {}*/{} : arguments[3];
return this.internal.moveMember(user, server, channel).then(dataCallback(callback), errorCallback(callback));
};
// def createRole
Client.prototype.createRole = function createRole(server) {

View File

@@ -694,6 +694,25 @@ var InternalClient = (function () {
return this.apiRequest("del", _Constants.Endpoints.SERVER_MEMBERS(server.id) + "/" + user.id, true);
};
// def moveMember
InternalClient.prototype.moveMember = function moveMember(user, server, channel) {
user = this.resolver.resolveUser(user);
server = this.resolver.resolveServer(server);
channel = this.resolver.resolveChannel(channel);
console.log(channel.type);
// Make sure `channel` is a voice channel
if (channel.type !== "voice") {
throw new Error("Can't moveMember into a non-voice channel");
} else {
return this.apiRequest("patch", _Constants.Endpoints.SERVER_MEMBERS(server.id) + "/" + user.id, true, { channel_id: channel.id }).then(function (res) {
user.voiceChannel = channel;
return res;
});
}
};
// def createRole
InternalClient.prototype.createRole = function createRole(server, data) {

View File

@@ -273,6 +273,12 @@ export default class Client extends EventEmitter {
.then(dataCallback(callback), errorCallback(callback));
}
// def moveMember
moveMember(user, server, channel, callback = (/*err, {}*/) => { }) {
return this.internal.moveMember(user, server, channel)
.then(dataCallback(callback), errorCallback(callback));
}
// def createRole
createRole(server, data = null, callback = (/*err, role*/) => { }) {
if (typeof data === "function") {

View File

@@ -572,6 +572,25 @@ export default class InternalClient {
return this.apiRequest("del", `${Endpoints.SERVER_MEMBERS(server.id) }/${user.id}`, true);
}
// def moveMember
moveMember(user, server, channel) {
user = this.resolver.resolveUser(user);
server = this.resolver.resolveServer(server);
channel = this.resolver.resolveChannel(channel);
console.log(channel.type);
// Make sure `channel` is a voice channel
if(channel.type !== "voice") {
throw new Error("Can't moveMember into a non-voice channel");
} else {
return this.apiRequest("patch", `${Endpoints.SERVER_MEMBERS(server.id)}/${user.id}`, true, { channel_id: channel.id })
.then(res => {
user.voiceChannel = channel;
return res;
});
}
}
// def createRole
createRole(server, data) {
server = this.resolver.resolveServer(server);