来自ID的Discord.js用户DM

问题描述

我正在尝试给用户提供dm,但我只有ID。这是我使用的代码

const member = bot.users.cache.find(ID)
member.send('TEXT')

它不起作用。有人知道为什么吗?

解决方法

就像其他人所说的,用户可能没有被缓存。据我所知,您对此无能为力。

如果您想避免遇到undefined错误,并捕获发送消息时可能发生的任何错误:

const member = bot.users.cache.find(ID);

if (member) member.send('TEXT').catch(console.error);
,

如果未缓存用户,则可以执行此操作。

const member = bot.users.fetch('user-id',false,true)

这有助于直接从API提取成员数据。 here

的更多内容