Discord 对消息进行子字符串化
Discord substringing a message
我目前正在开发一个不和谐的机器人,我试图在你输入一些东西的地方发出一个命令,机器人会回复你,只是没有 !say 部分。正如您在这里看到的,我使用了一个子字符串。似乎当下载的消息变成字符串时,它的功能就不像一个字符串了。
当我将命令置于不和谐状态时,它就是行不通。我没有收到错误消息。就是没反应。
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);
});
}
当您下载邮件时,它 returns 是 Message[]
数据类型。而且你不能直接将它转换为字符串来获取消息。
相反,使用 e.Args[0]
,它基本上是 returns 一种 string
数据类型,并且它包含消息 w/o 命令。
例如:我的命令中有一个代码,string x = e.Args[0];
,我输入“!say this”。 "this" 将是 x
.
的值
非常有效,您甚至不需要对它进行子字符串化!您真正需要做的就是 string message_a = e.Args[0];
并让它直接将 message_a
发送回频道!
编辑:
现在让机器人接受输入,在你的 .Do(async...
后面,添加一个 .Parameter("user", ParameterType.Unparsed)
。这允许您的机器人从用户那里获取额外的输入。
我目前正在开发一个不和谐的机器人,我试图在你输入一些东西的地方发出一个命令,机器人会回复你,只是没有 !say 部分。正如您在这里看到的,我使用了一个子字符串。似乎当下载的消息变成字符串时,它的功能就不像一个字符串了。 当我将命令置于不和谐状态时,它就是行不通。我没有收到错误消息。就是没反应。
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);
});
}
当您下载邮件时,它 returns 是 Message[]
数据类型。而且你不能直接将它转换为字符串来获取消息。
相反,使用 e.Args[0]
,它基本上是 returns 一种 string
数据类型,并且它包含消息 w/o 命令。
例如:我的命令中有一个代码,string x = e.Args[0];
,我输入“!say this”。 "this" 将是 x
.
非常有效,您甚至不需要对它进行子字符串化!您真正需要做的就是 string message_a = e.Args[0];
并让它直接将 message_a
发送回频道!
编辑:
现在让机器人接受输入,在你的 .Do(async...
后面,添加一个 .Parameter("user", ParameterType.Unparsed)
。这允许您的机器人从用户那里获取额外的输入。