So, I am trying to write code for a bot on discord to search google for a desired image. I was able to get the bot to respond to simple commands with a version of code (A1), only with more options, however I have been unable to get the image search code (A2) to work nor have I been able to combine the two codes together. I would greatly appreciate some advice as to where I'm going wrong. :-) thank you.
(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 = require("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);
}
});
function 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] );
});
}