我正在尝试制作一个简单的Discord机器人,该机器人将接收用户的输入并将其输出为另一个用户的新昵称。可以,但是新的昵称需要3个单词。有没有办法让它与任意数量的输入变量一起使用?
它首先只能使用1个单词,但是现在我试图添加几个单词,并在它们之间留有空格。除非新的昵称由少于或少于3个单词组成,否则这现在也适用。我真的不知道我在做什么,我很惊讶我什至走了这么远
server {
listen 8001 ssl;
server_name localhost;
ssl_protocols TLSv1.1 TLSv1.2;
# Certificates
ssl_certificate ...;
ssl_certificate_key ...;
ssl_client_certificate ...;
ssl_verify_client on;
ssl_verify_depth 2;
ssl_session_cache off;
location / {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
proxy_set_header X-SSL-Escaped-Cert $ssl_client_raw_cert;
proxy_set_header X-SSL-User-DN $ssl_client_s_dn;
proxy_set_header X-SSL-Authenticated $ssl_client_verify;
include proxy_params;
proxy_pass http://unix:/home/.../.sock;
}
}
如果昵称缺少变量,我会在新昵称中得到一个“ undefined”,然后不包括3个以上的数字。
答案 0 :(得分:0)
请检查您的论点,而不是共鸣。结果
if (args.length < 3){
message.channel.send("Ey, bruk .navn @person nyttnavn din jævel")
} else {
let userID = userMention.id
message.guild.members.get(userID).setNickname(userNick);
}
答案 1 :(得分:0)
您可以为此使用数组函数slice
和join
。
function navnCommand(arguments, message) {
let args = message.content.split(" ");
let words = args.slice(2, 5); // remove the second argument to allow any number of words
if (!words.length) {
// Handle no words found!
}
let userNick = words.join(" ");
return userNick;
}
console.log(navnCommand(null, { content: ".navn UNKNOWN Adam" }));
console.log(navnCommand(null, { content: ".navn UNKNOWN Adam Bob" }));
console.log(navnCommand(null, { content: ".navn UNKNOWN Adam Bob Charly" }));
console.log(navnCommand(null, { content: ".navn UNKNOWN Adam Bob Charly Donald" }));