mirror of
https://github.com/ReVanced/revanced-bots.git
synced 2026-01-18 08:43:57 +00:00
60 lines
1.4 KiB
JavaScript
60 lines
1.4 KiB
JavaScript
import {
|
|
ContextMenuCommandBuilder,
|
|
ApplicationCommandType,
|
|
ActionRowBuilder,
|
|
SelectMenuBuilder,
|
|
ComponentType
|
|
} from 'discord.js';
|
|
|
|
export default {
|
|
data: new ContextMenuCommandBuilder()
|
|
.setName('Train Message')
|
|
.setType(ApplicationCommandType.Message),
|
|
async execute(helper, config, interaction) {
|
|
if (
|
|
interaction.member.roles.highest.comparePositionTo(
|
|
interaction.member.guild.roles.cache.get(config.discord.trainRole)
|
|
) < 0
|
|
)
|
|
return interaction.reply({
|
|
content: 'You don\'t have the permission to do this.',
|
|
ephemeral: true
|
|
});
|
|
const options = [];
|
|
|
|
for (const { label } of config.responses) {
|
|
options.push({
|
|
label: label,
|
|
description: `The ${label} label.`,
|
|
value: label.toLowerCase()
|
|
});
|
|
}
|
|
|
|
const row = new ActionRowBuilder().addComponents(
|
|
new SelectMenuBuilder()
|
|
.setCustomId('select')
|
|
.setPlaceholder('Nothing selected')
|
|
.addOptions(options)
|
|
);
|
|
const reply = await interaction.reply({
|
|
content: 'Please select the corresponding label to train the bot.',
|
|
components: [row],
|
|
ephemeral: true
|
|
});
|
|
|
|
const collector = reply.createMessageComponentCollector({
|
|
componentType: ComponentType.StringSelect,
|
|
time: 15000
|
|
});
|
|
|
|
collector.on('collect', (i) => {
|
|
helper.sendTrainData(
|
|
interaction.targetMessage.content.toLowerCase(),
|
|
i.values[0].toUpperCase()
|
|
);
|
|
|
|
i.reply({ content: 'Sent train data to server.', ephemeral: true });
|
|
});
|
|
}
|
|
};
|