我正在尝试使机器人从imgur发送嵌入链接,特别是https://imgur.com/t/dank_memes
我已经发送了random.choice链接,但是很快用完了,太麻烦了
我了解到了:
@commands.command()
async def meme(self, ctx):
images=["links go here"]
embed=discord.Embed(colour=discord.Colour.orange())
embed.set_image(url=random.choice(images))
await ctx.send(embed=embed)
我不确定该怎么做,因为我什么也没找到,如果我必须使用API,也可以不和谐地添加我,并说明如何: Jakaboii博士#2019
答案 0 :(得分:0)
如果您要从imgur中提取随机图像,则可以使用网址https://imgur.com/random生成一个随机图像,然后可以对其进行检索。
如果您要专门从dank_memes
网址中检索随机图像,则可以使用BeautifulSoup和请求进行网络抓取,并特别从带有源代码的<img>
标签的HTML页面中检索元素以https://i.imgur.com
开头的网址,然后将其随机化。
一个basic guide,用于使用BS4抓取imgur图像
单击here获取BS4文档
编码愉快!
答案 1 :(得分:0)
您可以将其设置为random.randint,并为每个可能的数字使用不同的链接运行此代码。长而容易。
答案 2 :(得分:0)
这是我在自己的漫游器中(在cog中使用的命令,但是可以将@commands.command
更改为@client.command
(如果使用普通文件)。您将从here获取api密钥,并且可以找到有关api here的更多信息,从而可以了解更多信息。
希望这对您有所帮助!
@commands.command(name='imgur', pass_context=True)
async def imgur(self, ctx, *text: str):
"""Allows the user to search for an image from imgur"""
rand = r.randint(0, 29)
if text == ():
await ctx.send('**Please enter a search term**')
elif text[0] != ():
items = imgur.gallery_search(" ".join(text[0:len(text)]), advanced=None, sort='viral', window='all',page=0)
await ctx.send(items[rand].link)
记住放在顶部:
import discord
from discord.ext import commands
import random as r
from imgurpython import ImgurClient
imgur = ImgurClient("Client ID","Client Secret")