首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用cs和AIOHTTP的Discord.py Meme命令

使用cs和AIOHTTP的Discord.py Meme命令
EN

Stack Overflow用户
提问于 2020-08-04 20:21:37
回答 1查看 478关注 0票数 0
代码语言:javascript
复制
@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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-04 20:46:20

所有这些操作都是向给定的url发送一个GET请求,该url本身返回JSON数据。如果通过任何浏览器发送请求,您将看到收到的数据是JSON格式的。例如,如果您使用Firefox,它将自动为您提供将其作为JSON对象进行检查的选项。为了更好地理解,您可以单击以下键

代码语言:javascript
复制
['data']['children'] [random.randint(0, 25)]['data']['url']

所以你去data ->子目录下,选择一个随机数,->,data,->,url,你会看到,最终的结果是一个url字符串,它会把你引向一个迷因图片。

代码片段中的最后一步是将您刚得到的url发送到某个地方(我猜这是一次不和谐的聊天)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63246785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档