diff --git a/bots/discord/commands/trainMessage.js b/bots/discord/commands/trainMessage.js index a4960d5..7644a78 100644 --- a/bots/discord/commands/trainMessage.js +++ b/bots/discord/commands/trainMessage.js @@ -1,7 +1,4 @@ -import { - ContextMenuCommandBuilder, - ApplicationCommandType -} from 'discord.js'; +import { ContextMenuCommandBuilder, ApplicationCommandType } from 'discord.js'; import trainAISelectMenu from '../utils/trainAISelectMenu.js'; export default { @@ -13,11 +10,12 @@ export default { interaction.member.roles.highest.comparePositionTo( interaction.member.guild.roles.cache.get(config.discord.trainRole) ) < 0 - ) return interaction.reply({ + ) + return interaction.reply({ content: 'You don\'t have the permission to do this.', ephemeral: true }); - trainAISelectMenu(interaction, config, helper); + trainAISelectMenu(interaction, config, helper); } }; diff --git a/bots/discord/events/helper/aiResponse.js b/bots/discord/events/helper/aiResponse.js index de55e0d..5c7a9ef 100644 --- a/bots/discord/events/helper/aiResponse.js +++ b/bots/discord/events/helper/aiResponse.js @@ -1,4 +1,9 @@ -import { EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle } from 'discord.js'; +import { + EmbedBuilder, + ActionRowBuilder, + ButtonBuilder, + ButtonStyle +} from 'discord.js'; import trainAISelectMenu from '../../utils/trainAISelectMenu.js'; export default { @@ -52,12 +57,19 @@ export default { .setStyle(ButtonStyle.Danger) ); - const reply = await message.reply({ embeds: [embed], components: [feedbackRow] }); - const filter = (i) => i.member.roles.highest.comparePositionTo( - i.member.guild.roles.cache.get(config.discord.trainRole) - ) > 0 + const reply = await message.reply({ + embeds: [embed], + components: [feedbackRow] + }); + const filter = (i) => + i.member.roles.highest.comparePositionTo( + i.member.guild.roles.cache.get(config.discord.trainRole) + ) > 0; - const collector = reply.createMessageComponentCollector({ filter, time: 15_000 }); + const collector = reply.createMessageComponentCollector({ + filter, + time: 15_000 + }); collector.on('collect', (i) => { if (i.customId == 'fb-like') { // We train it using the label the AI gave. @@ -65,9 +77,9 @@ export default { i.reply({ ephemeral: true, content: 'Sent train data to server.' }); } else { // We ask the trainer to train it using the select menu. - trainAISelectMenu(i, config, helper); + trainAISelectMenu(i, config, helper, message); } - }) + }); return; } catch (e) { console.log(e); diff --git a/bots/discord/utils/trainAISelectMenu.js b/bots/discord/utils/trainAISelectMenu.js index c858bbc..05a9502 100644 --- a/bots/discord/utils/trainAISelectMenu.js +++ b/bots/discord/utils/trainAISelectMenu.js @@ -1,43 +1,48 @@ import { - ActionRowBuilder, + ActionRowBuilder, StringSelectMenuBuilder, ComponentType } from 'discord.js'; -export default async function trainAISelectMenu(interaction, config, helper) { - const options = []; +export default async function trainAISelectMenu( + interaction, + config, + helper, + message +) { + 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 StringSelectMenuBuilder() - .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 + for (const { label } of config.responses) { + options.push({ + label: label, + description: `The ${label} label.`, + value: label.toLowerCase() }); + } - const collector = reply.createMessageComponentCollector({ - componentType: ComponentType.StringSelect, - time: 15000 - }); + const row = new ActionRowBuilder().addComponents( + new StringSelectMenuBuilder() + .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 + }); - collector.on('collect', (i) => { - helper.sendTrainData( - interaction.targetMessage.content.toLowerCase(), - i.values[0].toUpperCase() - ); + const collector = reply.createMessageComponentCollector({ + componentType: ComponentType.StringSelect, + time: 15000 + }); - i.reply({ content: 'Sent train data to server.', ephemeral: true }); - }); -} \ No newline at end of file + const interactedMessage = message + ? message.content + : interaction.targetMessage.content.toLowerCase(); + collector.on('collect', (i) => { + helper.sendTrainData(interactedMessage, i.values[0]); + + i.reply({ content: 'Sent train data to server.', ephemeral: true }); + }); +} diff --git a/bots/telegram/events/helper/aiResponse.js b/bots/telegram/events/helper/aiResponse.js index fe0de5f..7b37276 100644 --- a/bots/telegram/events/helper/aiResponse.js +++ b/bots/telegram/events/helper/aiResponse.js @@ -19,7 +19,7 @@ export default { `## ${response.reply.title}\n\n${response.reply.desc}\n\n_Confidence: ${intent.confidence}_\n\nThis bot is currently being tested in production. Ignore it, if it's wrong.`, { message_thread_id: ids[1], - reply_to_message_id: ids[2], + reply_to_message_id: ids[2] } );