我正在尝试在discord.js
中编写一个生成随机图像的漫游器。到目前为止,我对被诅咒的图像进行了此操作,但是当我复制并粘贴代码并将“ mcimage”和url的大小写更改为+“ minecraft image”时,mcimage确实可以工作。但是,cursedimage也可以显示我的世界图像。我如何使cursedimage仅显示被诅咒的图像而mcimage仅显示我的世界?这是我的代码:
client.on('message', (message) => {
let args = message.content.substring(prefix.length).split(' ');
switch (args[0]) {
case 'cursedimage':
image(message);
break;
}
});
function image(message) {
var options = {
url: 'http://results.dogpile.com/serp?qc=images&q=' + 'cursed image',
method: 'GET',
headers: {
Accept: 'text/html',
'User-Agent': 'Chrome',
},
};
request(options, function(error, response, responseBody) {
if (error) {
return;
}
$ = cheerio.load(responseBody);
var links = $('.image a.link');
var urls = new Array(links.length)
.fill(0)
.map((v, i) => links.eq(i).attr('href'));
console.log(urls);
if (!urls.length) {
return;
}
message.channel.send(urls[Math.floor(Math.random() * urls.length)]);
});
}
答案 0 :(得分:0)
您只需为两个命令传递带有搜索词的变量,如下所示:
switch (args[0]) {
case "cursedimage":
image(message, "cursed image");
break;
case "mcimage":
image(message, "minecraft image");
break;
}
然后在图像功能上,您可以将搜索字词传递给选项中的网址
function image(message, searchTerm) {
var options = {
url: "http://results.dogpile.com/serp?qc=images&q=" + searchTerm,
method: "GET",
headers: {
Accept: "text/html",
"User-Agent": "Chrome",
},
};
// ...
}