Discord.js:将用户 ID(字符串)转换为用户 ID(Snowflake)
Posted
技术标签:
【中文标题】Discord.js:将用户 ID(字符串)转换为用户 ID(Snowflake)【英文标题】:Discord.js: Converting a user id (string) to user id (Snowflake) 【发布时间】:2020-10-02 22:23:22 【问题描述】:没有找到有关如何解决此问题的任何线索。
我正在开发一个 Discord 机器人。它的部分功能是存储一些用户记录。每个用户的数据都在一个 JSON 文件中被索引,他们的用户 ID 被用作键。 When I obtain this key, it is of the Snowflake data type,但将其存储在 JSON 文件中会将其转换为字符串。
程序的一部分尝试使用我从 JSON 文件中提取的用户 ID 获取用户,因此它是一个字符串。
let clientUser = client.users.fetch(userID);
但是,我不能这样做,因为 fetch() requires the user ID to be a "Snowflake" data type.
如何将我的用户 ID 从字符串转换为它要求的 Snowflake 数据类型?
或者,有没有办法使用 fetch() 或与字符串数据类型相当的东西?
【问题讨论】:
【参考方案1】:雪花可以是一个字符串,如您所链接的链接所述,如果这是一个有效的用户 ID,那么它将起作用。问题是 fetch 是一种异步方法,因此您不能只将 clientUser 分配给它,当您这样做时,您正在为它分配一个承诺。
相反,您将不得不使用等待或.then
const clientUser = await client.users.fetch(userID);
或
client.users.fetch(userID).then(clientUser => console.log(clientUser));
【讨论】:
以上是关于Discord.js:将用户 ID(字符串)转换为用户 ID(Snowflake)的主要内容,如果未能解决你的问题,请参考以下文章
Discord.js,通过数组中的 ID 查找用户是不是具有角色