diff options
Diffstat (limited to 'node_modules/discord.js/src/structures/ChannelSelectMenuInteraction.js')
-rw-r--r-- | node_modules/discord.js/src/structures/ChannelSelectMenuInteraction.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/node_modules/discord.js/src/structures/ChannelSelectMenuInteraction.js b/node_modules/discord.js/src/structures/ChannelSelectMenuInteraction.js new file mode 100644 index 0000000..a5e9c99 --- /dev/null +++ b/node_modules/discord.js/src/structures/ChannelSelectMenuInteraction.js @@ -0,0 +1,33 @@ +'use strict'; + +const { Collection } = require('@discordjs/collection'); +const MessageComponentInteraction = require('./MessageComponentInteraction'); + +/** + * Represents a {@link ComponentType.ChannelSelect} select menu interaction. + * @extends {MessageComponentInteraction} + */ +class ChannelSelectMenuInteraction extends MessageComponentInteraction { + constructor(client, data) { + super(client, data); + const { resolved, values } = data.data; + + /** + * An array of the selected channel ids + * @type {Snowflake[]} + */ + this.values = values ?? []; + + /** + * Collection of the selected channels + * @type {Collection<Snowflake, BaseChannel|APIChannel>} + */ + this.channels = new Collection(); + + for (const channel of Object.values(resolved?.channels ?? {})) { + this.channels.set(channel.id, this.client.channels._add(channel, this.guild) ?? channel); + } + } +} + +module.exports = ChannelSelectMenuInteraction; |