aboutsummaryrefslogtreecommitdiff
path: root/src/commands/favorites.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/favorites.ts')
-rw-r--r--src/commands/favorites.ts12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/commands/favorites.ts b/src/commands/favorites.ts
index b15a5c9..98f1ba9 100644
--- a/src/commands/favorites.ts
+++ b/src/commands/favorites.ts
@@ -75,6 +75,7 @@ export default class implements Command {
}
async handleAutocompleteInteraction(interaction: AutocompleteInteraction) {
+ const subcommand = interaction.options.getSubcommand();
const query = interaction.options.getString('name')!.trim();
const favorites = await prisma.favoriteQuery.findMany({
@@ -83,13 +84,16 @@ export default class implements Command {
},
});
- const names = favorites.map(favorite => favorite.name);
+ let results = query === '' ? favorites : favorites.filter(f => f.name.startsWith(query));
- const results = query === '' ? names : names.filter(name => name.startsWith(query));
+ if (subcommand === 'remove') {
+ // Only show favorites that user is allowed to remove
+ results = interaction.member?.user.id === interaction.guild?.ownerId ? results : results.filter(r => r.authorId === interaction.member!.user.id);
+ }
await interaction.respond(results.map(r => ({
- name: r,
- value: r,
+ name: r.name,
+ value: r.name,
})));
}