我正在制作一个不和谐的机器人,我想执行一个发送3个随机字符的命令,然后将这些字符放在url的末尾以检查它是否存在(在这种情况下,我使用Steam帐户来检查id ),但我需要这样做,以便当响应状态为404时,它将发送一条消息,说明未使用ID。
var urlExists = require('url-exists');
//3CHAR
else if (message.content == "+3char") {
message.channel.send(getRandomString(3));
var theURL = "https://steamcommunity.com/id/" + message.channel.lastmessage;
urlExists("theURL");
if (response.status != 404) {
return;
}
else {message.channel.send("`URL is not taken`");}
}
这是我现在拥有的,但是出现错误“响应未定义”。任何建议将不胜感激!
您遇到async
问题。您需要将回调函数传递给urlExists
。 urlExists
对象完成执行后,将执行回调函数。
https://www.npmjs.com/package/url-exists
var urlExists = require('url-exists');
urlExists('https://www.google.com', function(err, exists) {
console.log(exists); // true
});
urlExists('https://www.fakeurl.notreal', function(err, exists) {
console.log(exists); // false
});
在您的情况下,您想采取以下行动:
var urlExists = require('url-exists');
var theURL = "https://steamcommunity.com/id/" + message.channel.lastmessage;
urlExists("theURL", (err, exists) => {
if (err) {
// handle error
}
if (exists) {
message.channel.send("`URL is not taken`");
} else {
// do something when the URL does not exist
}
});