@client.command(aliases=['memes'])
async def meme(ctx):
embed = discord.Embed(title="Meme", description=None)
async with aiohttp.ClientSession() as cs:
async with cs.get('https://www.reddit.com/r/wholesomememes/new.json?sort=hot') as r:
res = await r.json()
embed.set_image(url=res['data']['children'] [random.randint(0, 25)]['data']['url'])
await ctx.send(embed=embed, content=None)我在一个堆栈溢出问题上发现了这段代码,我真的很想知道它是如何工作的。我觉得它可以提高我对discord.py :>的理解,所以如果你不介意,有时间和知识,请回答!:D
发布于 2020-08-04 20:46:20
所有这些操作都是向给定的url发送一个GET请求,该url本身返回JSON数据。如果通过任何浏览器发送请求,您将看到收到的数据是JSON格式的。例如,如果您使用Firefox,它将自动为您提供将其作为JSON对象进行检查的选项。为了更好地理解,您可以单击以下键
['data']['children'] [random.randint(0, 25)]['data']['url']所以你去data ->子目录下,选择一个随机数,->,data,->,url,你会看到,最终的结果是一个url字符串,它会把你引向一个迷因图片。
代码片段中的最后一步是将您刚得到的url发送到某个地方(我猜这是一次不和谐的聊天)。
https://stackoverflow.com/questions/63246785
复制相似问题