首页 > 解决方案 > Discord.net 更好的帮助命令

问题描述

所以我有一个基本的帮助命令,它需要总结和评论,现在效果很好。但是当每个命令都在一起并且每隔一行文本更暗时,它看起来很笨重,有没有办法解决这两个问题。这是代码:

public class HelpHandler : ModuleBase<SocketCommandContext>
{
    private readonly CommandService _service;

    public HelpHandler(CommandService service)
    {
        Global.ConsoleLog("Started HelpHandler", ConsoleColor.Blue);

        _service = service;
    }

    [Command("help")]
    public async Task HelpAsync()
    {
        var builder = new EmbedBuilder()
        {
            Color = new Color(114, 137, 218),
            Description = "These are the commands you can use"
        };

        foreach (var module in _service.Modules)
        {
            string description = null;
            foreach (var cmd in module.Commands)
            {
                var result = await cmd.CheckPreconditionsAsync(Context);
                if (result.IsSuccess)
                    description += $"{Global.Preflix}{cmd.Aliases.First()}\n";
            }

            if (!string.IsNullOrWhiteSpace(description))
            {
                builder.AddField(x =>
                {
                    x.Name = module.Name;
                    x.Value = description;
                    x.IsInline = false;
                });
            }
        }

        await ReplyAsync("", false, builder.Build());
    }

}

这张图片显示了它的样子。 笨重

所以更具体地说,有没有办法让我可以有不同的卡片,每张卡片都有 x 数量的命令,你可以滚动它们并用表情符号反应(例如向后和向前)扔掉它们?有没有办法消除它无缘无故地每隔一行文本变暗的可怕方式?

谢谢!

标签: c#discorddiscord.net

解决方案


推荐阅读