def stalk_character(event): if "character" in event.keys(): character_name = event["character"] elif "CHARACTER" in os.environ: character_name = os.environ.get("CHARACTER", None) else: character_name = "beginbot" character = Character(name=character_name) morgue_saver(character, character.non_saved_morgue_file())
def stalk(event): print(json.dumps(event)) character = event.get("character", None) if character and character != "None": stalk_character(event) else: characters_to_stalk = fetch_characters() for character_name in characters_to_stalk: character = Character(name=character_name) morgue_saver(character, character.non_saved_morgue_file())
def fetch(self): characters = fetch_characters() for character_name in characters: character = Character(name=character_name) morgue_db = MorgueDB(character_name) morgue_parser = MorgueParser(character.non_saved_morgue_file()) runes = morgue_parser.runes() if runes: nice_runes = [rune.strip() for rune in runes.split(",")] print(f"\033[37mSaving {character_name}'s runes\033[0m") morgue_db.save_stuff("SS", "runes", nice_runes)
def process_event(event): morgue_event = MorgueEvent.from_event(event) if morgue_event.command == "!h?": return print_the_help() # Elif Island msg = None if morgue_event.is_character_command(): print("A single Character Command!") character = Character(name=morgue_event.character) formatter = Formatter(character) if morgue_event.command == "!armour": msg = formatter.print_armour() elif morgue_event.command == "!weapons": msg = formatter.print_weapons() elif morgue_event.command == "!runes": msg = formatter.print_runes() elif morgue_event.command == "!spells": if morgue_event.level_barrier: msg = character.spells_above(morgue_event.level_barrier) else: msg = formatter.print_spells() elif morgue_event.command == "!skills": msg = formatter.print_skills() elif morgue_event.command == "!version": msg = formatter.print_version() elif morgue_event.command == "!jewellery": msg = formatter.print_jewellery() print( f"WE are looking for jewellery and this is what we found {msg}" ) elif morgue_event.command == "!max_damage": msg = formatter.print_max_damage() elif morgue_event.command == "!mutations": msg = formatter.print_mutations() elif morgue_event.command == "!scrolls": msg = formatter.print_scrolls() elif morgue_event.command == "!potions": msg = formatter.print_potions() elif morgue_event.command == "!gods": msg = formatter.print_gods() elif morgue_event.command == "!overview": morgue_parser = MorgueParser(character.non_saved_morgue_file()) msg = morgue_parser.overview() elif morgue_event.command == "!fetch": morgue_saver(character, character.non_saved_morgue_file(), True) elif morgue_event.command == "!fetch_s3_morgue": print(f"We are fetching the S3 Morgue for {character.name}") with open(f"tmp/s3_{character.name}.txt", "w") as f: f.write(character.s3_morgue_file()) elif morgue_event.command == "!save_morgue": save_morgue(character) elif morgue_event.command == "!search": pass # for c in ["!armour", "!weapons", "!jewellery"]: # call_command_with_arg(formatter, c, morgue_event.args[0]) elif morgue_event.is_multi_character_command(): print("A multiple Character Command!") if morgue_event.command == "!stalk_all": characters = fetch_characters() for character in characters: character = Character(name=character) morgue_saver(character, character.non_saved_morgue_file(), True) elif morgue_event.command == "!rune_awards": rune_awards() elif morgue_event.command == "!characters": characters = fetch_characters() msg = ["All The Characters"] + [", ".join(characters)] elif morgue_event.command == "!clean_morgue": print("COMING SOON") # clean_the_morgue() elif morgue_event.command == "!weapon_awards": find_the_max_damage_for_all_characters() else: print("WE DON'T KNOW THAT COMMAND!!!!!!!") if morgue_event.search: print(f"We are searching: {morgue_event.search}") if type(msg) is list: print("Search a List") msg = [item for item in msg if morgue_event.search in item] else: print("Search a strang") if morgue_event.search not in msg: msg = None if msg: send_chat_to_stream(msg) else: print( f"No Message return for command: {morgue_event.command} character: {morgue_event.character}" )
def fetch(name): character = Character(name=name) morgue_saver(character, character.non_saved_morgue_file(), True) return f"Fetched {name}'s Morgue File!"