javascript - 在使用带有 discord.js 的谷歌自定义搜索时,我收到了 400 个错误请求!我在这里做错了什么?
问题描述
我正在构建一个不和谐的机器人,它使用自定义搜索 api 在谷歌上搜索查询,但我收到了这个错误!这是我的代码,我做错了什么?
const Discord = require("discord.js");
const request = require("node-superfetch");
var fs = require('fs');
module.exports = {
name: 'google',
description: "searches google ",
cooldown: 10,
permissions: [],
async execute(message, args, cmd, client, Discord) {
let googleKey = "XXXX";
let csx = "be4b47b9b3b849a71";
let query = args.join(" ");
let result;
if(!query) return message.reply("Please enter a Valid Query");
result = await search(query);
if (!result) return message.reply("Invalid Search");
const embed = new Discord.MessageEmbed()
.setTite(result.title)
.setDescription(result.snippet)
.setImage(result.pagemap ? result.pagemap.cse_thumbnail[0].src : null)
.setURL(result.link)
.setColor(0x7289DA)
.setFooter("Powered by Google")
return message.channel.send(embed);
async function search(query) {
const { body } = await request.get("https://customsearch.googleapis.com/customsearch/v1").query({
key: googleKey, cs: csx, safe: "off", q: query
});
if(!body.items) return null;
return body.items[0];
}
}
}
错误消息:(节点:10944)UnhandledPromiseRejectionWarning:错误:400 错误请求在 Request._request(D:\Coding\FLASH\node_modules\node-superfetch\index.js:58:16)在 processTicksAndRejections(内部/进程/task_queues。 js:93:5) 在异步搜索 (D:\Coding\FLASH\commands\google.js:31:26) 在异步 Object.execute (D:\Coding\FLASH\commands\google.js:17:14) (node --trace-warnings ...
用于显示警告的创建位置)(节点:10944) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志--unhandled-rejections=strict
(请参阅https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。(拒绝 id:1)(节点:10944)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。
解决方案
推荐阅读
- inheritance - 对继承和 EF Core 感到困惑
- pandas - vectorise pandas:提取多个数据帧并连接在一起
- angular - 使用角度控制台工具时如何在终端上运行 ng serve?
- javascript - 为什么代码给我错误“SyntaxError: Unexpected token {”?
- linux - BASH_REMATCH 不输出匹配
- javascript - 如何在 HTML-Canvas 上渲染光线投射的墙壁纹理
- office-store - 当我编辑 Office 加载项的列表描述时,它会从商店中消失吗?
- c# - 从 HttpClient 响应中删除标头
- javascript - 将文本放置在具有背景图像的响应式 div 内的特定位置
- javascript - 如何解决“then”函数反应中的范围问题?