无法随机化来自Reddit的提交



我正在尝试让我的不和谐机器人从 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)

当我运行命令时,它会一遍又一遍地发送相同的模因,而不是随机选择一个。 关于如何解决这个问题的任何想法?

从subreddit获取随机帖子是PLAW支持的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

正如您的后续问题中所讨论的,重要的是要注意一些子版块不允许随机发布帖子。

最新更新