通过命令参数传递提及时,Discord bot SOMETIMES 找不到用户

Discord bot SOMETIMES doesn't find a user when passing a mention through the parameters for commands

目前正在研究各种赌博机器人,我对 discord 还是比较陌生 API,这个问题快把我逼疯了。

[Command("ping")]
public async Task PingUser(IUser user)
{
    Console.WriteLine(user.Username + " " + user.Id);
}

出于某种原因使用此命令有时找不到用户,其他时候它工作正常,但是如果在聊天中输入内容之前未找到的用户,则相同的命令将按预期工作.

类似地,运行下面的代码会抛出一个错误:

Object reference not set to an instance of an object.

用户列表取自我存储用户 ID、余额等的 sqlite 文件。我认为这是同样的问题,因为 GetUser 方法出于某种原因找不到用户。

for (int i = 0; i < Users.Count; i++)
{
    var user = Context.Guild.GetUser(Users[i].Id);
    print += $"{i + 1}. {user.Username}  {Users[i].Balance} Baps\n";

    if (i == 9)
        break;
}

有什么想法吗?

在 discord 开发者门户中启用意图似乎解决了问题,感谢 Cuppyzh