aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/findepisode.js12
-rw-r--r--modules/findpony.js36
-rw-r--r--modules/registers.js3
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')