diff options
Diffstat (limited to 'bot/exts/easter/save_the_planet.py')
| -rw-r--r-- | bot/exts/easter/save_the_planet.py | 51 |
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 |