Node.js 在上获取错误:client.users.cache.get

Node.js 在上获取错误:client.users.cache.get,node.js,discord.js,Node.js,Discord.js,一直都在出错 这就是我所拥有的 client.on('ready', () => { console.log('Malosa SentryBot started successfully'); client.users.cache.get('43437XXXXXX25418').send('Blabla')}); 这就是错误: Malosa SentryBot started successfully (node:8584) UnhandledPromiseRejectionWa

一直都在出错

这就是我所拥有的

client.on('ready', () => {
console.log('Malosa SentryBot started successfully');
client.users.cache.get('43437XXXXXX25418').send('Blabla')});
这就是错误:

    Malosa SentryBot started successfully
(node:8584) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 's
end' of undefined
    at Client.<anonymous> (D:\discordbot2\new\Malosa-Sentry.js:1040:46)
    at Client.emit (events.js:327:22)
Malosa SentryBot已成功启动
(节点:8584)未处理的PromisejectionWarning:TypeError:无法读取属性的
未定义的“结束”
在客户端。(D:\discordbot2\new\Malosa Sentry.js:1040:46)
在Client.emit(events.js:327:22)
我的身份证100%正确,我真的不知道出了什么问题。 它在v11上运行,现在在v12上停止运行


因此,当bot启动时,它会向我发送一个DM..

尝试获取用户。获取总是比依赖缓存更好

client.on('ready', async() => {
   console.log('Malosa SentryBot started successfully');
   const user = await client.users.fetch('43437XXXXXX25418');

   user.send('Blabla');
});

尝试先获取用户,然后发送消息

const user=client.users.cache.get(“”);
user.send(“”);

很好,谢谢。真的很奇怪Leonerr_uuu的那个没用..没那么奇怪,真的。@leonerr_uu发布的代码与您的代码相同,但有一个额外的变量。它仍然试图从缓存中获取用户。另一方面,上面的代码获取用户,因此(如果您的id正确的话)您将收到它,即使它没有被缓存。