From 3334f4996d480cd7da7928af2a2cf083f9e7308b Mon Sep 17 00:00:00 2001 From: Conatum Date: Sun, 15 Oct 2023 14:57:28 +0300 Subject: [PATCH] feat(shops): Implement event logging. --- src/core/lion_guild.py | 5 +++++ src/modules/shop/shops/colours.py | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/core/lion_guild.py b/src/core/lion_guild.py index 47172437..49fb98ab 100644 --- a/src/core/lion_guild.py +++ b/src/core/lion_guild.py @@ -57,6 +57,11 @@ event_fields = { "{coin} {{value}}".format(coin=conf.emojis.coin), True, ), + 'balance' : ( + _p('eventlog|field:balance|name', "Balance"), + "{coin} {{value}}".format(coin=conf.emojis.coin), + True, + ), 'refund' : ( _p('eventlog|field:refund|name', "Coins Refunded"), "{coin} {{value}}".format(coin=conf.emojis.coin), diff --git a/src/modules/shop/shops/colours.py b/src/modules/shop/shops/colours.py index d43f531d..a1e5a7fb 100644 --- a/src/modules/shop/shops/colours.py +++ b/src/modules/shop/shops/colours.py @@ -296,6 +296,23 @@ class ColourShop(Shop): # TODO: Event log pass await self.data.MemberInventory.table.delete_where(inventoryid=owned.data.inventoryid) + else: + owned_role = None + + lguild = await self.bot.core.lions.fetch_guild(guild.id) + lguild.log_event( + title=t(_p( + 'eventlog|event:purchase_colour|title', + "Member Purchased Colour Role" + )), + description=t(_p( + 'eventlog|event:purchase_colour|desc', + "{member} purchased {role} from the colour shop." + )).format(member=member.mention, role=role.mention), + price=item['price'], + roles_given=role.mention, + roles_taken=owned_role.mention if owned_role else None, + ) # Purchase complete, update the shop and customer await self.refresh()