Remora/Remora.Discord

[Bug]: Autocomplete doesn't respect `[Option]` name

VelvetToroyashi opened this issue · 0 comments

Description

When using an autocomplete provider, it's reasonable to assume that if the parameter is marked with the [Option] attribute, that name is given precedence over the parameter's name (which actually won't work when Remora/Remora.Commands#20 gets merged)

Steps to Reproduce

public class ReproCommand : CommandGroup
{
  [Command("autocomplete")]
  public async Task<Result> AutoCompleteAsync([Option("mismatched")] string parameter) => Result.FromSuccess();
}

Expected Behavior

Autocomplete uses the hint name of the parameter, allowing parameter name to be mismatched from the presented option

Current Behavior

The LINQ query throws, because Remora assumes the command parameter name matches what Discord returns in the focused option.

https://github.com/Remora/Remora.Discord/blob/3818e52/Remora.Discord.Commands/Responders/AutocompleteResponder.cs#L122-L125

Library / Runtime Information

C# 11, .NET 7.0.2, Remora.Discord.Commands 26.2.3