我正在尝试使我的不和谐机器人从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获得随机帖子是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