From 4cc5b463ec26db803b1694ffcb7e2b303ec335a4 Mon Sep 17 00:00:00 2001 From: Stuart Travers Date: Mon, 19 Sep 2016 13:31:29 +1000 Subject: [PATCH 1/5] Fixed 'pokemon_caught' event Removes "catch error 1" and removed redundant if/else logic --- README.md | 1 + pokemongo_bot/event_handlers/chat_handler.py | 25 ++++---------------- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 665b40cbe1..6fd2700dd1 100644 --- a/README.md +++ b/README.md @@ -158,6 +158,7 @@ If you do not want any data to be gathered, you can turn off this feature by set * rawgni * Breeze Ro * bruno-kenji + * Gobberwart ## Disclaimer ©2016 Niantic, Inc. ©2016 Pokémon. ©1995–2016 Nintendo / Creatures Inc. / GAME FREAK inc. © 2016 Pokémon/Nintendo Pokémon and Pokémon character names are trademarks of Nintendo. The Google Maps Pin is a trademark of Google Inc. and the trade dress in the product design is a trademark of Google Inc. under license to The Pokémon Company. Other trademarks are the property of their respective owners. diff --git a/pokemongo_bot/event_handlers/chat_handler.py b/pokemongo_bot/event_handlers/chat_handler.py index 623e5c85dd..4351491e07 100644 --- a/pokemongo_bot/event_handlers/chat_handler.py +++ b/pokemongo_bot/event_handlers/chat_handler.py @@ -38,27 +38,12 @@ def get_event(self, event, formatted_msg, data): if event == 'level_up': msg = "level up ({})".format(data["current_level"]) elif event == 'pokemon_caught': - if isinstance(self.pokemons, list): # alert_catch is a plain list - if data["pokemon"] in self.pokemons or "all" in self.pokemons: - msg = "Caught {} CP: {}, IV: {}".format(data["pokemon"], data["cp"], data["iv"]) - else: - return "Catch error 1" - else: # alert_catch is a dict - if data["pokemon"] in self.pokemons: - trigger = self.pokemons[data["pokemon"]] - elif "all" in self.pokemons: - trigger = self.pokemons["all"] - else: - return - if (not "operator" in trigger or trigger["operator"] == "and") and data["cp"] >= trigger["cp"] and data[ - "iv"] >= trigger["iv"] or ("operator" in trigger and trigger["operator"] == "or" and ( - data["cp"] >= trigger["cp"] or data["iv"] >= trigger["iv"])): - msg = "Caught {} CP: {}, IV: {}".format(data["pokemon"], data["cp"], data["iv"]) - else: - return "Catch error 2" + try: + msg = "Caught {} CP: {}, IV: {}".format(data["pokemon"], data["cp"], data["iv"]) + except: + msg = "Caught pokemon but unable to get details." elif event == 'egg_hatched': - msg = "Egg hatched with a {} CP: {}, IV: {} {}".format(data["name"], data["cp"], data["iv_ads"], - data["iv_pct"]) + msg = "Egg hatched with a {} CP: {}, IV: {} {}".format(data["name"], data["cp"], data["iv_ads"], data["iv_pct"]) elif event == 'bot_sleep': msg = "I am too tired, I will take a sleep till {}.".format(data["wake"]) elif event == 'catch_limit': From 3e37efca5689cce5a63c3788a2c7acfdfa18c809 Mon Sep 17 00:00:00 2001 From: Stuart Travers Date: Mon, 19 Sep 2016 14:23:46 +1000 Subject: [PATCH 2/5] Fixed and readded trigger logic --- pokemongo_bot/event_handlers/chat_handler.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pokemongo_bot/event_handlers/chat_handler.py b/pokemongo_bot/event_handlers/chat_handler.py index 4351491e07..0ffeef0b36 100644 --- a/pokemongo_bot/event_handlers/chat_handler.py +++ b/pokemongo_bot/event_handlers/chat_handler.py @@ -39,7 +39,13 @@ def get_event(self, event, formatted_msg, data): msg = "level up ({})".format(data["current_level"]) elif event == 'pokemon_caught': try: - msg = "Caught {} CP: {}, IV: {}".format(data["pokemon"], data["cp"], data["iv"]) + if data["pokemon"] in self.pokemons: + trigger = self.pokemons[data["pokemon"]] + elif "all" in self.pokemons: + trigger = self.pokemons["all"] + if ((not "operator" in trigger or trigger["operator"] == "and") and data["cp"] >= trigger["cp"] and data["iv"] >= trigger["iv"]) or \ + ("operator" in trigger and trigger["operator"] == "or" and (data["cp"] >= trigger["cp"] or data["iv"] >= trigger["iv"])): + msg = "Caught {} CP: {}, IV: {}".format(data["pokemon"], data["cp"], data["iv"]) except: msg = "Caught pokemon but unable to get details." elif event == 'egg_hatched': From 6b660e95d7b7285233ded91365d45e5704431137 Mon Sep 17 00:00:00 2001 From: Stuart Travers Date: Mon, 19 Sep 2016 14:35:14 +1000 Subject: [PATCH 3/5] Removed try/catch Shouldn't fail now --- pokemongo_bot/event_handlers/chat_handler.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/pokemongo_bot/event_handlers/chat_handler.py b/pokemongo_bot/event_handlers/chat_handler.py index 0ffeef0b36..8e9f30d2d0 100644 --- a/pokemongo_bot/event_handlers/chat_handler.py +++ b/pokemongo_bot/event_handlers/chat_handler.py @@ -35,19 +35,17 @@ def get_player_stats(self): return ("Stats not loaded yet\n") def get_event(self, event, formatted_msg, data): + msg = None if event == 'level_up': msg = "level up ({})".format(data["current_level"]) elif event == 'pokemon_caught': - try: - if data["pokemon"] in self.pokemons: - trigger = self.pokemons[data["pokemon"]] - elif "all" in self.pokemons: - trigger = self.pokemons["all"] - if ((not "operator" in trigger or trigger["operator"] == "and") and data["cp"] >= trigger["cp"] and data["iv"] >= trigger["iv"]) or \ - ("operator" in trigger and trigger["operator"] == "or" and (data["cp"] >= trigger["cp"] or data["iv"] >= trigger["iv"])): - msg = "Caught {} CP: {}, IV: {}".format(data["pokemon"], data["cp"], data["iv"]) - except: - msg = "Caught pokemon but unable to get details." + if data["pokemon"] in self.pokemons: + trigger = self.pokemons[data["pokemon"]] + elif "all" in self.pokemons: + trigger = self.pokemons["all"] + if ((not "operator" in trigger or trigger["operator"] == "and") and data["cp"] >= trigger["cp"] and data["iv"] >= trigger["iv"]) or \ + ("operator" in trigger and trigger["operator"] == "or" and (data["cp"] >= trigger["cp"] or data["iv"] >= trigger["iv"])): + msg = "Caught {} CP: {}, IV: {}".format(data["pokemon"], data["cp"], data["iv"]) elif event == 'egg_hatched': msg = "Egg hatched with a {} CP: {}, IV: {} {}".format(data["name"], data["cp"], data["iv_ads"], data["iv_pct"]) elif event == 'bot_sleep': From bf17c33df2c92761b9293ce5a2724129e3913a46 Mon Sep 17 00:00:00 2001 From: Stuart Travers Date: Mon, 19 Sep 2016 14:44:20 +1000 Subject: [PATCH 4/5] No trigger set --- pokemongo_bot/event_handlers/chat_handler.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pokemongo_bot/event_handlers/chat_handler.py b/pokemongo_bot/event_handlers/chat_handler.py index 8e9f30d2d0..a55fe9f4e3 100644 --- a/pokemongo_bot/event_handlers/chat_handler.py +++ b/pokemongo_bot/event_handlers/chat_handler.py @@ -43,9 +43,10 @@ def get_event(self, event, formatted_msg, data): trigger = self.pokemons[data["pokemon"]] elif "all" in self.pokemons: trigger = self.pokemons["all"] - if ((not "operator" in trigger or trigger["operator"] == "and") and data["cp"] >= trigger["cp"] and data["iv"] >= trigger["iv"]) or \ - ("operator" in trigger and trigger["operator"] == "or" and (data["cp"] >= trigger["cp"] or data["iv"] >= trigger["iv"])): - msg = "Caught {} CP: {}, IV: {}".format(data["pokemon"], data["cp"], data["iv"]) + if trigger: + if ((not "operator" in trigger or trigger["operator"] == "and") and data["cp"] >= trigger["cp"] and data["iv"] >= trigger["iv"]) or \ + ("operator" in trigger and trigger["operator"] == "or" and (data["cp"] >= trigger["cp"] or data["iv"] >= trigger["iv"])): + msg = "Caught {} CP: {}, IV: {}".format(data["pokemon"], data["cp"], data["iv"]) elif event == 'egg_hatched': msg = "Egg hatched with a {} CP: {}, IV: {} {}".format(data["name"], data["cp"], data["iv_ads"], data["iv_pct"]) elif event == 'bot_sleep': From 0aa4b42c1a99f3a200f2d557a9a102f0ecf38fdc Mon Sep 17 00:00:00 2001 From: Stuart Travers Date: Mon, 19 Sep 2016 14:51:23 +1000 Subject: [PATCH 5/5] minor fix --- pokemongo_bot/event_handlers/chat_handler.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pokemongo_bot/event_handlers/chat_handler.py b/pokemongo_bot/event_handlers/chat_handler.py index a55fe9f4e3..8d5cee3f31 100644 --- a/pokemongo_bot/event_handlers/chat_handler.py +++ b/pokemongo_bot/event_handlers/chat_handler.py @@ -39,6 +39,7 @@ def get_event(self, event, formatted_msg, data): if event == 'level_up': msg = "level up ({})".format(data["current_level"]) elif event == 'pokemon_caught': + trigger = None if data["pokemon"] in self.pokemons: trigger = self.pokemons[data["pokemon"]] elif "all" in self.pokemons: