如何为我的 discord.py 机器人获取随机 subreddit 图像?

How do I get a random subreddit image to my discord.py bot?(如何为我的 discord.py 机器人获取随机 subreddit 图像?)
本文介绍了如何为我的 discord.py 机器人获取随机 subreddit 图像?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

限时送ChatGPT账号..

我正在异步 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')

这篇关于如何为我的 discord.py 机器人获取随机 subreddit 图像?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

groupby multiple coords along a single dimension in xarray(在xarray中按单个维度的多个坐标分组)
Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)
Group by + New Column + Grab value former row based on conditionals(GROUP BY+新列+基于条件的前一行抓取值)
Groupby and interpolate in Pandas(PANDA中的Groupby算法和插值算法)
Pandas - Group Rows based on a column and replace NaN with non-null values(PANAS-基于列对行进行分组,并将NaN替换为非空值)
Grouping pandas DataFrame by 10 minute intervals(按10分钟间隔对 pandas 数据帧进行分组)