因此,用户在Discord中发送消息(例如)=rateM 8 | Led Zepplin | Immigrant Song以将歌曲的评分定为1-10。我想做的是使竖线字符|分隔命令的参数。

我的命令代码是if(command === "rateM") let [score, artist, song] = args };。我想做的是使它可以定义,例如,参数score是命令=rateM和第一个竖线之间的所有内容。我怎样才能做到这一点?我会以某种方式使用split();吗?

最佳答案

首先通过从用户消息中删除前5个字符来摆脱rateM

let message = "rateM 8 | Led Zepplin | Immigrant Song" // user message

let argsString = message.substring(5);


现在将字符串拆分为带有参数的数组,

lets args = argsString.split(" | ")
/*args[0] === 8
  args[1] === Led Zeppelin
  args[2] === Immigrant Song*/

关于javascript - 当用户在Discord中发送命令时,如何用字符内字符分隔参数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52787364/

10-12 12:25
查看更多