aboutsummaryrefslogtreecommitdiffstats
path: root/bot
diff options
context:
space:
mode:
authorGravatar Chris Gallardo <[email protected]>2020-10-01 10:42:56 -0700
committerGravatar Chris Gallardo <[email protected]>2020-10-01 10:42:56 -0700
commitf6af25bc92eb6106797db7a5a2fd11f98bd08075 (patch)
treebe4baa545a03991318b003004aae8089b8f54699 /bot
parentMerge pull request #468 from python-discord/Den4200/hackstats-fix (diff)
Add Cog and add a couple responses
Diffstat (limited to 'bot')
-rw-r--r--bot/exts/easter/save_the_planet.py51
-rw-r--r--bot/resources/easter/save_the_planet.json17
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