问题描述
我正在异步 python 中制作一个不和谐的机器人.我希望机器人在我执行命令(前缀!)示例时发布 随机 图片!meme.这会从 subreddit 中调出一张随机图片,在这种情况下是 memes subreddit.我已经开始了我想要的,但我需要随机 subreddit 位的帮助.
I am making a discord bot in async python. I want the bot to post a random picture when I do a command (prefix !) example !meme. This would bring up a random picture from a subreddit, in this case the memes subreddit. I have made the start to what I want, but I need help with the random subreddit bit.
import discord import praw from discord.ext import commands bot = commands.Bot(description="test", command_prefix="!") @bot.command() async def meme(): await bot.say(---) #--- WOULD BE THE REDDIT URL bot.run("TOKEN")
我将如何使用 discord.py 和 PRAW 来做到这一点?
推荐答案
以下代码将从 memes subreddit 中获取随机帖子.目前它会从热门版块的前 10 篇帖子中随机提交.
The below code will fetch a random post from the memes subreddit. Currently it picks a random submission from the top 10 posts from the hot section.
import praw import random from discord.ext import commands bot = commands.Bot(description="test", command_prefix="!") reddit = praw.Reddit(client_id='CLIENT_ID HERE', client_secret='CLIENT_SECRET HERE', user_agent='USER_AGENT HERE') @bot.command() 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) await bot.say(submission.url) bot.run('TOKEN')