如何让机器人发送直接消息给该机器人在互服务器中没有它并且有他的 ID 的人

Posted

技术标签:

【中文标题】如何让机器人发送直接消息给该机器人在互服务器中没有它并且有他的 ID 的人【英文标题】:How to make bot send Direct Message To Someone that the bot don't have it in mutal servers and have his id 【发布时间】:2019-10-17 02:02:45 【问题描述】:

我想知道我可以让用户知道机器人不在他的共同服务器中并且我有他的 ID 我希望机器人向他发送直接消息的代码是什么?

我没有尝试任何我在学习方面的菜鸟

【问题讨论】:

这是不可能的。虽然您可以检索用户,但除非机器人与他们共享服务器,否则您将无法向他们发送消息 【参考方案1】:

使用Client.fetchUser() 方法。

示例 1:

let ID = '123456789012345678';

client.fetchUser(ID)
  .then(user => user.send('hello'))
  .catch(console.error);

示例 2 (必须在异步函数中)

let ID = '123456789012345678';

try 
  let user = await client.fetchUser(ID);
  await user.send('hello');
 catch(err) 
  console.error(err);

【讨论】:

如果一个机器人不与该用户共享一个共同的公会,它就不能 DM 用户

以上是关于如何让机器人发送直接消息给该机器人在互服务器中没有它并且有他的 ID 的人的主要内容,如果未能解决你的问题,请参考以下文章

如何让机器人在首次加入服务器时写入特定消息?

如何让我的不和谐机器人响应没有前缀的消息

如何让 Discord.py 机器人向服务器所有者发送消息?

如何让机器人将消息发送到“通用”频道或消息最多的频道?

有没有办法让我的机器人检查 DM 并将它们发布到我服务器的频道中?

我如何 DM 将直接消息放入公共频道而不发送垃圾邮件的机器人