我无法让我的新机器人“imagesearch”工作,正在寻求帮助
Posted
技术标签:
【中文标题】我无法让我的新机器人“imagesearch”工作,正在寻求帮助【英文标题】:I cannot get my new bot "imagesearch" to work and am seeking some assistance 【发布时间】:2021-01-12 06:54:14 【问题描述】:所以,我正在尝试为 discord 上的机器人编写代码,以在 Google 上搜索所需的图像。我能够让机器人使用一个代码版本(A1)响应简单的命令,只有更多选项,但是我无法让图像搜索代码(A2)工作,也无法结合两个代码在一起。我将非常感谢一些关于我哪里出错的建议。 :-) 谢谢。
(A1): const Discord = require('discord.js'); const client = new Discord.Client();
client.on('ready', () =>
console.log(`Logged in as $client.user.tag!`);
);
client.on('message', msg =>
if (msg.content === 'ping')
msg.reply('pong');
);
client.login('insert discord code here');
(A2) var Cheerio = 要求(“cheerio”); var request = require("request");
var discord = require("discord.js");
var client = new discord.Client();
client.login("insert discord code here");
client.on("ready", function()
console.log("logged in");
);
client.on("message", function(message)
var parts = message.content.split("search.", "search query");
/* Simple command manager */
if (parts[0] === "search.") //I want to check this, but I am not sure how as I want to start the message with the command
image(message, parts);
);
功能图像(消息,部分)
var search = parts.slice(1).join(["search."]);
var options =
url: "http://results.dogpile.com/serp?qc=images&q=" + search,
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[0] );
);
【问题讨论】:
【参考方案1】:我已更正错误:
var cheerio = require("cheerio"); /* Used to extract html content, based on
jQuery || install with npm install cheerio */
var request = require("request"); /* Used to make requests to URLs and fetch
response || install with npm install request */
var discord = require("discord.js");
var client = new discord.Client();
client.on("ready", function()
console.log("logged in");
);
client.on("message", function(message)
var parts = message.content.split(" ");
/* Simple command manager */
if (parts[0] === "search.")
image(message, parts);
);
function image(message, parts)
/* extract search query from message */
var search = parts.slice(1).join(" ");
var options =
url: "http://results.dogpile.com/serp?qc=images&q=" + search,
method: "GET",
headers:
"Accept": "text/html",
"User-Agent": "Chrome"
;
request(options, function(error, response, responseBody)
if (error)
// handle error
return;
/* Extract image URLs from responseBody using cheerio */
$ = 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;
// Send result
message.channel.send( urls[0] );
);
client.on('message', msg =>
if (msg.content === 'ping')
msg.reply('pong');
else if (msg.content === '')
msg.reply('');
else if (msg.content === '')
msg.reply('');
else if (msg.content === '')
msg.reply('');
else if (msg.content === '')
msg.reply('');
);
【讨论】:
以上是关于我无法让我的新机器人“imagesearch”工作,正在寻求帮助的主要内容,如果未能解决你的问题,请参考以下文章