Browse Source

Add selfie command

Kirk Trombley 4 years ago
parent
commit
89a44a68a3
1 changed files with 14 additions and 2 deletions
  1. 14 2
      src/commands/querying.py

+ 14 - 2
src/commands/querying.py

@@ -39,8 +39,7 @@ async def shield(req: Request, blazon: Args, logger: Logger):
             },
         ) as res:
             res.raise_for_status()
-            shield = await res.read()
-            return Attachment("image", shield)
+            return Attachment("image", await res.read())
     except:
         logger.exception("Failed !shield")
         RollbotFailure.SERVICE_DOWN.raise_exc(detail="Could not reach DrawShield")
@@ -122,3 +121,16 @@ async def riddle(args: Args, req: Request, logger: Logger, sleep: Config("riddle
     await asyncio.sleep(sleep)
 
     yield "\n\n".join(("Here's the riddle answer from before!", riddle, answer))
+
+
+@as_command
+async def selfie(req: Request, logger: Logger):
+    try:
+        async with req.get(
+            "https://cdn.star.nesdis.noaa.gov/GOES16/ABI/SECTOR/ne/GEOCOLOR/latest.jpg"
+        ) as res:
+            res.raise_for_status()
+            return Attachment("image", await res.read())
+    except:
+        logger.exception("Failed to call GOES16")
+        RollbotFailure.SERVICE_DOWN.raise_exc(detail="Failed to call GOES16")