我在处理命令的参数时遇到问题。'
在参数中出现撇号之前,它们可以正常工作。在这种情况下,什么都不会发生。Bot 什么都不做,应用程序不会崩溃。当我尝试调试该命令时,我发现它甚至不会转到它的代码分支。
例子:
!echo I am fine
作品。
但!echo I'm fine
没有。
我的代码:
client.UsingCommands(input => {
input.PrefixChar = '!';
input.AllowMentionPrefix = true;
});
command = client.GetService<CommandService>();
command.CreateCommand("echo").Parameter("param", ParameterType.Multiple).Do(async (e) => {
var channel = e.Server.FindChannels(e.Message.Channel.Name, ChannelType.Text).FirstOrDefault();
string msg = "";
for (int i = 0; i < e.Args.Length; i++) {
msg += e.Args[i] + " ";
}
msg = msg.Remove(msg.Length - 1);
await channel.SendMessage(msg);
});
知道发生了什么,为什么?