基本上,我正在尝试从特定的子reddit中获取随机图片的URL。我尝试过在这里使用原始JSON,但我不能完全弄清楚。我一直在使用snekfetch来获取JSON,因为它以前在不太复杂的网站上工作过,但是我已经看到了其他方法,如超级代理和snoowrap,我不知道如何正确使用。以下是我尝试使用snekfetch的方法(我正在尝试将其合并到不和谐的机器人中):
case "pic":
if (!args[1]) return message.channel.send("Enter a title (Be VERY specific");
// pics was set equal to "https://www.reddit.com/r/pics.json" earlier
snekfetch.get(pics).then(r => {
let postTitle = args[1];
let img = r.preview.images[0].source.url;
let entry = r.find(post => post.title == postTitle);
let picture = new Discord.RichEmbed()
.setAuthor(entry.title)
.addField(entry)
.setImage(img);
message.channel.send(picture);
//message.channel.send(entry.preview.images[0].source.url);
});
break;
我是JSON的新手,所以如果这段代码充满了可怕的错误,我也不会感到惊讶。
通过一些谷歌搜索,我设法发现显然每个reddit帖子在36基数中都有一个ID。但是这些ID实际上并不符合顺序,所以我需要将它们全部存储在html" target="_blank">数组中,并从中随机选择。
简而言之,我如何从reddit中检索一个图像作为URL,我如何将一定数量的这些图像放入一个数组中?
使用提供的JSON数据,您可以获得所有图像,如下所示:
async function getImages(url) {
const images = [];
const response = await snekfetch.get(url);
response.body.data.children.forEach((child) => {
child.data.preview.images.forEach((image) => {
images.push(image.source.url);
});
});
return images;
}
如果您只需要收集< code>N个图像,那么您可能希望使用一个标准for循环,该循环在< code>N === images.length时中断。
如何从MongoDB中的集合中随机获取单个文档。 我如何修复代码。 我收到错误:未定义不是函数 --------------------------------------好的。我修复了----------------------------
要获取节点版本-我希望运行以下内容: 我正在和docker一起运行以下程序: 我明白了: 我的问题是:如何从docker容器中获取节点的版本?
问题内容: var items = Array(523,3452,334,31,…5346); 如何获得随机物品? 问题答案:
问题内容: 可以说我有一个单词列表,我想创建一个将新列表的大小作为参数并返回新列表的方法。我如何从原始sourceList中获得随机单词? 那么,如何以及在哪里可以使用我的随机数? 问题答案: 我找到了适当的解决方案。Random提供了一些返回流的方法。例如ints(size)会创建一个随机整数流。
问题内容: 我有一个数组叫做 我需要从该数组中获取一个随机值并将其存储在变量中,我该怎么做? 问题答案: 您还可以执行以下操作: 当您有关联数组时,这就是这样做的方法。