aboutsummaryrefslogtreecommitdiff
path: root/node_modules/discord.js/src/structures/DMChannel.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/discord.js/src/structures/DMChannel.js')
-rw-r--r--node_modules/discord.js/src/structures/DMChannel.js60
1 files changed, 60 insertions, 0 deletions
diff --git a/node_modules/discord.js/src/structures/DMChannel.js b/node_modules/discord.js/src/structures/DMChannel.js
new file mode 100644
index 0000000..de49c8b
--- /dev/null
+++ b/node_modules/discord.js/src/structures/DMChannel.js
@@ -0,0 +1,60 @@
+const Channel = require('./Channel');
+const TextBasedChannel = require('./interface/TextBasedChannel');
+const Collection = require('../util/Collection');
+
+/**
+ * Represents a direct message channel between two users.
+ * @extends {Channel}
+ * @implements {TextBasedChannel}
+ */
+class DMChannel extends Channel {
+ constructor(client, data) {
+ super(client, data);
+ this.type = 'dm';
+ this.messages = new Collection();
+ this._typing = new Map();
+ }
+
+ setup(data) {
+ super.setup(data);
+
+ /**
+ * The recipient on the other end of the DM
+ * @type {User}
+ */
+ this.recipient = this.client.dataManager.newUser(data.recipients[0]);
+
+ this.lastMessageID = data.last_message_id;
+ }
+
+ /**
+ * When concatenated with a string, this automatically concatenates the recipient's mention instead of the
+ * DM channel object.
+ * @returns {string}
+ */
+ toString() {
+ return this.recipient.toString();
+ }
+
+ // These are here only for documentation purposes - they are implemented by TextBasedChannel
+ send() { return; }
+ sendMessage() { return; }
+ sendEmbed() { return; }
+ sendFile() { return; }
+ sendCode() { return; }
+ fetchMessage() { return; }
+ fetchMessages() { return; }
+ fetchPinnedMessages() { return; }
+ startTyping() { return; }
+ stopTyping() { return; }
+ get typing() { return; }
+ get typingCount() { return; }
+ createCollector() { return; }
+ awaitMessages() { return; }
+ bulkDelete() { return; }
+ _cacheMessage() { return; }
+}
+
+TextBasedChannel.applyToClass(DMChannel, true);
+
+module.exports = DMChannel;