Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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.js中发出静音命令_Javascript_Node.js_Discord_Discord.js - Fatal编程技术网

Javascript 如何在Discord.js中发出静音命令

Javascript 如何在Discord.js中发出静音命令,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我正在用Discord.js制作一个机器人,想知道如何添加静音功能。我希望bot在一定时间内为您提供一个预定义的静音角色,然后将其删除。制作一个好的静音命令需要做几件事: 功能 功能 功能 在执行命令时,您还应该考虑许多其他功能,例如权限限制、确认消息等。但是,这些是最基本的功能 首先,您需要使角色静音 //按id获取角色: const mutedRole=message.guild.roles.cache.get(“”); //或者,如果您无法获取id: const mutedRole=

我正在用
Discord.js
制作一个机器人,想知道如何添加静音功能。我希望bot在一定时间内为您提供一个预定义的静音角色,然后将其删除。

制作一个好的
静音
命令需要做几件事:

  • 功能
  • 功能
  • 功能
在执行命令时,您还应该考虑许多其他功能,例如权限限制、确认消息等。但是,这些是最基本的功能


首先,您需要使
角色静音

//按id获取角色:
const mutedRole=message.guild.roles.cache.get(“”);
//或者,如果您无法获取id:
const mutedRole=message.guild.roles.cache.find(
(角色)=>role.name===“静音”
);
//如果没有“静音”角色,请发送错误
if(!mutedRole)
返回message.channel.send('此服务器上没有静音角色');
然后,必须获取要禁用的用户的对象

//假设您希望命令提及目标,例如:`!静音@用户`
const target=message.indications.members.first();
现在,您可以为该用户提供
Muted
角色

target.roles.add(互斥对象);

要在一段时间后取消角色,需要一个延迟函数。最好的功能是。在
target.roles.add()行之后:

setTimeout(()=>{
target.roles.remove(mutedRole);//删除角色
}, ) 
获得指定的时间将是一件棘手的事情<代码>设置超时()
仅接受毫秒作为延迟值。你可以:

  • 只要始终使用
    ms
    time参数触发命令即可
  • 始终使用非
    ms
    的时间值(如秒、小时等)触发命令。然后,在脚本中将给定的时间解析为
    ms
  • 使用一个名为。您将能够使用诸如
    10s
    12h
    2d
    等值
如果您选择第一个选项,那么您就基本上完成了命令!只需将上述代码段中的
替换为
args[1]
,一切都应该正常

如果您选择了第二个选项,那么您需要做更多的工作。如果选择在几秒钟内静音,请将
替换为
args[1]*1000
。如果选择小时,请将其替换为
args[1]*60000
,以此类推


如果您选择了第三个选项,您可以使用
ms
包解析时间,只需将
替换为
ms(args[1])

要发出静音命令,您必须给播放器一个“静音”角色,然后使用
.setTimeout()
将其删除。在没有权限的情况下创建角色,因此他们不能在任何频道中写入。如何向提到的玩家添加角色?你能给出代码或者教程吗?很抱歉我是discord机器人开发的新手。args[1]来自哪里?如何构造命令?