C# 如何等待用户的响应?
在一个频道问了一个问题之后C# 如何等待用户的响应?,c#,discord.net,C#,Discord.net,在一个频道问了一个问题之后 await channel.SendMessageAsync("question?"); 我如何等待特定的响应?(例如是,不是) 我试过了 string input; bool done = false; while(!done) { input = channel.GetMessageAsync(channel.Id).ToString(); if (String.Compare(input, "yes") == 0) {
await channel.SendMessageAsync("question?");
我如何等待特定的响应?(例如是,不是)
我试过了
string input;
bool done = false;
while(!done)
{
input = channel.GetMessageAsync(channel.Id).ToString();
if (String.Compare(input, "yes") == 0)
{
//code here
done = true;
}
else if (String.Compare(input, "no") == 0)
{
//code here
done = true;
}
}
但它似乎不起作用
input = channel.GetMessageAsync(channel.Id).ToString();
毫无意义GetMessageAsync()
希望您提供messageID而不是通道ID
现在,您还不知道尚未发送的消息的ID,因此,与其循环到无限远,不如让消息可能会或永远不会出现。我建议您改为在消息/命令处理程序中处理此问题
在这里,您可以跟踪一个列表,其中包含触发您初始命令的人员。之后,您可以检查他们的消息是否包含“是/否”或其他内容