检测用户是否存在于 Discord 客户端 (Discord.js)

我一直在尝试检测 Discord 客户端本身是否存在用户......我使用了这个:


var user_id;


//on message and after assigning user_id

if(client.users.cache.get(user_id) !== undefined) {

//checks if user does exist on the client and does action (it always thinks it's undefined for some reason)

}

你能帮助我吗?我感谢你所有的帮助...


狐的传说
浏览 49回答 1
1回答

哈士奇WWW

欢迎来到SO!我就是这样做的。UserManager#Cache是一个集合,因此您可以用来Collection#has检查您要查找的内容是否存在。演示:const userId = "000000000000000000";const exists = client.users.cache.has(userId);console.log(exists); // true or false// Advice to stop making cringe code --no worries, we've all been there before ;)if (exists) doSomething(); // And not: if (exists === true), although it still can be used in other placesif (!exists) do SomethingElse(); // And definitely not: if (exists === false)当然,这将在缓存中进行搜索,因此如果用户在您的机器人启动时从未执行过任何操作,则它将无法工作。要获取并测试用户是否存在UserManager#fetch:const exists = await client.users.fetch(userId); // Warning: await here. To be used in async functions, or to be replaced by .then()// Here, the user is cachedconsole.log(exists); // undefined or User; can be check as in the snippet above. You can still wrap 'exists' with Boolean() if you feel more comfortable having boolean values
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript