aboutsummaryrefslogtreecommitdiffstats
path: root/bot/exts/easter/save_the_planet.py
diff options
context:
space:
mode:
Diffstat (limited to 'bot/exts/easter/save_the_planet.py')
-rw-r--r--bot/exts/easter/save_the_planet.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/bot/exts/easter/save_the_planet.py b/bot/exts/easter/save_the_planet.py
new file mode 100644
index 00000000..1a20134e
--- /dev/null
+++ b/bot/exts/easter/save_the_planet.py
@@ -0,0 +1,51 @@
+from discord.ext import commands
+from pathlib import Path
+from discord import Embed
+import random
+import json
+
+embeds = []
+
+with open(Path("bot/resources/easter/save_the_planet.json"), 'r', encoding="utf8") as f:
+ responses = json.load(f)
+
+# convert what's in the json to discord embed objects https://discord.com/developers/docs/resources/channel#embed-object
+for response in responses["embeds"]:
+ response["title"] = f"Save the Planet: {response['topic']}"
+ response["footer"] = "The best thing you can do is sharing this information!"
+ response["image"] = {
+ "url": response["image_url"]
+ }
+ response["fields"] = [
+ {
+ "name": "The Problem",
+ "value": response["problem"],
+ "inline": False
+ },
+ {
+ "name": "What you can do",
+ "value": response["solution"]
+ }
+ ]
+
+ embeds.append(Embed.from_dict(response))
+
+
+# cog
+class SaveThePlanet(commands.Cog):
+ """A cog that teaches users how they can help our planet."""
+
+ def __init__(self, bot: commands.Bot) -> None:
+ self.bot = bot
+
+ def get_response(self) -> Embed:
+ return random.choice(embeds)
+
+ @commands.command(aliases=('save_the_earth',))
+ async def save_the_planet(self, ctx: commands.Context) -> None:
+ """Responds with a random tip on how to be ecofriendly and help our planet."""
+ await ctx.send(embed=self.get_response())
+
+def setup(bot: commands.Bot) -> None:
+ """save_the_planet Cog load."""
+ bot.add_cog(SaveThePlanet(bot)) \ No newline at end of file