我正在编写 Discord 机器人,但遇到了一个大问题。我正在编写 RPG 机器人,所以我需要经常编写玩家的生命值和敌人的生命值,所以我做了一个函数。
private void showHP(CommandEventArgs e)
{
client.ExecuteAndWait(async() =>
{
await e.Channel.SendMessage(userInside + " - " + player.HP);
});
}
该 CommandEventArgs e 来自 Command 函数,因为我需要访问执行该命令的通道。
commands.CreateCommand("attack").Do(async (e) =>
{
await e.Channel.SendMessage("You have attacked");
showHP(e);
}
一切似乎都很好......直到它被执行。整个机器人卡住并且无休止地等待,所以我认为我错误地使用了异步和等待命令。如果我根本不使用它们,消息就会超时。