有没有办法获取您使用 Pixabay 搜索并使用 discord.py 发送的图像?

Is there a way to get an image that you search using Pixabay and send it using discord.py?

我正在使用 Pixabay API 搜索图像,然后我希望我的 discord.py 机器人说出来。但是,我不知道您必须调用什么函数才能获取图像,以便 discord bot 实际上可以在嵌入中发送它。 这是我当前的代码。

@bot.command(name='otter', help='Generates a random otter!')
async def otter(ctx):
    r = requests.get('https://pixabay.com/api/?key=keyisherebutforprivacyreasonsiamremovingitlol&q=otter&image_type=photo')
    r = r.json()
    for item in r['hits']:
        print(item['type'])
        embed = discord.Embed(title='Otter test', color=discord.Color.from_rgb(226, 22, 31))
        embed.set_image(url=item[random.choice(range(0, 5))]) # The problem is here, as I took the image bit away and the embed sent fine.
        embed.set_footer(text='Powered by pixabay.')


    await ctx.send(embed=embed)

差不多,它只是打印出来: photo 一遍又一遍,这很好,因为这意味着搜索有效。作为测试,我删除了设置图像部分,嵌入发送正常,所以我知道这是 embed.set_image 的问题。如果有人知道实际获取图像并发送图像的正确方法,我将不胜感激。谢谢!我在控制台中也没有收到任何错误消息。

确保您从响应中获取正确的内容 (r)。如果您 运行 遇到任何 404 错误,您可以检查 url 是否包含图像扩展(.jpg.png 等)。

为了将来参考,为了轻松可视化 json,您可以使用 this 网站。

祝水獭好运!