我仍然是编码新手,但我最近制作了一个 Discord 机器人,它可以通过 Tenor API 获取 gif。它实际上可以工作,直到我输入参数以使其理解搜索。这是我写的代码(显然是我在教程中看到的菜鸟代码):
else if (tokens[0] === '!gif') {
let keywords = "flower pots";
if (tokens.length > 1){
keywords = tokens.slice(1, tokens.length).join(" ")
}
let url = `https://api.tenor.com/v1/search?q=${keywords}&key=${tenorapikeyredacted}&contentfilter=low`;
let response = await fetch(url);
let json = await response.json();
const index = Math.floor(Math.random() * json.results.length);
message.channel.send(json.results[index].url);
message.channel.send('The GIFS are working.');}
}
机器人的其他功能运行良好,只是我遇到了问题。所以我运行它,输入 gif 命令,没有回答,我的终端出现了这个错误:
const index = Math.floor(Math.random() * json.results.length); ^ 类型错误:无法读取未定义的属性“长度” 在客户端。 (/用户/[用户文件夹]/[botfolder]/index.js:46:67) 在 processTicksAndRejections (node:internal/process/task_queues:96:5)