在过去的3-4天里,我一直在为一些我一直在做的项目出了问题。当然,这与机器人有关,我选择的语言是javascript (discord.js)。
所以,事情看起来很简单,但我真的被困在了这个问题上,因为我对javascript只有一点经验。
机器人应该读取消息上的两个值,这些值是一个字符串和一个数字。机器人将简单地给您取字符串和那个数字的昵称。
例如:用户说: john123 40 bot:将用户重命名为“John123回40”
昵称命令等是简单的部分,对我来说,最难的部分是我应该如何告诉机器人“接受字符串,把它放在左”的“\”,取数字,把它放在右边的“x”。我是说机器人甚至都看不懂。以下是我的尝试:
var name = message.content.includes(String)
var number = message.content.includes("1"|| "2"|| "3"|| "4"|| "5"|| "6"|| "7"|| "8"|| "9"|| "10"|| "11"|| "12"|| "13"|| "14"|| "15"|| "16"|| "17"|| "18"|| "19"|| "20"|| "21"|| "22"|| "23"|| "24"|| "25"|| "26"|| "27"|| "28"|| "29"|| "30"|| "31"|| "32"|| "33"|| "34"|| "35"|| "36"|| "37"|| "38"|| "39"|| "40")
function theNaming (name, number){
message.member.setNickname('name'|' number')
.then(console.log)
.catch(console.error);
}(这个水平不应该超过40,所以,我认为它可能在包含的范围内起作用)
发布于 2019-09-22 01:51:47
我该如何告诉机器人“取下字符串,把它放在”x“的左边,取数字,把它放右。”我是说机器人甚至都看不懂。
如果您以适当的格式传递消息,机器人可以读取它们。您的问题应该提到,name和number将被空间分隔。这就是机器人如何从输入的消息中识别name和number。
String.split()可用于将消息字符串拆分为name和number。
var message = "john123 40";
var words = message.split(' '); // Using space as the separator.
console.log(words);
现在,words数组包含消息中的字符串,这些字符串由空格分隔。你可以用他们的索引来访问他们。
var name = words[0];
var number = words[1];然后将它们作为参数传递给命名函数,如theNaming(name, number);
https://stackoverflow.com/questions/58045379
复制相似问题