无法将来自reddit的提交随机化

问题描述 投票:1回答:1

我正在尝试使我的不和谐机器人从r / memes subreddit中抓取图像。

这是我的代码与reddit api的接口

subreddit = reddit.subreddit('memes')
hot_python = subreddit.hot(limit=100)

for submission in hot_python:
    print(submission.title)

async def meme():
    memes_submissions = reddit.subreddit('memes').hot()
    post_to_pick = random.randint(1, 10)
    for i in range(0, post_to_pick):
        submission = next(x for x in memes_submissions if not x.stickied)

这是我发送所选帖子的代码

elif message.content == "!meme":
        channel = message.channel
        await message.channel.send(submission.url)

每当我运行命令时,它都会反复发送相同的模因,而不是选择随机的模因。关于如何解决此问题的任何想法?

python-3.x discord.py-rewrite praw
1个回答
0
投票

从subreddit获得随机帖子是PRAW supports的Reddit功能。

这是从指定的subreddit获取随机帖子的函数:

def random_post(subreddit):
    return reddit.subreddit(subreddit).random()

并且如果您不希望张贴该帖子,请使用此:

def random_nonsticky_post(subreddit):
    while True:
        post = reddit.subreddit(subreddit).random()
        if not post.stickied:
            return post
© www.soinside.com 2019 - 2024. All rights reserved.