diff options
-rw-r--r-- | bot/exts/easter/save_the_planet.py | 51 | ||||
-rw-r--r-- | bot/resources/easter/save_the_planet.json | 17 |
2 files changed, 68 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 diff --git a/bot/resources/easter/save_the_planet.json b/bot/resources/easter/save_the_planet.json new file mode 100644 index 00000000..83c4a966 --- /dev/null +++ b/bot/resources/easter/save_the_planet.json @@ -0,0 +1,17 @@ +{ + "embeds": [ + { + "topic": "Choose Reneweable Energy", + "image_url": "https://cdn.dnaindia.com/sites/default/files/styles/full/public/2019/07/23/851602-renewable-energy-istock-072419.jpg", + "problem": "Getting energy from oil or fossil fuels isn't a good idea, because there is only so much of it.", + "solution": "Use renewable energy, such as wind, solar, and hydro, because it is healthier and is not a finite resource!" + }, + + { + "topic": "Save the Trees!", + "image_url": "https://www.thecollegesolution.com/wp-content/uploads/2014/07/crumpled-paper-1.jpg", + "problem": "We often waste trees on making paper, and just getting rid of them for no good reason.", + "solution": "Make sure you only use paper when absolutely neccesary. Find ways to plant trees (participate in Hacktober!) to combat losing them." + } + ] +}
\ No newline at end of file |