summaryrefslogtreecommitdiff
path: root/node_modules/discord.js/src/structures/WelcomeChannel.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/discord.js/src/structures/WelcomeChannel.js')
-rw-r--r--node_modules/discord.js/src/structures/WelcomeChannel.js60
1 files changed, 60 insertions, 0 deletions
diff --git a/node_modules/discord.js/src/structures/WelcomeChannel.js b/node_modules/discord.js/src/structures/WelcomeChannel.js
new file mode 100644
index 0000000..d783e06
--- /dev/null
+++ b/node_modules/discord.js/src/structures/WelcomeChannel.js
@@ -0,0 +1,60 @@
+'use strict';
+
+const Base = require('./Base');
+const { Emoji } = require('./Emoji');
+
+/**
+ * Represents a channel link in a guild's welcome screen.
+ * @extends {Base}
+ */
+class WelcomeChannel extends Base {
+ constructor(guild, data) {
+ super(guild.client);
+
+ /**
+ * The guild for this welcome channel
+ * @type {Guild|InviteGuild}
+ */
+ this.guild = guild;
+
+ /**
+ * The description of this welcome channel
+ * @type {string}
+ */
+ this.description = data.description;
+
+ /**
+ * The raw emoji data
+ * @type {Object}
+ * @private
+ */
+ this._emoji = {
+ name: data.emoji_name,
+ id: data.emoji_id,
+ };
+
+ /**
+ * The id of this welcome channel
+ * @type {Snowflake}
+ */
+ this.channelId = data.channel_id;
+ }
+
+ /**
+ * The channel of this welcome channel
+ * @type {?(TextChannel|NewsChannel|ForumChannel)}
+ */
+ get channel() {
+ return this.client.channels.resolve(this.channelId);
+ }
+
+ /**
+ * The emoji of this welcome channel
+ * @type {GuildEmoji|Emoji}
+ */
+ get emoji() {
+ return this.client.emojis.resolve(this._emoji.id) ?? new Emoji(this.client, this._emoji);
+ }
+}
+
+module.exports = WelcomeChannel;