我的discord.py机器人里有两个表情包命令。我正在使用redditeasy,因为有人告诉我,它比asyncpraw和praw更快(这是真的)。
我的问题是:有没有办法随机化subreddits?我的意思是,api应该从给定子subreddit列表中随机选取一个subreddit,然后从该随机选择的subreddit中随机挑选一个帖子。
我试着这样做:
random_sub_list =random.choice.‘’Subreddits‘
然后在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)发布于 2021-06-11 23:20:49
我试过这样的东西。
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}"但是没有不和谐的机器人,它工作得很完美。这些帖子是从2个子subreddits中随机抽取的。我还用了你客户的秘密。
分享这个秘密时要小心。有些人可能会滥用它!
发布于 2021-10-12 05:47:57
老实说,我更喜欢JSON subreddit)这将从您提供的subreddit中随机返回一个帖子,但subreddit必须有照片,(它将以https://meme-api.herokuapp.com/gimme/(your格式返回它)这是我当前的meme代码
@client.command(pass_context=True, description='Usage: e!meme')
async def meme(ctx):
content = get("https://meme-api.herokuapp.com/gimme/dankmemes").text
data = json.loads(content,)
meme = discord.Embed(title=data['title'], url=data['postLink'], color = colors.purple, timestamp=ctx.message.created_at)
meme.set_image(url=f"{data['url']}")
meme.set_footer(text=f'Used by {ctx.author.name}', icon_url=ctx.author.avatar_url)
await ctx.reply(embed=meme)https://stackoverflow.com/questions/67938687
复制相似问题