Discord bot发送DM用户失败的原因

时间:2018-03-27 11:28:28

标签: php discord

所以我写了一个机器人。那很有效。我没有使用现有的库,我使用API​​文档组装了自己的库。

我自己设法让DM:

// representative code - real thing uses higher-level functions like Discord::createDM()
// but for "MCVE" reasons this is just to show the API calls being made.
$dm = Discord::api("POST", "/users/@me/channels",
    ["recipient_id"=>Discord::KNOWN_USERS['Niet']]
);
Discord::api("POST", "/channels/".$dm->id."/messages",
    ["content"=>"Hello World!"]
);

工作得很好。但是,我试图让它成为别人的DM,并收到403 Forbidden错误消息“50007无法向此用户发送消息”

我希望机器人能够成为DM公会成员,以响应命令(而不是单独的#bot-commands频道)或响应自动审核(而不是公开呼叫它们,哪种方式违背了删除违规信息的目的)

但是,如果机器人无法发送这些消息,那那就有点问题了。

无法向特定用户发送消息的可能原因是什么?我如何解决这些问题?

或者我应该放弃并只使用#bot-messages频道?

1 个答案:

答案 0 :(得分:0)

这些用户很可能选择不接收DM。您可以选择只允许朋友将它们发送给您,然后选择加入/退出特定服务器上的用户能够DM您(点击我认为的服务器名称,然后隐私)

除了要求他们允许来自您服务器的DM之外,您无能为力。