我的 discord.py 机器人中有 2 个 meme 命令。我正在使用 redditeasy api,因为有人告诉我它更快 asyncpraw 和 praw(这是真的)。
我的问题:有没有办法随机化 subreddit?我的意思是,该 api 应该从给定的 subreddit 列表中随机选取一个 subreddit,然后从该随机选择的 subreddit 中随机选择一个帖子。
我尝试过:
random_sub_list = random.choice['Subreddits here']
然后在 subreddit 中传递该变量但不起作用。
这是我的代码:
#memes
@bot.command(aliases = ['m'])
async def meme(ctx):
post = redditeasy.AsyncSubreddit(subreddit = 'dankmemes', client_id='id here',
client_secret = 'secret',
user_agent = 'memes')
postoutput = await post.get_post()
em2 = discord.Embed(title = f'{postoutput.title}')
url = postoutput.content
em2.set_image(url = url)
await ctx.send(embed = em2)
#narutomemes
@bot.command(aliases = ['Nmeme', 'NMEME', 'nm', 'NM', 'Nm'])
async def nmeme(ctx):
post = redditeasy.AsyncSubreddit(subreddit = 'narutomemes', client_id='id here',
client_secret = 'secret',
user_agent = 'memes')
postoutput = await post.get_post()
em3 = discord.Embed(title = f'{postoutput.title}')
url = postoutput.content
em3.set_image(url = url)
await ctx.send(embed = em3)
答案 0 :(得分:0)
我尝试过这样的事情。
def get_post_from_random_subreddit():
subreddit_name = random.choice(["dankmemes", "narutomemes"])
subreddit = redditeasy.AsyncSubreddit(
subreddit=subreddit_name,
client_secret="secret",
user_agent="memes"
)
post = asyncio.run(subreddit.get_post())
return f"{post.title} from {post.subreddit_name}"
但是没有 Discord 机器人,它工作得很好。这些帖子随机来自 2 个 subreddit。我还使用了您的客户端机密。
分享这个秘密时要小心。有些人可能会滥用它!