def catch_pokemon(self, pokemon): catch_worker = PokemonCatchWorker(pokemon, self) return_value = catch_worker.work() if return_value == PokemonCatchWorker.BAG_FULL: transfer_worker = InitialTransferWorker(self) transfer_worker.work() return return_value
def _setup_api(self): # instantiate pgoapi self.api = PGoApi() # provide player position on the earth self._set_starting_position() if not self.api.login(self.config.auth_service, str(self.config.username), str(self.config.password)): logger.log('Login Error, server busy', 'red') exit(0) # chain subrequests (methods) into one RPC call # get player profile call # ---------------------- self.api.get_player() response_dict = self.api.call() if response_dict is not None: # print('Response dictionary: \n\r{}'.format(json.dumps(response_dict, indent=2))) try: player = response_dict['responses']['GET_PLAYER']['player_data'] self.print_player_data(player) self.get_player_info() except TypeError: logger.log("[X] Unable to parse player object from API: %s", 'red') logger.log("Forced Exit!", 'red') exit(1) # Testing # self.drop_item(Item.ITEM_POTION.value,1) # exit(0) if self.config.initial_transfer: worker = InitialTransferWorker(self) worker.work() if self.config.recycle_items: recycle_worker = RecycleItemsWorker(self) recycle_worker.work() logger.log('[#]') self.update_inventory()
def _setup_api(self): # instantiate pgoapi self.api = PGoApi() # provide player position on the earth self._set_starting_position() if not self.api.login(self.config.auth_service, str(self.config.username), str(self.config.password)): logger.log('Login Error, server busy', 'red') exit(0) # chain subrequests (methods) into one RPC call # get player profile call # ---------------------- self.api.get_player() response_dict = self.api.call() if response_dict is not None: # print('Response dictionary: \n\r{}'.format(json.dumps(response_dict, indent=2))) player = response_dict['responses']['GET_PLAYER']['player_data'] # @@@ TODO: Convert this to d/m/Y H:M:S creation_date = datetime.datetime.fromtimestamp( player['creation_timestamp_ms'] / 1e3) balls_stock = self.pokeball_inventory() pokecoins = player['currencies'][0].get('amount', '0') stardust = player['currencies'][1].get('amount', '0') logger.log('[#]') logger.log('[#] Username: {username}'.format(**player)) logger.log('[#] Acccount Creation: {}'.format(creation_date)) logger.log('[#] Bag Storage: {}/{}'.format( self.get_inventory_count('item'), player['max_item_storage'])) logger.log('[#] Pokemon Storage: {}/{}'.format( self.get_inventory_count('pokemon'), player[ 'max_pokemon_storage'])) logger.log('[#] Stardust: {}'.format(stardust)) logger.log('[#] Pokecoins: {}'.format(pokecoins)) logger.log('[#] PokeBalls: {}'.format(balls_stock[1])) logger.log('[#] GreatBalls: {}'.format(balls_stock[2])) logger.log('[#] UltraBalls: {}'.format(balls_stock[3])) # Testing # self.drop_item(Item.ITEM_POTION.value,1) # exit(0) self.get_player_info() if self.config.initial_transfer: worker = InitialTransferWorker(self) worker.work() if self.config.recycle_items: recycle_worker = RecycleItemsWorker(self) recycle_worker.work() logger.log('[#]') self.update_inventory()
def _setup_api(self): # instantiate api self.api_wrapper = PoGoApi(provider=self.config.auth_service, username=self.config.username, password=self.config.password) # provide player position on the earth self._set_starting_position() while not self.api_wrapper.login(): logger.log('Login Error, server busy', 'red') logger.log('Waiting 15 seconds before trying again...') time.sleep(15) logger.log('[+] Login to Pokemon Go successful.', 'green') # chain subrequests (methods) into one RPC call # get player profile call # ---------------------- response_dict = self.update_player_and_inventory() if response_dict is not None: player = response_dict['player'] inventory = response_dict['inventory'] pokemon = response_dict['pokemon'] creation_date = player.get_creation_date() balls_stock = self.pokeball_inventory() pokecoins = player.pokecoin stardust = player.stardust logger.log('[#]') logger.log('[#] Username: {}'.format(player.username)) logger.log('[#] Acccount Creation: {}'.format(creation_date)) logger.log('[#] Bag Storage: {}/{}'.format(len(inventory), player.max_item_storage)) logger.log('[#] Pokemon Storage: {}/{}'.format(len(pokemon), player.max_pokemon_storage)) logger.log('[#] Stardust: {}'.format(stardust)) logger.log('[#] Pokecoins: {}'.format(pokecoins)) logger.log('[#] PokeBalls: {}'.format(balls_stock[1])) logger.log('[#] GreatBalls: {}'.format(balls_stock[2])) logger.log('[#] UltraBalls: {}'.format(balls_stock[3])) logger.log('[#] -- Level: {}'.format(player.level)) logger.log('[#] -- Experience: {}'.format(player.experience)) logger.log('[#] -- Experience until next level: {}'.format(player.next_level_xp - player.experience)) logger.log('[#] -- Pokemon Captured: {}'.format(player.pokemons_captured)) logger.log('[#] -- Pokestops Visited: {}'.format(player.poke_stop_visits)) # Testing # self.drop_item(Item.ITEM_POTION.value,1) # exit(0) if self.config.initial_transfer: worker = InitialTransferWorker(self) worker.work() if self.config.recycle_items: recycle_worker = RecycleItemsWorker(self) recycle_worker.work() logger.log('[#]') self.update_player_and_inventory()