diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/findepisode.js | 12 | ||||
-rw-r--r-- | modules/findpony.js | 36 | ||||
-rw-r--r-- | modules/registers.js | 3 |
3 files changed, 40 insertions, 11 deletions
diff --git a/modules/findepisode.js b/modules/findepisode.js index f37ed4f..47968da 100644 --- a/modules/findepisode.js +++ b/modules/findepisode.js @@ -30,19 +30,11 @@ module.exports = (series, query) => { }); } - let first = [ - null, - null, - null, - null, - null, - null, - null - ] + let first = [] findex = 0; for (let result of results) { - if (!first.includes(result) && findex < 7) { + if (!first.includes(result) && findex < 25) { first[findex] = result findex++ } diff --git a/modules/findpony.js b/modules/findpony.js new file mode 100644 index 0000000..9159cc6 --- /dev/null +++ b/modules/findpony.js @@ -0,0 +1,36 @@ +const Fuse = require('fuse.js'); +const assocs = require('../data/search.json').associations; +const list = Object.keys(require('../data/data.json')); + +const db = []; +for (let item of list) { + let data = require('../data/data.json')[item]; + data.name = item; + db.push(data); +} + +module.exports = (query) => { + const fuse = new Fuse(db, { + keys: [ 'name', 'residence', 'occupation', 'kind', 'extract', 'names' ] + }) + + let results = []; + for (let item of fuse.search(query)) { + results.push({ + name: item.item.name, + value: item.item.name + }); + } + + let first = [] + + findex = 0; + for (let result of results) { + if (!first.includes(result) && findex < 15) { + first[findex] = result + findex++ + } + } + + return first; +}
\ No newline at end of file diff --git a/modules/registers.js b/modules/registers.js index 59ed699..e43c633 100644 --- a/modules/registers.js +++ b/modules/registers.js @@ -8,7 +8,7 @@ let episodesCmd = new SlashCommandBuilder() for (let series of JSON.parse(fs.readFileSync("./data/series.json").toString())) { let command = new SlashCommandSubcommandBuilder() .setName(series.command.toLowerCase()) - .setDescription(series.title + " (" + series.date + ")") + .setDescription("Gets info about a series' episode ยท " + series.title + " (" + series.date + ")") .addStringOption(s => s.setName("episode") .setDescription("The episode to search for") @@ -26,6 +26,7 @@ module.exports = [ option.setName("query") .setDescription("The pony to search for") .setRequired(true) + .setAutocomplete(true) ), new SlashCommandBuilder() .setName('info') |