generated from Baipyrus/DiscordJS-Template
use shared method for keyword autocomplete
This commit is contained in:
parent
1d5d22dd5f
commit
765e80071a
@ -305,30 +305,6 @@ async function completeResponses(interaction, focused) {
|
|||||||
// Filter total list of responses
|
// Filter total list of responses
|
||||||
const filtered = responses.filter((choice) => choice.name.startsWith(focused));
|
const filtered = responses.filter((choice) => choice.name.startsWith(focused));
|
||||||
|
|
||||||
// Respond with possible suggestions
|
|
||||||
await interaction.respond(
|
|
||||||
filtered.map((choice) => ({ name: choice.name, value: choice.response }))
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {AutocompleteInteraction} interaction
|
|
||||||
* @param {string} focused
|
|
||||||
*/
|
|
||||||
async function completeKeywords(interaction, focused) {
|
|
||||||
const { guildId } = interaction;
|
|
||||||
|
|
||||||
// Get list of keywords from database
|
|
||||||
/** @type {import('../../models/keywords.js').Keyword[]} */
|
|
||||||
const keywords = await Keywords.findAll({
|
|
||||||
where: {
|
|
||||||
guild: guildId
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Filter total list of keywords
|
|
||||||
const filtered = keywords.filter((choice) => choice.name.startsWith(focused));
|
|
||||||
|
|
||||||
// Respond with possible suggestions
|
// Respond with possible suggestions
|
||||||
await interaction.respond(filtered.map((choice) => ({ name: choice.name, value: choice.name })));
|
await interaction.respond(filtered.map((choice) => ({ name: choice.name, value: choice.name })));
|
||||||
}
|
}
|
||||||
@ -339,10 +315,10 @@ async function responseAutocomplete(interaction) {
|
|||||||
|
|
||||||
// Get command options
|
// Get command options
|
||||||
const focused = options.getFocused(true);
|
const focused = options.getFocused(true);
|
||||||
const { value } = focused;
|
const { name, value } = focused;
|
||||||
switch (focused.name) {
|
switch (name) {
|
||||||
case 'keyword':
|
case 'keyword':
|
||||||
completeKeywords(interaction, value);
|
keywordAutocomplete(interaction, value);
|
||||||
break;
|
break;
|
||||||
case 'name':
|
case 'name':
|
||||||
completeResponses(interaction, value);
|
completeResponses(interaction, value);
|
||||||
|
Loading…
Reference in New Issue
Block a user