通过命令参数传递提及时,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
目前正在研究各种赌博机器人,我对 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