首页 > 解决方案 > Praw 阻止 subreddits

问题描述

嗨,我正在尝试阻止像 FiftyFifty 这样的 praw 中的一些 subreddits,但我找不到类似的命令,这也适用于不和谐的机器人,我的代码在这里

@client.command()
async def r(ctx,subred = ""):
    subreddit = reddit.subreddit(subred)
    all_subs = []
    top = subreddit.top(limit = 50)
    for submission in top:
        all_subs.append(submission)
    random_sub = random.choice(all_subs)
    name = random_sub.title
    url = random_sub.url
    if not submission.over_18:
        em = discord.Embed(title = name)
        em.set_image(url = url)
        await ctx.send(embed = em)
    else:
        await ctx.send("NO")

标签: pythondiscorddiscord.pypraw

解决方案


这可能是一个可能的解决方案

bannedSubreddits = ["FiftyFifty", "various", "other", "subreddits"] #Add as many subreddits as you'd like here or just add one
@client.command()
async def r(ctx,subred = ""):
    subreddit = reddit.subreddit(subred)
    for bannedSub in bannedSubreddits:
        if subreddit == reddit.subreddit(bannedSub): #If a banned subreddit is detected, it sends what you wanted to send when you find an over 18 post
            await ctx.send("NO")
            return
    all_subs = []
    top = subreddit.top(limit = 50)
    for submission in top:
        all_subs.append(submission)
    random_sub = random.choice(all_subs)
    name = random_sub.title
    url = random_sub.url
    if not submission.over_18:
        em = discord.Embed(title = name)
        em.set_image(url = url)
        await ctx.send(embed = em)
    else:
        await ctx.send("NO")

推荐阅读