Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Discord API代表用户向消息添加反应?_Javascript_Node.js_Discord_Discord.js - Fatal编程技术网

Javascript 如何使用Discord API代表用户向消息添加反应?

Javascript 如何使用Discord API代表用户向消息添加反应?,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我正试图通过对一条特殊消息的反应来创建一个角色分配机器人。棘手的部分是保持反应的一致性。我希望在创建消息时使用已经拥有这些角色的用户预先填充这些角色。我还想防止用户在不选择另一个角色的情况下删除对一个角色的反应。我见过这样的机器人:当我试图删除我对角色的反应时,机器人为我重新添加了它。然而,我找不到任何允许代表某人添加反应的API。我也无法找到任何方法阻止用户删除他们对消息的反应。它是怎么做到的?我错过什么了吗?还是它是一个未记录的API功能?据我所知,您不能作为用户强制添加反应。如果你还知道做

我正试图通过对一条特殊消息的反应来创建一个角色分配机器人。棘手的部分是保持反应的一致性。我希望在创建消息时使用已经拥有这些角色的用户预先填充这些角色。我还想防止用户在不选择另一个角色的情况下删除对一个角色的反应。我见过这样的机器人:当我试图删除我对角色的反应时,机器人为我重新添加了它。然而,我找不到任何允许代表某人添加反应的API。我也无法找到任何方法阻止用户删除他们对消息的反应。它是怎么做到的?我错过什么了吗?还是它是一个未记录的API功能?

据我所知,您不能作为用户强制添加反应。如果你还知道做这件事的机器人叫什么名字,让我知道,我会设法弄清楚的

您唯一能做的就是删除用户的反应


您也不能阻止用户添加/删除反应。您只能阻止他们添加带有新表情的反应(具有
发送消息
权限的用户可以将新表情添加到反应中。因此,如果一条消息只有两个表情作为反应,他可以添加第三个表情,但如果他没有该权限,他只能添加带有已存在表情的反应)

似乎执行此操作的机器人是yagpdb.xyz。我还可以防止用户添加不相关的反应:我的机器人检测添加并删除列表中没有的任何反应。通过这种方式,大多数用户都可以添加反应,但不能添加此特定消息。YAGPDB.xyz可以在rolemenu上重置反应。但是Discord API似乎不支持代表user.id创建反应。