From e0a834ccbd889cab082010bd191208fe095a32b2 Mon Sep 17 00:00:00 2001 From: Ben Date: Mon, 5 Aug 2019 19:21:26 +0100 Subject: [PATCH] Penguin add_stamp method --- houdini/penguin.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/houdini/penguin.py b/houdini/penguin.py index e77b517..532c17f 100644 --- a/houdini/penguin.py +++ b/houdini/penguin.py @@ -172,6 +172,20 @@ class Penguin(Spheniscidae): return True + async def add_stamp(self, stamp, notify=True): + if stamp.id in self.data.stamps: + return False + + await self.data.stamps.set(stamp.id) + + if notify: + await self.send_xt('aabs', stamp.id) + + self.logger.info('{} earned stamp \'{}\''.format(self.data.username, stamp.name)) + await self.server.cache.delete('stamps.{}'.format(self.data.id)) + + return True + async def add_inbox(self, postcard, sender_name="sys", sender_id=None, details=""): penguin_postcard = await self.data.postcards.set(penguin_id=self.data.id, sender_id=sender_id, postcard_id=postcard.id,