From e4450c8417624b71d779cb4f41692538f9165e10 Mon Sep 17 00:00:00 2001 From: sowgro Date: Sat, 2 Sep 2023 19:12:47 -0400 Subject: first commit --- .../src/structures/RoleSelectMenuInteraction.js | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 node_modules/discord.js/src/structures/RoleSelectMenuInteraction.js (limited to 'node_modules/discord.js/src/structures/RoleSelectMenuInteraction.js') diff --git a/node_modules/discord.js/src/structures/RoleSelectMenuInteraction.js b/node_modules/discord.js/src/structures/RoleSelectMenuInteraction.js new file mode 100644 index 0000000..eb42eff --- /dev/null +++ b/node_modules/discord.js/src/structures/RoleSelectMenuInteraction.js @@ -0,0 +1,33 @@ +'use strict'; + +const { Collection } = require('@discordjs/collection'); +const MessageComponentInteraction = require('./MessageComponentInteraction'); + +/** + * Represents a {@link ComponentType.RoleSelect} select menu interaction. + * @extends {MessageComponentInteraction} + */ +class RoleSelectMenuInteraction extends MessageComponentInteraction { + constructor(client, data) { + super(client, data); + const { resolved, values } = data.data; + + /** + * An array of the selected role ids + * @type {Snowflake[]} + */ + this.values = values ?? []; + + /** + * Collection of the selected roles + * @type {Collection} + */ + this.roles = new Collection(); + + for (const role of Object.values(resolved?.roles ?? {})) { + this.roles.set(role.id, this.guild?.roles._add(role) ?? role); + } + } +} + +module.exports = RoleSelectMenuInteraction; -- cgit v1.2.3