如何為我的 discord.py 機器人獲取隨機 subreddit 圖像

更新時間:2024-03-22 18:08:20

問題闡述

我正在異步 python 中制作一個不和ꦗ諧的機器人.我希望機器人在我執行命令(前綴!)示例時發布 隨機 圖片!meme.這會從 subreddit 中調出一張隨機圖片,在這種情況下是 memes subreddit.我已經開始了我想要的,但我需要隨機 subreddit 位的幫助.

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 來做到這一點?

精準答案

以下代碼將從 meme𒁃s subreddit 中獲取隨機帖子.目前它會從熱門版塊的前 10 篇帖子中隨機提交.

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')