From a4acc5d162afb11ad0abed2bc8cbca4c011e78b7 Mon Sep 17 00:00:00 2001 From: Minidodo Date: Sat, 28 Aug 2021 21:24:52 +0200 Subject: [PATCH] fix for !track & !mrelay abbrv --- core/igncore.py | 2 +- modules/orgbot/alliance/alliance_relay.py | 17 +++++++++++++++++ modules/standard/track/track_controller.py | 9 +++++---- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/core/igncore.py b/core/igncore.py index aa4705a..8d6e92e 100644 --- a/core/igncore.py +++ b/core/igncore.py @@ -42,7 +42,7 @@ class Tyrbot: self.last_timer_event = 0 self.start_time = int(time.time()) self.major_version = "IGNCore v2.6" - self.minor_version = "1" + self.minor_version = "2" self.incoming_queue = FifoQueue() self.mass_message_queue = None self.conns = DictObject() diff --git a/modules/orgbot/alliance/alliance_relay.py b/modules/orgbot/alliance/alliance_relay.py index 71d130e..2dc9086 100644 --- a/modules/orgbot/alliance/alliance_relay.py +++ b/modules/orgbot/alliance/alliance_relay.py @@ -207,6 +207,23 @@ class AllianceRelay: return f"Successfully changed the symbol for relaying messages to " \ f"{self.character_service.get_char_name(int(bot))}: {prefix}" + @command(command="mrelay", + params=[Const("abbrv"), Character("relaybot_name"), Any("Abbreviation")], + access_level="admin", + description="Change the abbreviation setting of the relays") + def mrelay_abbrv(self, request, _, bot, abbreviation): + bots: dict = self.relay_bots().get_value() + if not bot.char_id: + return f"The character {bot.name} does not exist." + if str(bot.char_id) not in bots.keys(): + return f"There's no relay for {bot.name} registered. Please use mrelay create {bot.name}" + bot = str(bot.char_id) + current = self.relay_guild_abbreviations().get_value() + current[bot] = abbreviation + self.relay_guild_abbreviations().set_value(current) + return f"Successfully changed the Abbreviation for relaying messages to " \ + f"{self.character_service.get_char_name(int(bot))}: {abbreviation}" + @command(command="mrelay", params=[Const("status"), Character("relaybot_name"), Options(["on", "off", "true", "false"])], access_level="admin", diff --git a/modules/standard/track/track_controller.py b/modules/standard/track/track_controller.py index e85275b..886e8bb 100644 --- a/modules/standard/track/track_controller.py +++ b/modules/standard/track/track_controller.py @@ -83,10 +83,11 @@ class TrackController(BaseModule): @event(event_type="buddy_logoff", description="Fire tracker events", is_hidden=True) def track_fire_logoff(self, _1, event_data): - if "track" in self.buddy_service.get_buddy(event_data.char_id)["types"]: - self.event_service.fire_event("track_logoff", self.db.query_single("SELECT * from player where char_id=?", - [event_data.char_id])) - self.db.exec("DELETE FROM online where char_id=? and bot=?", [event_data.char_id, self.bot.get_char_id()]) + if buddy := self.buddy_service.get_buddy(event_data.char_id): + if "track" in buddy["types"]: + self.event_service.fire_event("track_logoff", self.db.query_single("SELECT * from player where char_id=?", + [event_data.char_id])) + self.db.exec("DELETE FROM online where char_id=? and bot=?", [event_data.char_id, self.bot.get_char_id()]) @event(event_type="track_logon", description="Fire tracker events", is_hidden=True) def track_logon(self, _1, user):