当前位置: 首页 > 知识库问答 >
问题:

获取args[0]后的所有参数discord.js

孙修贤
2023-03-14

我试图发出一个静音命令,我正在添加一个系统,在这个系统中,你可以出于某种原因将它们静音。机器人将回复“(用户用户名)已禁用。原因:(原因)”。对我来说,args[0]只是提到了要禁用的用户,但我不知道如何获取args[0]之后的所有内容。我试过做类似于消息的事情。频道send('I have mute'(mutedUser)'Reason:'args[1]。但这显然不起作用-我有点猜测-我转向清单4这样的参数

message.channel.send('I have muted ' + taggedUser.user.username + ' Reason: ' + args[1] + ' ' + args[2] + ' ' + args[3] + ' ' + args[4])

但显然,这不是很有效——有人知道如何获取args[0]之后的所有参数吗?

共有3个答案

翟泰
2023-03-14

在一般情况下,可以这样使用析构赋值:

const [foo, ...bar] = args;

在这里,foo等于args[0],其余的args作为数组包含在bar中。

具体到您的情况,您可能可以在命令中执行此操作:

const [mutedUser, reason] = args;

然后,正如Elitezen所建议的,使用模板文本来发送消息。

message.channel.send(`I have muted ${mutedUser}, Reason: ${reason}`);
太叔昆
2023-03-14

您可以使用数组。原型join()数组。原型slice()

const str = 'first second third fourth fifth sixth seventh...';
const args = str.split(' ');

console.log(args[0]); // first
console.log(args.slice(1).join(' ')); // everything after first

console.log(args[3]); // fourth
console.log(args.slice(4).join(' ')); // everything after fourth

// basically, `Array.prototype.join()` can join every element of an array (with an optional separator- in this case a space)
console.log(args.join(' ')); // join all elements with a space in between

// and `Array.prototype.slice()` can slice off elements of an array
console.log(args.slice(5)); // slice off 5 elements

// now you can combine these two :)
史意致
2023-03-14

argsslice()数组中要删除的参数数,然后join()将其余数组元素合并为一个字符串

快速提示使用模板文字更容易使用字符串和变量格式化

const reason = args.slice(1).join(' ');

message.channel.send(`I have muted ${mutedUser}, Reason: ${reason}`);
 类似资料:
  • 嘿!如何从发件人处获取所有arg?我想从一个播放器插件中编写一些代码来执行一个命令。以下是代码: 在p.performCommand(args[1]allother);它应该在第一个参数之后完成所有参数。有人能帮我吗?

  • 问题内容: 我正在构建一个通用的Web服务,需要将所有查询参数都转换为一个字符串以供以后解析。我怎样才能做到这一点? 问题答案: 您可以通过上下文访问单个参数,也可以通过上下文访问所有参数: 关键是 jax-rs批注,可用于访问: UriInfo,请求,HttpHeaders,SecurityContext,提供程序

  • 本文向大家介绍tensorflow 获取模型所有参数总和数量的方法,包括了tensorflow 获取模型所有参数总和数量的方法的使用技巧和注意事项,需要的朋友参考一下 实例如下所示: 以上这篇tensorflow 获取模型所有参数总和数量的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 有人可以让我知道为什么下面的代码仅从参数存储中获取一些条目吗? 问题答案: GetParametersByPath是一个分页的操作。每次调用后,您必须从结果对象中检索,如果它不是null也不为空,则必须进行另一个调用,并将其添加到请求中。 这是一个使用的示例,它具有相同的行为:

  • 问题内容: 我试图定义一个可以容纳闭包的变量,并且使用Swift的速记参数名称遇到了一些困难。采取以下代码段: 这给了我编译错误 ‘(String,String)’无法转换为’String’ 。当我修改闭包时,返回带有第一个参数值的字符串,我将两个参数值都返回到一个元组中。 但是,如果我修改闭包以打印第二个参数,则会按预期打印正确的参数。 我感觉自己在这里做些愚蠢的事情,但是我找不到任何解释为什么

  • 我想获得表中所有的所有内部文本的数组。 以下工作 只是想知道在直接jQuery中是否有更好的方法(wo必须转换为数组,然后使用JS方法)