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);
});
}
2 years ago
下载消息时,它返回
Message[]
数据类型 . 并且您不能直接将其转换为字符串以获取消息 .相反,使用
e.Args[0]
,它基本上返回string
数据类型,并且它包含带命令的消息 .例如:我的命令中有一个代码,
string x = e.Args[0];
,我输入'!say this' . "this"将是x
的值 .如此有效,你甚至不需要将它子串起来!所有你真正要做的就是
string message_a = e.Args[0];
并让它直接发回message_a
到 Channels !编辑:现在允许机器人接收输入,在
.Do(async...
后面,添加一个.Parameter("user", ParameterType.Unparsed)
. 这允许您的机器人从用户那里获取额外的输入 .