我刚刚进入Discord.JS并且无法找到有关如何服务器静音特定用户的任何线索。我正在查看一些文档,但仍然没有找到合适的答案。我知道你可以通过设置角色来做到这一点,但是由于我将使用机器人静音的用户角色将设置@everyone角色,因此他们可以说话,但它会覆盖我添加的角色。
如果用户说话超过30秒并且将进一步静音1分钟,我的程序将会进行更详细的测试。这样做是因为机器人不需要在频道中记录谁在说什么时间,但如果服务器静音需要机器人在同一频道,我可以改变它。
Bot拥有完整的服务器权限。
答案 0 :(得分:1)
我想你错过了一步。
我刚刚制作了一个Discord服务器,用2个帐户对此进行测试,以检查这是否正常。
您需要比普通用户规则(如果有的话)更高的角色,然后在您需要覆盖默认权限的每个频道上,说该角色不能在该频道中发送消息。 (是的,你需要在每个频道都这样做)
角色菜单上的权限只有2个设置。是的,或者从用户可能拥有的其他角色中获取
另一方面,频道权限有3:是,否,从角色获取权限
如果用户具有更高的任何角色,并且它具有发送消息的权限,则会覆盖该角色。
另外请不要忘记,bot角色需要高于静音角色,否则机器人无法将角色分配给其他用户。
答案 1 :(得分:0)
对@André的答案进行一点扩展,您可以改为对每个类别进行操作,从而节省更多时间。 另外,如果一个人的角色具有“管理员”特权,那么它将绕过静音角色限制。