所以,我正在尝试为discord上的机器人编写代码,以便在google上搜索所需的图像。我能够让机器人用一个版本的代码(A1)响应简单的命令,只是有更多的选项,但是我无法让图像搜索代码(A2)工作,也无法将这两个代码组合在一起。如果能给我一些建议,告诉我哪里出了问题,我将不胜感激。:-)非常感谢。
(A1):
const Discord=require('Discord.js');const 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请求=要求("请求"); var请求=要求("请求");
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] );
});
}
我已更正错误:
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('');
}
});
}
问题内容: 我试图使用executemany将值插入数据库中,但对我来说不起作用。这是一个示例: 这给了我以下错误: 但是,当我更改列表时,它可以正常工作: 它按预期工作!我可以在数据库中看到数据。为什么第一个列表不起作用而第二个列表却不起作用? (PS:这只是一个示例,而不是实际的代码。为简单起见,我制作了一个小测试用例)。 问题答案: 根据我对执行力的了解,您的意思是, 或类似的东西。不要在s
我再次下载了java sdk(如这里所示:http://www.oracle.com/technetwork/java/JavaFX/downloads/index.html),但是当我右键单击一个项目时,JavaFX并没有显示出来。(如果有关系的话,我使用的是eclipse上的scala插件) 我去了这里:http://www.eclipse.org/efxclipse/install.html
我试图在一个新的monodroid项目中引用servicestack DLL,但我遇到了构建错误。 我从这里抓取了DLL: https://github.com/ServiceStack/ServiceStack/tree/master/release/latest/MonoDroid 我得到了错误 /Library/Frameworks/Mono.framework/Versions/2.10.
未解决原始关闭原因 以下问题:我正在为考试而学习,我想让这个程序正常工作。Spring Boot(用Spring Initializr得到了模板)使用REST web服务。程序正在启动和“工作”,只是不完全是我想要的方式。我想用Postman请求我的GetMapping和PostMapping(还没有在那里),但是我得到的是: 我尝试了所有在我脑海中闪过的东西,但我无法弄清楚。“相关帖子”也不适合
问题内容: 我是eclipse的新手,我在eclipse中的计时器无法正常工作,这是我的java。计时器中的代码: 基本上一切都按我的意愿运行,但是,我发现如果在计数时单击触发按钮,它将触发另一个计数而不会停止先前的计数。这非常令人尴尬,如果按钮再次触发,我的朋友建议我执行“切换”操作,并且我正在考虑向同一按钮添加其他操作,以停止重新启动计数。哪一个更可取? 问题答案: 计时器运行时禁用触发按钮。
我正在一个使用谷歌地图apiv3的网站上工作。我在更新面板中有一个按钮,通过该按钮,我可以使用按钮点击背后的代码和javascript函数执行一些逻辑。 由于按钮在更新面板中,我在firebug的监视窗口中看不到任何东西,javascript函数中的断点也不起作用。在没有更新面板的情况下,我可以在watch中看到执行流程,一切正常,但我在map上得到了重新加载。 aspx中的代码: 单击按钮1: