Discord子串消息

时间:2017-03-12 16:43:28

标签: c# discord

我目前正在研究一个不和谐机器人,我试图在你输入内容时发出命令,机器人会回复给你,只有没有说出来的部分。正如你在这里看到的,我使用了子串。似乎当下载的消息变成一个字符串时,它的功能就像一个。 当我把命令置于不和中时,它就是行不通的。我没有收到错误消息。它只是没有回应。

private void RegisterSayCommand()
    {
        commands.CreateCommand("say")
            .Do(async (e) =>
            {
                string messagestosay, message_b;
                int message_sub;
                Message[] message_a;
                message_a = await e.Channel.DownloadMessages(1);
                message_b = message_a.ToString();
                message_sub = message_b.Length;
                messagestosay = message_b.Substring(4, message_sub);

                await e.Channel.SendMessage(messagestosay);
            });
    }

1 个答案:

答案 0 :(得分:0)

下载邮件时,它会返回Message[]数据类型。并且您无法直接将其转换为字符串以获取消息。

相反,使用e.Args[0],它基本上返回一个string数据类型,它包含没有命令的消息。
例如:我的命令中有一个代码,string x = e.Args[0];,我输入'!说出这个'。 "这"将是x的价值。

如此有效,你甚至不需要将它子串起来!你真正要做的只是string message_a = e.Args[0];并让它直接发送回message_a

编辑: 现在,要允许机器人在.Do(async...后面输入输入,请添加.Parameter("user", ParameterType.Unparsed)。这允许您的机器人从用户那里获取额外的输入。