diff options
Diffstat (limited to 'cogs')
-rw-r--r-- | cogs/reddit.py | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/cogs/reddit.py b/cogs/reddit.py deleted file mode 100644 index c627534..0000000 --- a/cogs/reddit.py +++ /dev/null @@ -1,49 +0,0 @@ -import os -import random - -import asyncpraw -from dotenv import load_dotenv -from discord import ChannelType -from discord.ext import commands - -load_dotenv() -reddit = asyncpraw.Reddit( - client_id="60jDYF0yBOGlP0QCDvhFew", - client_secret=os.getenv("SECRET"), - user_agent="craftvoltage.tpbot:v1.0.0 (by u/craftvoltage)" -) - - -class Reddit(commands.Cog): - def __init__(self, bot): - self.bot = bot - - @commands.command(name="reddit", brief="Gets images from Reddit.", help=""" - Fetches a random image or link from the 100 "hot" posts of the given subreddit. If the image/sub is NSFW then an NSFW Discord channel must be used. - """, aliases=['redd', 'r']) - async def redditimg(self, ctx, sub): - sub = await reddit.subreddit(sub) - img_posts = [i async for i in sub.hot(limit=100) if not i.is_self and i.domain != "v.redd.it"] - if len(img_posts) == 0: - await ctx.reply("This subreddit has no image posts!", mention_author=False) - else: - post = random.choice(img_posts) - nsfw = post.over_18 - if nsfw and ctx.channel.type == ChannelType.text and not ctx.channel.is_nsfw(): - await ctx.reply("The selected post is NSFW, and this is not an NSFW channel.", mention_author=False) - else: - for i in get_image_embed(post): - await ctx.send(i) - - -def setup(bot): - bot.add_cog(Reddit(bot)) - - -def get_image_embed(post): - result = ["Post by " + post.author.name + ": " + post.title] - if hasattr(post, "is_gallery"): - result.append("\nhttps://i." + list(post.media_metadata.values())[0]["p"][0]["u"].split('?')[0][16:]) - else: - result.append("\n" + post.url) - return result |