Files
discord.js/lib/Structures/PMChannel.js
Amish Shah 8d0fc8e0a6 Resilience to abusers of the API
For some reason there's a way to join text channels via the Discord API but not the Discord Client, so this commit
prevents the Client from crashing by checking to see if the channels are voice channels.
2015-12-26 18:32:46 +00:00

91 lines
3.7 KiB
JavaScript

"use strict";
exports.__esModule = true;
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var _Channel2 = require("./Channel");
var _Channel3 = _interopRequireDefault(_Channel2);
var _User = require("./User");
var _User2 = _interopRequireDefault(_User);
var _UtilCache = require("../Util/Cache");
var _UtilCache2 = _interopRequireDefault(_UtilCache);
var _UtilArgumentRegulariser = require("../Util/ArgumentRegulariser");
var PMChannel = (function (_Channel) {
_inherits(PMChannel, _Channel);
function PMChannel(data, client) {
_classCallCheck(this, PMChannel);
_Channel.call(this, data, client);
this.type = data.type || "text";
this.lastMessageId = data.last_message_id;
this.messages = new _UtilCache2["default"]("id", 1000);
this.recipient = this.client.internal.users.add(new _User2["default"](data.recipient, this.client));
}
/* warning! may return null */
PMChannel.prototype.toString = function toString() {
return this.recipient.toString();
};
PMChannel.prototype.sendMessage = function sendMessage() {
return this.client.sendMessage.apply(this.client, _UtilArgumentRegulariser.reg(this, arguments));
};
PMChannel.prototype.send = function send() {
return this.client.sendMessage.apply(this.client, _UtilArgumentRegulariser.reg(this, arguments));
};
PMChannel.prototype.sendTTSMessage = function sendTTSMessage() {
return this.client.sendTTSMessage.apply(this.client, _UtilArgumentRegulariser.reg(this, arguments));
};
PMChannel.prototype.sendTTS = function sendTTS() {
return this.client.sendTTSMessage.apply(this.client, _UtilArgumentRegulariser.reg(this, arguments));
};
PMChannel.prototype.sendFile = function sendFile() {
return this.client.sendFile.apply(this.client, _UtilArgumentRegulariser.reg(this, arguments));
};
PMChannel.prototype.startTyping = function startTyping() {
return this.client.startTyping.apply(this.client, _UtilArgumentRegulariser.reg(this, arguments));
};
PMChannel.prototype.stopTyping = function stopTyping() {
return this.client.stopTyping.apply(this.client, _UtilArgumentRegulariser.reg(this, arguments));
};
PMChannel.prototype.getLogs = function getLogs() {
return this.client.getChannelLogs.apply(this.client, _UtilArgumentRegulariser.reg(this, arguments));
};
_createClass(PMChannel, [{
key: "lastMessage",
get: function get() {
return this.messages.get("id", this.lastMessageID);
}
}]);
return PMChannel;
})(_Channel3["default"]);
exports["default"] = PMChannel;
module.exports = exports["default"];