Discord.py-获取随机imgur图像

时间:2019-07-15 16:26:09

标签: python python-3.x discord.py-rewrite

我正在尝试使机器人从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

3 个答案:

答案 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")