如何在 discord.py 中使用 asyncpraw 制作模因命令?

How to make a meme command using asyncpraw in discord.py?

如何使用 ASYNCPRAW 制作模因命令?我在网上查了一下,但没有找到任何解决方案,因为一般情况下关于 asyncpraw 的内容不多。

下面是如何在 asyncpraw 中制作模因命令。如果你不想等 100 年,看看周围 .

    import discord
    from discord import Embed
    from discord.ext import commands
    import asyncpraw
    import random
    
    @commands.command(name="meme")
    async def meme(self, ctx, subred="memes"): # default subreddit is memes, later in the command you can select one of your choice (example: !meme python --> chooses r/python reddit post)
        msg = await ctx.send('Loading ... ')

        reddit = asyncpraw.Reddit(client_id='clientid',
                                  client_secret='clientsecret',
                                  username='username',
                                  password='password',
                                  user_agent='useragent')

        subreddit = await reddit.subreddit(subred)
        all_subs = []
        top = subreddit.top(limit=250) # bot will choose between the top 250 memes

        async for submission in top:
            all_subs.append(submission)

        random_sub = random.choice(all_subs)

        name = random_sub.title
        url = random_sub.url

        embed = Embed(title=f'__{name}__', colour=discord.Colour.random(), timestamp=ctx.message.created_at, url=url)

        embed.set_image(url=url)
        embed.set_author(name=ctx.message.author, icon_url=ctx.author.avatar_url)
        embed.set_footer(text='Here is your meme!')
        await ctx.send(embed=embed)
        await msg.edit(content=f'<https://reddit.com/r/{subreddit}/> :white_check_mark:') # < and > remove the embed link
        return