我正在尝试从 client.users.fetch(user id) 获取值,但它不起作用

时间:2021-07-15 01:35:57

标签: discord.js

我的代码:

if(message.content == prefix + "dev"){
        const owner = client.users.fetch('462223589043863562');
        console.log(owner.user);
        console.log(owner.id);
        console.log(owner);

 message.channel.send(`eggy is the dev of this chad ass bot. Discord: ${owner}`);

日志:

undefined
undefined
Promise {
  User {
    id: '462223589043863562',
    system: false,
    locale: null,
    flags: UserFlags { bitfield: 64 },
    username: 'eggyy',
    bot: false,
    discriminator: '0001',
    avatar: 'a_de18cc5553a2fd2e5fbd3d3e3491595b',
    lastMessageID: '865041520075735040',
    lastMessageChannelID: '864827452063875125'
  }
}

此外,在执行 owner.Promise.User.user 时,它会给出错误:TypeError: Cannot read property 'User' of undefined。

1 个答案:

答案 0 :(得分:1)

<client>.users.fetch() 返回一个 promise,您只需使用 await 即可处理。因此,为了解决它,您只需将当前的 owner 定义替换为 const owner = client.users.fetch('462223589043863562');

但是,如果您要使用 await,则必须使您当前的函数为 async(例如 client.on('message', async message => {})