diff --git a/src/addons.py b/src/addons.py index eaa49d2..77769aa 100644 --- a/src/addons.py +++ b/src/addons.py @@ -45,4 +45,26 @@ class XKCD: if url != None: response = requests.api.get(url=f"{url}/{self.__api}") return Comic(json.loads(response.text)) + +class Reddit: + def __init__(self) -> None: + self.url = "https://www.reddit.com" + self.random = "random.json" + + def _getRandomPost(self, community): + response = requests.get(f"{self.url}/{community}/{self.random}") + return json.loads(response.text) + +class RedditProgrammerHumor(Reddit): + def __init__(self) -> None: + super().__init__() + self.community = "r/ProgrammerHumor" + + def getRandomPost(self): + post = self._getRandomPost(self.community) + with open(file="data/log/test.json", mode="w") as file: + file.write(json.dumps(obj=post, indent=2)) + file.close() + return post + \ No newline at end of file diff --git a/src/main.py b/src/main.py index 2b6eef5..7736b9e 100644 --- a/src/main.py +++ b/src/main.py @@ -5,6 +5,7 @@ import datetime import secretHandler from addons import ProgrammerExcuses from addons import XKCD +from addons import RedditProgrammerHumor from models.xkcdComic import Comic @@ -35,6 +36,7 @@ logger.addHandler(handler) #Init Addons programmerExcuses = ProgrammerExcuses() +redditProgrammerHumor = RedditProgrammerHumor() xkcd = XKCD() class client(discord.Client): @@ -103,6 +105,13 @@ async def slash(interaction: Interaction): embed.set_image(url=comic.img) await interaction.response.send_message(embed=embed) +@tree.command(name='programmer-humor', description='Get a random Post from r/ProgrammerHumor') +async def slash(interaction: Interaction): + post = redditProgrammerHumor.getRandomPost() + await interaction.response.send_message("hi") + + + @tree.command(name="info", description="get info about this server") async def slash(interaction: Interaction): logger.info("Command: info") diff --git a/src/models/redditPost.py b/src/models/redditPost.py new file mode 100644 index 0000000..e69de29