【问题标题】:Imgur links not working in embeds (Discord.py)Imgur 链接在嵌入中不起作用(Discord.py)
【发布时间】:2020-08-14 15:11:00
【问题描述】:

当我尝试在我的 discord 服务器中发布 Imgur 链接时,它不起作用。

我在这里尝试实现的主要目标是允许用户在 Imgur 的子类别中搜索随机图像,然后将该图像以嵌入的形式发布给他们。每当我发布链接时,它都不会显示。这也不适用于机器人。补充一点,当我尝试使用 embedVar.set_image 时,URL 没有发布在嵌入中,它只是显示了标题。如果有帮助,这是我的代码(没有 embedVar.set_image)

@client.command()
async def image(ctx, search):
    html_page = urlopen("https://imgur.com/r/" + search)
    soup = BeautifulSoup(html_page)
    search_images = []
    for img in soup.findAll('img'):
        search_images.append(img.get('src'))
    search_command = random.choice(search_images)
    embedVar = discord.Embed(title = search)
    search_url="https:" + search_command.translate({ord(i): None for i in "<>"})
    embedVar.add_field(name = search, value = search_url)
    await ctx.send(embed = embedVar)

还附上一张图片来更详细地解释我的问题。 任何形式的帮助表示赞赏。 谢谢!

https://i.stack.imgur.com/Fte0p.png

【问题讨论】:

    标签: python discord discord.py


    【解决方案1】:

    我建议使用imgur api,您需要从here 获取您的Client-ID。 这会像这样发送。

    import requests
    
    @bot.command()
    async def image(ctx, search):
        url = f"https://api.imgur.com/3/gallery/search/?q={search}"
    
        payload = {}
        files = {}
        headers = {
            'Authorization': 'Client-ID CLIENT_ID_HERE'
        }
    
        response = requests.request("GET", url, headers=headers, data=payload, files=files)
        res = json.loads(response.text.encode('UTF-8'))
    
        search_url = res['data'][random.randint(0, 10)]['link']
        await ctx.send(search_url)
    

    【讨论】:

    • 我已经有一个我的机器人的客户端 ID,这是我使用不和谐开发者门户找到的。我不知道我的授权回调 URL 是什么,所以我不知道该放什么。如果我只使用我的机器人客户端 ID 可以吗?
    • 好的,我在代码中使用了我的机器人客户端 ID,但遇到了错误 "Key error 4" 。这发生在这一行:“arch_url = res['data'][random.randint(0, 10)]['link']”。知道如何解决这个问题吗?
    • 我的意思是客户 ID 是从 imgur 获取的,查看此处的链接,您可以从那里获取它
    • 如何访问我的授权回调 URL?该网站要求我提供它,但我不知道它是什么。
    • 选择第二个选项,不带回调地址
    猜你喜欢
    • 2022-01-20
    • 1970-01-01
    • 2021-06-04
    • 2021-11-26
    • 2021-10-15
    • 2021-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多