当我尝试在不和谐的服务器中发布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)
还附有一张图片,用于进一步详细说明我的问题。 任何形式的帮助表示赞赏。 谢谢!
答案 0 :(得分:0)
我建议使用imgur api,您需要从here获取客户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)