【问题标题】:discord.js node get user by usernamediscord.js 节点通过用户名获取用户
【发布时间】:2021-12-08 10:02:44
【问题描述】:

已经有类似的帖子 (How to find a user by username in the client.users collection) 但它没有回答我的问题。

我可以使用它通过用户名查找用户:

client.users.find("username", "TESTname");

问题是两个用户可以有相同的用户名但不同的鉴别器。我可以用它来通过鉴别器找到用户:

client.users.find(user => user.discriminator == '3173')

这种方法的问题是两个用户可以有相同的鉴别器。有没有办法同时通过用户名和鉴别器来查找用户?

编辑:

@Elitezen 建议我可以使用 user.tag。这有效,但前提是消息来自该用户。我想从我的不和谐中获取用户,但不是写消息的用户。

仅当用户与消息用户相同时才有效。如果不一样,即使此用户在我的不和谐中,它也会返回 null。即使用户不同,有什么方法可以获取用户的数据?

client.on('message', async msg => {
    client.users.find(user => user.tag == '<name>#<discriminator>');
})

【问题讨论】:

    标签: discord discord.js


    【解决方案1】:

    使用&lt;User&gt;.tag 属性将返回一个包含usernamediscriminator 的字符串

    client.users.find(user => user.tag == '<name>#<discriminator>');
    

    【讨论】:

    • 谢谢。这部分解决了问题,但现在另一个问题是如果用户与消息用户不同,它将返回 null(请参阅我的编辑)。
    • 在调用.find()之前您是否尝试过获取所有用户
    猜你喜欢
    • 1970-01-01
    • 2021-05-01
    • 2021-06-03
    • 2022-01-11
    • 2021-07-30
    • 2022-06-14
    • 2021-12-03
    • 2018-02-21
    • 2020-07-05
    相关资源
    最近更新 更多