阅读Discord.Net的文档后,我发现可以使用Enum作为模块的参数,以便用户在输入斜杠命令时可以从枚举中选择一个值:
public class CharacterChoiceModule : InteractionModuleBase<SocketInteractionContext>
{
    [SlashCommand("personnage", "test")]
    public async Task Choice(PersonnageName personnage)
    {
        ...
    }
}
public enum PersonnageName
{
    Gérard,
    Daniel
}它的结果是一个可选择的PersonnageName,我可以在代码中使用它,变量personnage作为参数传递。选择的Ui如下:

但是现在我想传递一个动态的选择列表,例如可以通过数据库填充的List<string>。
是否可以使用动态列表作为斜线命令的选择参数?
发布于 2022-10-17 02:13:00
不是的。注册斜杠命令时必须声明所有选项。这是不和谐API的一个限制,而不是C#库。
https://stackoverflow.com/questions/74091765
复制相似问题