diff options
| author | salmonik <salmonik@tuta.io> | 2026-11-04 01:32:06 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-11-04 01:32:06 +0100 |
| commit | 382bb2af15e7076f8dcbbe6cc4a6b135709ef7b9 (patch) | |
| tree | 5e03e559d05ff2510781d5b760f5737e4ff03580 /src/commands/music.rs | |
| parent | cron: validate expressions and allocate ids atomically (diff) | |
| download | senator-sperma-382bb2af15e7076f8dcbbe6cc4a6b135709ef7b9.tar.gz senator-sperma-382bb2af15e7076f8dcbbe6cc4a6b135709ef7b9.zip | |
autocomplete: key results by extension filter and reject the placeholder
Diffstat (limited to 'src/commands/music.rs')
| -rw-r--r-- | src/commands/music.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/commands/music.rs b/src/commands/music.rs index baa91b1..51bd619 100644 --- a/src/commands/music.rs +++ b/src/commands/music.rs | |||
| @@ -3,7 +3,7 @@ use poise::serenity_prelude as serenity; | |||
| 3 | 3 | ||
| 4 | use tracing::{error, info}; | 4 | use tracing::{error, info}; |
| 5 | 5 | ||
| 6 | use super::autocomplete::audio_file; | 6 | use super::autocomplete::{MOCK_SEARCHING, audio_file}; |
| 7 | use crate::Data; | 7 | use crate::Data; |
| 8 | use crate::copyparty::{html_decode, percent_decode}; | 8 | use crate::copyparty::{html_decode, percent_decode}; |
| 9 | use crate::error::{Error, Result}; | 9 | use crate::error::{Error, Result}; |
| @@ -87,6 +87,9 @@ async fn resolve_source( | |||
| 87 | } | 87 | } |
| 88 | 88 | ||
| 89 | let name = melodia.ok_or_else(|| Error::Custom(lang::L_MUSIC_NEED_NAME.into()))?; | 89 | let name = melodia.ok_or_else(|| Error::Custom(lang::L_MUSIC_NEED_NAME.into()))?; |
| 90 | if name == MOCK_SEARCHING { | ||
| 91 | return Err(Error::Custom(lang::L_UTIL_PICK_FROM_AUTOCOMPLETE.into())); | ||
| 92 | } | ||
| 90 | 93 | ||
| 91 | // ── Autocomplete cache (per-user: (UserId, filename) → SearchHit) ─ | 94 | // ── Autocomplete cache (per-user: (UserId, filename) → SearchHit) ─ |
| 92 | if let Some(hit) = ctx.data().ac_lookup(ctx.author().id, &name).await { | 95 | if let Some(hit) = ctx.data().ac_lookup(ctx.author().id, &name).await { |
