Attempting getInvites

This commit is contained in:
abalabahaha
2016-01-13 20:32:07 -08:00
parent cffdb5f5f6
commit fc58a0d5cf
4 changed files with 84 additions and 26 deletions

View File

@@ -441,6 +441,14 @@ var Client = (function (_EventEmitter) {
return this.internal.getInvite(invite).then(dataCallback(callback), errorCallback(callback));
};
// def getInvites
Client.prototype.getInvites = function getInvites(channel) {
var callback = arguments.length <= 1 || arguments[1] === undefined ? function () /*err, inv*/{} : arguments[1];
return this.internal.getInvites(channel).then(dataCallback(callback), errorCallback(callback));
};
// def overwritePermissions
Client.prototype.overwritePermissions = function overwritePermissions(channel, role) {

View File

@@ -962,10 +962,34 @@ var InternalClient = (function () {
});
};
//def getInvites
InternalClient.prototype.getInvites = function getInvites(channel) {
var _this23 = this;
if (!(channel instanceof _StructuresChannel2["default"])) {
var server = this.resolver.resolveServer(channel);
if (server) {
return this.apiRequest("get", _Constants.Endpoints.SERVER_INVITES(server.id), true).then(function (res) {
return res.map(function (data) {
return new _StructuresInvite2["default"](data, _this23.channels.get("id", data.channel.id), _this23.client);
});
});
}
}
return this.resolver.resolveChannel(channel).then(function (channel) {
return _this23.apiRequest("get", _Constants.Endpoints.CHANNEL_INVITES(channel.id), true).then(function (res) {
return res.map(function (data) {
return new _StructuresInvite2["default"](data, _this23.channels.get("id", data.channel.id), _this23.client);
});
});
});
};
//def overwritePermissions
InternalClient.prototype.overwritePermissions = function overwritePermissions(channel, role, updated) {
var _this23 = this;
var _this24 = this;
return this.resolver.resolveChannel(channel).then(function (channel) {
var user;
@@ -1006,7 +1030,7 @@ var InternalClient = (function () {
}
}
return _this23.apiRequest("put", _Constants.Endpoints.CHANNEL_PERMISSIONS(channel.id) + "/" + data.id, true, data);
return _this24.apiRequest("put", _Constants.Endpoints.CHANNEL_PERMISSIONS(channel.id) + "/" + data.id, true, data);
});
};
@@ -1042,49 +1066,49 @@ var InternalClient = (function () {
//def sendTyping
InternalClient.prototype.sendTyping = function sendTyping(channel) {
var _this24 = this;
var _this25 = this;
return this.resolver.resolveChannel(channel).then(function (channel) {
return _this24.apiRequest("post", _Constants.Endpoints.CHANNEL(channel.id) + "/typing", true);
return _this25.apiRequest("post", _Constants.Endpoints.CHANNEL(channel.id) + "/typing", true);
});
};
//def startTyping
InternalClient.prototype.startTyping = function startTyping(channel) {
var _this25 = this;
var _this26 = this;
return this.resolver.resolveChannel(channel).then(function (channel) {
if (_this25.intervals.typing[channel.id]) {
if (_this26.intervals.typing[channel.id]) {
// typing interval already exists, leave it alone
throw new Error("Already typing in that channel");
}
_this25.intervals.typing[channel.id] = setInterval(function () {
return _this25.sendTyping(channel)["catch"](function (error) {
return _this25.emit("error", error);
_this26.intervals.typing[channel.id] = setInterval(function () {
return _this26.sendTyping(channel)["catch"](function (error) {
return _this26.emit("error", error);
});
}, 4000);
return _this25.sendTyping(channel);
return _this26.sendTyping(channel);
});
};
//def stopTyping
InternalClient.prototype.stopTyping = function stopTyping(channel) {
var _this26 = this;
var _this27 = this;
return this.resolver.resolveChannel(channel).then(function (channel) {
if (!_this26.intervals.typing[channel.id]) {
if (!_this27.intervals.typing[channel.id]) {
// typing interval doesn"t exist
throw new Error("Not typing in that channel");
}
clearInterval(_this26.intervals.typing[channel.id]);
_this26.intervals.typing[channel.id] = false;
clearInterval(_this27.intervals.typing[channel.id]);
_this27.intervals.typing[channel.id] = false;
});
};
@@ -1115,12 +1139,12 @@ var InternalClient = (function () {
//def setChannelTopic
InternalClient.prototype.setChannelTopic = function setChannelTopic(chann) {
var _this27 = this;
var _this28 = this;
var topic = arguments.length <= 1 || arguments[1] === undefined ? "" : arguments[1];
return this.resolver.resolveChannel(chann).then(function (channel) {
return _this27.apiRequest("patch", _Constants.Endpoints.CHANNEL(channel.id), true, {
return _this28.apiRequest("patch", _Constants.Endpoints.CHANNEL(channel.id), true, {
name: channel.name,
position: channel.position,
topic: topic
@@ -1133,12 +1157,12 @@ var InternalClient = (function () {
//def setChannelName
InternalClient.prototype.setChannelName = function setChannelName(chann) {
var _this28 = this;
var _this29 = this;
var name = arguments.length <= 1 || arguments[1] === undefined ? "discordjs_is_the_best" : arguments[1];
return this.resolver.resolveChannel(chann).then(function (channel) {
return _this28.apiRequest("patch", _Constants.Endpoints.CHANNEL(channel.id), true, {
return _this29.apiRequest("patch", _Constants.Endpoints.CHANNEL(channel.id), true, {
name: name,
position: channel.position,
topic: channel.topic
@@ -1151,13 +1175,13 @@ var InternalClient = (function () {
//def setChannelNameAndTopic
InternalClient.prototype.setChannelNameAndTopic = function setChannelNameAndTopic(chann) {
var _this29 = this;
var _this30 = this;
var name = arguments.length <= 1 || arguments[1] === undefined ? "discordjs_is_the_best" : arguments[1];
var topic = arguments.length <= 2 || arguments[2] === undefined ? "" : arguments[2];
return this.resolver.resolveChannel(chann).then(function (channel) {
return _this29.apiRequest("patch", _Constants.Endpoints.CHANNEL(channel.id), true, {
return _this30.apiRequest("patch", _Constants.Endpoints.CHANNEL(channel.id), true, {
name: name,
position: channel.position,
topic: topic
@@ -1171,12 +1195,12 @@ var InternalClient = (function () {
//def setTopic
InternalClient.prototype.setChannelPosition = function setChannelPosition(chann) {
var _this30 = this;
var _this31 = this;
var position = arguments.length <= 1 || arguments[1] === undefined ? 0 : arguments[1];
return this.resolver.resolveChannel(chann).then(function (channel) {
return _this30.apiRequest("patch", _Constants.Endpoints.CHANNEL(channel.id), true, {
return _this31.apiRequest("patch", _Constants.Endpoints.CHANNEL(channel.id), true, {
name: channel.name,
position: position,
topic: channel.topic
@@ -1388,7 +1412,7 @@ var InternalClient = (function () {
// server exists
data.members = data.members || [];
data.channels = data.channels || [];
var newserver = new _StructuresServer2["default"](data, self);
var newserver = new _StructuresServer2["default"](data, client);
newserver.members = server.members;
newserver.memberMap = server.memberMap;
newserver.channels = server.channels;
@@ -1401,7 +1425,7 @@ var InternalClient = (function () {
}
} else if (!server) {
client.emit("warn", "server was updated but it was not in the cache");
self.servers.add(new _StructuresServer2["default"](data, self));
self.servers.add(new _StructuresServer2["default"](data, client));
client.emit("serverCreated", server);
}
break;

View File

@@ -365,6 +365,12 @@ export default class Client extends EventEmitter {
.then(dataCallback(callback), errorCallback(callback));
}
// def getInvites
getInvites(channel, callback = (/*err, inv*/) => { }) {
return this.internal.getInvites(channel)
.then(dataCallback(callback), errorCallback(callback));
}
// def overwritePermissions
overwritePermissions(channel, role, options = {}, callback = (/*err, {}*/) => { }) {
return this.internal.overwritePermissions(channel, role, options)

View File

@@ -807,6 +807,26 @@ export default class InternalClient {
});
}
//def getInvites
getInvites(channel) {
if (!(channel instanceof Channel)) {
var server = this.resolver.resolveServer(channel);
if (server) {
return this.apiRequest("get", Endpoints.SERVER_INVITES(server.id), true)
.then(res => {
return res.map(data => new Invite(data, this.channels.get("id", data.channel.id), this.client));
});
}
}
return this.resolver.resolveChannel(channel)
.then(channel => {
return this.apiRequest("get", Endpoints.CHANNEL_INVITES(channel.id), true)
.then(res => {
return res.map(data => new Invite(data, this.channels.get("id", data.channel.id), this.client));
});
});
}
//def overwritePermissions
overwritePermissions(channel, role, updated) {
return this.resolver.resolveChannel(channel)
@@ -1194,7 +1214,7 @@ export default class InternalClient {
// server exists
data.members = data.members || [];
data.channels = data.channels || [];
var newserver = new Server(data, self);
var newserver = new Server(data, client);
newserver.members = server.members;
newserver.memberMap = server.memberMap;
newserver.channels = server.channels;
@@ -1207,7 +1227,7 @@ export default class InternalClient {
}
} else if (!server) {
client.emit("warn", "server was updated but it was not in the cache");
self.servers.add(new Server(data, self));
self.servers.add(new Server(data, client));
client.emit("serverCreated", server);
}
break;