PokemonGoF / PokemonGo-Bot

The Pokemon Go Bot, baking with community.
MIT License
3.87k stars 1.54k forks source link

S2Sphere AssertionError #5769

Closed lolsborn closed 8 years ago

lolsborn commented 8 years ago

Actual Behavior

Server crashes on startup with PokemonGo-Bot/lib/python2.7/site-packages/s2sphere/sphere.py", line 304, in from_axis_angle assert is_unit_length(axis) AssertionError

auth.json

{
    "auth_service": "ptc",
    "username": "xxxxx",
    "password": "xxxx",
    "location": "xx SE xxth Pl, Hillsboro OR 97123",
    "favorite_locations":[
        {"name": "Milan", "coords": "45.472849,9.177567"}
    ],
    "gmapkey": "xxxx",
    "encrypt_location": "",
    "telegram_token": "",
    "discord_token": ""
}

config.json

{
    "websocket_server": false,
    "heartbeat_threshold": 10,
    "enable_social": false,
    "live_config_update": {
      "enabled": false,
      "tasks_only": false
    },
    "tasks": [
      {
        "type": "TelegramTask",
        "config": {
          "enabled": false,
          "master": null,
          "password": null,
          "// old syntax, still supported: alert_catch": ["all"],
          "// new syntax:": {},
          "alert_catch": {
            "all": {"operator": "and", "cp": 1300, "iv": 0.95},
            "Snorlax": {"operator": "or", "cp": 900, "iv": 0.9}
          }
        }
      },
      {
        "type": "DiscordTask",
        "config": {
          "enabled": false,
          "master": null,
          "// old syntax, still supported: alert_catch": ["all"],
          "// new syntax:": {},
          "alert_catch": {
            "all": {"operator": "and", "cp": 1300, "iv": 0.95},
            "Snorlax": {"operator": "or", "cp": 900, "iv": 0.9}
          }
        }
      },
      {
        "//NOTE: This task MUST be placed on the top of task list": {},
        "type": "RandomAlivePause",
        "config": {
          "enabled": false,
          "min_duration": "00:00:10",
          "max_duration": "00:10:00",
          "min_interval": "00:05:00",
          "max_interval": "01:30:00"
        }
      },
      {
        "type": "HandleSoftBan"
      },
      {
        "type": "RandomPause",
        "config": {
          "enabled": false,
          "min_duration": "00:00:10",
          "max_duration": "00:10:00",
          "min_interval": "00:10:00",
          "max_interval": "02:00:00"
        }
      },
      {
        "type": "CompleteTutorial",
        "config": {
          "enabled": false,
          "// set a name": "",
          "nickname": "",
          "// 0 = No Team, 1 = Blue, 2 = Red, 3 = Yellow": "",
          "team": 0
        }
      },
      {
        "type": "CollectLevelUpReward",
        "config": {
          "collect_reward": true,
          "level_limit": -1
        }
      },
      {
        "type": "BuddyPokemon",
        "config": {
          "enabled": true,
          "buddy_list": "dratini, magikarp",
          "best_in_family": true,
          "// candy_limit = 0 means no limit, so it will never change current buddy": {},
          "candy_limit": 0,
          "// force_first_change = true will always change buddy at start removing current one": {},
          "force_first_change": false,
          "buddy_change_wait_min": 3,
          "buddy_change_wait_max": 5,
          "min_interval": 120
        }
      },
      {
        "type": "IncubateEggs",
        "config": {
          "enabled": true,
          "infinite_longer_eggs_first": false,
          "breakable_longer_eggs_first": true,
          "min_interval": 120,
         "infinite": [2,5,10],
         "breakable": [2,5,10]
        }
      },
      {
        "type": "UpdateLiveStats",
        "config": {
          "enabled": false,
          "min_interval": 10,
          "stats": ["username", "uptime", "stardust_earned", "xp_earned", "xp_per_hour", "stops_visited"],
          "terminal_log": true,
          "terminal_title": true
        }
      },
      {
        "type": "UpdateLiveInventory",
        "config": {
          "enabled": false,
          "min_interval": 120,
          "show_all_multiple_lines": false,
          "items": ["pokemon_bag", "space_info", "pokeballs", "greatballs", "ultraballs", "razzberries", "luckyegg"]
        }
      },
      {
        "type": "ShowBestPokemon",
        "config": {
          "enabled": true,
          "min_interval": 60,
          "amount": 5,
          "order_by": "cp",
          "info_to_show": ["cp", "ivcp", "dps", "hp"]
        }
      },
      {
        "type": "TransferPokemon",
        "config": {
          "enabled": true,
          "min_free_slot": 5,
          "transfer_wait_min": 3,
          "transfer_wait_max": 5
        }
      },
      {
        "type": "NicknamePokemon",
        "config": {
          "enabled": false,
          "nickname_above_iv": 0.9,
          "nickname_template": "{iv_pct}-{iv_ads}",
          "nickname_wait_min": 3,
          "nickname_wait_max": 5
        }
      },
      {
        "type": "EvolvePokemon",
        "config": {
          "enabled": false,
          "log_interval": 120,

            "// evolve only pidgey and drowzee": "",
            "// evolve_list": "pidgey, drowzee",
            "// donot_evolve_list": "none",

            "// evolve all but pidgey and drowzee": "",
            "// evolve_list": "all",
            "// donot_evolve_list": "pidgey, drowzee",

            "evolve_list": "all",
            "donot_evolve_list": "none",

          "first_evolve_by": "cp",
          "evolve_above_cp": 500,
          "evolve_above_iv": 0.8,
          "logic": "or",
          "min_evolve_speed": 25,
          "max_evolve_speed": 30,
          "min_pokemon_to_be_evolved": 1,
          "use_lucky_egg": false
        }
      },
      {
        "type": "UseIncense",
        "config": {
          "use_incense": false,
          "use_order": [
            "ordinary",
            "spicy",
            "cool",
            "floral"
          ]
        }
      },
      {
        "type": "RecycleItems",
        "config": {
          "enabled": true,
          "min_empty_space": 15,
          "max_balls_keep": 150,
          "max_potions_keep": 50,
          "max_berries_keep": 70,
          "max_revives_keep": 70,
          "item_filter": {
            "Pokeball":       { "keep" : 100 },
            "Potion":         { "keep" : 10 },
            "Super Potion":   { "keep" : 20 },
            "Hyper Potion":   { "keep" : 30 },
            "Revive":         { "keep" : 30 },
            "Razz Berry":     { "keep" : 100 }
          },
          "recycle_wait_min": 3,
          "recycle_wait_max": 5,
          "recycle_force": true,
          "recycle_force_min": "00:01:00",
          "recycle_force_max": "00:05:00"
        }
      },
      {
        "type": "CatchLimiter",
        "config": {
          "enabled": false,
          "min_balls": 20,
          "duration": 15
        }
      },
      {
        "type": "Sniper",
        "config": {
            "enabled": false,
            "mode": "social",
            "bullets": 1,
            "homing_shots": true,
            "special_iv": 100,
            "order": ["missing", "vip", "priority"],
            "sources": [
                {
                    "enabled": false,
                    "url": "http://localhost:5000/raw_data",
                    "timeout": 3,
                    "key": "pokemons",
                    "mappings": {
                        "id": { "param": "pokemon_id" },
                        "name": { "param": "pokemon_name" },
                        "latitude": { "param": "latitude" },
                        "longitude": { "param": "longitude" },
                        "expiration": { "param": "disappear_time", "format": "milliseconds" }
                    }
                },
                {
                    "enabled": false,
                    "url": "https://pokewatchers.com/grab/",
                    "timeout": 10,
                    "mappings": {
                        "iv": { "param": "iv" },
                        "id": { "param": "pid" },
                        "name": { "param": "pokemon" },
                        "latitude": { "param": "cords" },
                        "longitude": { "param": "cords" },
                        "expiration": { "param": "timeend", "format": "milliseconds" }
                    }
                },
                {
                    "enabled": false,
                    "url": "http://pokesnipers.com/api/v1/pokemon.json",
                    "timeout": 10,
                    "key": "results",
                    "mappings": {
                        "iv": { "param": "iv" },
                        "name": { "param": "name" },
                        "latitude": { "param": "coords" },
                        "longitude": { "param": "coords" },
                        "expiration": { "param": "until", "format": "utc" }
                    }
                }
            ],
            "catch": {
                "Snorlax": 1000,
                "Dragonite": 1000,
                "Growlithe": 600,
                "Clefairy": 500,
                "Kabuto": 500,
                "Dratini": 500,
                "Dragonair": 500,
                "Mr. Mime": 500,
                "Magmar": 500,
                "Electabuzz": 500,
                "Tangela": 500,
                "Tauros": 500,
                "Primeape": 500,
                "Chansey": 500,
                "Pidgey": 100,
                "Caterpie": 100,
                "Weedle": 100
            }
        }
      },
      {
        "type": "CatchPokemon",
        "config": {
          "enabled": true,
          "catch_visible_pokemon": true,
          "catch_lured_pokemon": true,
          "catch_incensed_pokemon": true,
          "min_ultraball_to_keep": 5,
          "berry_threshold": 0.35,
          "vip_berry_threshold": 0.9,
          "treat_unseen_as_vip": true,
          "daily_catch_limit": 800,
          "vanish_settings": {
            "consecutive_vanish_limit": 10,
            "rest_duration_min": "02:00:00",
            "rest_duration_max": "04:00:00"
          },
          "catch_throw_parameters": {
            "excellent_rate": 0.1,
            "great_rate": 0.5,
            "nice_rate": 0.3,
            "normal_rate": 0.1,
            "spin_success_rate" : 0.6,
            "hit_rate": 0.75
          },
          "catch_simulation": {
            "flee_count": 3,
            "flee_duration": 2,
            "catch_wait_min": 3,
            "catch_wait_max": 6,
            "berry_wait_min": 3,
            "berry_wait_max": 5,
            "changeball_wait_min": 3,
            "changeball_wait_max": 5,
            "newtodex_wait_min": 20,
            "newtodex_wait_max": 30
          }
        }
      },
      {
        "type": "SpinFort",
        "config": {
          "enabled": true,
          "spin_wait_min": 3,
          "spin_wait_max": 5,
          "daily_spin_limit": 1900
        }
      },
      { "type": "UpdateWebInventory",
        "config": {
          "enabled": true
        }
      },
      {
        "type": "MoveToFort",
        "config": {
          "enabled": true,
          "lure_attraction": true,
          "lure_max_distance": 2000,
          "walker": "StepWalker",
          "log_interval": 5
        }
      },
      {
        "type": "FollowSpiral",
        "config": {
          "enabled": true,
          "diameter": 4,
          "step_size": 70
        }
      }
    ],
    "map_object_cache_time": 5,
    "forts": {
      "avoid_circles": true,
      "max_circle_size": 50,
      "cache_recent_forts": true
    },
    "pokemon_bag": {
      "// if 'show_at_start' is true, it will log all the pokemons in the bag (not eggs) at bot start": {},
      "show_at_start": true,
      "// if 'show_count' is true, it will show the amount of each pokemon (minimum 1)": {},
      "show_count": false,
      "// if 'show_candies' is true, it will show the amount of candies for each pokemon": {},
      "show_candies": false,
      "// 'pokemon_info' parameter define which info to show for each pokemon": {},
      "// the available options are": {},
      "// ['cp', 'iv_ads', 'iv_pct', 'ivcp', 'ncp', 'level', 'hp', 'moveset', 'dps']": {},
      "pokemon_info": ["cp", "iv_pct"]
    },
    "walk_max": 4.16,
    "walk_min": 2.16,
    "alt_min": 500,
    "alt_max": 1000,

    "sleep_schedule": {
      "enabled": false,
      "enable_reminder": false,
      "reminder_interval": 600,
      "entries": [
        {
          "enabled": true,
          "time": "12:00",
          "duration": "5:30",
          "time_random_offset": "00:30",
          "duration_random_offset": "00:30",
          "wake_up_at_location": ""
        },
        {
          "enabled": true,
          "time": "17:45",
          "duration": "3:00",
          "time_random_offset": "01:00",
          "duration_random_offset": "00:30",
          "wake_up_at_location": ""
        }
      ]
    },

    "gps_default_altitude": 8.0,
    "replicate_gps_xy_noise": false,
    "replicate_gps_z_noise": false,
    "gps_xy_noise_range": 0.000125,
    "gps_z_noise_range": 12.5,
    "debug": false,
    "test": false,
    "walker_limit_output": false,
    "health_record": true,
    "location_cache": true,
    "distance_unit": "km",
    "reconnecting_timeout": 15,
    "logging": {
      "color": true,
      "show_datetime": true,
      "show_process_name": true,
      "show_log_level": true,
      "show_thread_name": false
    },
    "catch": {
      "any": {"candy_threshold" : 400 ,"catch_above_cp": 0, "catch_above_iv": 0, "logic": "or"},
      "// Example of always catching Rattata:": {},
      "// Rattata": { "always_catch" : true },
      "// Example of catching only Diglett and Horsea needed for Bubblestrat; you might want to also configure sniping (MoveToMap - helps you get hold of neede pokemons faster) and disable SpinFort (or you will advance past level 2 which will make it impossible to catch level-1 pokemons)": {},
      "Diglett": { "candy_threshold": 1, "catch_below_cp": 11, "catch_above_iv": 0, "logic": "and", "fast_attack": ["Scratch", "Mud Slap"] },
      "Horsea": { "candy_threshold": 1, "catch_below_cp": 11, "catch_above_iv": 0, "logic": "and", "fast_attack": ["Bubble"] },
      "// Example of catching Vaporeon only with Water Gun and Hydro Pump": {},
      "Vaporeon": { "catch_above_iv": 0.99, "charged_attack": ["Hydro Pump"], "fast_attack": ["Water Gun"]}
    },
    "release": {
      "any": {"release_below_cp": 0, "release_below_iv": 0, "release_below_ivcp": 0, "logic": "or"},
      "// Example of always releasing Rattata:": {},
      "// Rattata": {"always_release": true},
      "// Example of keeping 3 stronger (based on CP) Pidgey:": {},
      "// Pidgey": {"keep_best_cp": 3},
      "// Example of keeping 2 best (based on IV) Zubat:": {},
      "// Zubat": {"keep_best_iv": 2},
      "// Keep no more than 3 best IV pokemon for every pokemon type": {},
      "// any": {"keep_best_iv": 3},
      "// Keep no more than 3 best IVCP pokemon for every pokemon type": {},
      "// any": {"keep_best_ivcp": 3},
      "// Discard all pokemon in bag except 100 pokemon with best CP": {},
      "// all": {"keep_best_cp": 100},
      "// Example of keeping the 2 strongest (based on CP) and 3 best (based on IV) Zubat:": {},
      "// Zubat": {"keep_best_cp": 2, "keep_best_iv": 3},
      "// Example of custom order of static criterion": {},
      "// Zubat": {"keep_best_custom": "iv, cp, hp_max", "amount":2}
    },
    "vips" : {
        "Any pokemon put here directly force to use Berry & Best Ball to capture, to secure the capture rate": {},
        "any": {"catch_above_cp": 1200, "catch_above_iv": 0.9, "logic": "or" },
        "Lapras": {},
        "Moltres": {},
        "Zapdos": {},
        "Articuno": {},

        "// S-Tier pokemons (if pokemon can be evolved into tier, list the representative)": {},
        "Mewtwo": {},
        "Dragonite": {},
        "Snorlax": {},
        "// Mew evolves to Mewtwo": {},
        "Mew": {},
        "Arcanine": {},
        "Vaporeon": {},
        "Gyarados": {},
        "Exeggutor": {},
        "Muk": {},
        "Weezing": {},
        "Flareon": {}
    },
    "websocket": {
        "start_embedded_server": true,
        "server_url": "127.0.0.1:4000"
    }
}

Output when issue occurred

Traceback (most recent call last): File "pokecli.py", line 843, in <module> main() File "pokecli.py", line 202, in main bot.tick() File "/Users/steven/PokemonGo-Bot/pokemongo_bot/__init__.py", line 735, in tick self.cell = self.get_meta_cell() File "/Users/steven/PokemonGo-Bot/pokemongo_bot/__init__.py", line 761, in get_meta_cell cells = self.find_close_cells(*location) File "/Users/steven/PokemonGo-Bot/pokemongo_bot/__init__.py", line 872, in find_close_cells cellid = get_cell_ids(lat, lng) File "/Users/steven/PokemonGo-Bot/src/pgoapi/pgoapi/utilities.py", line 86, in get_cell_ids region = Cap.from_axis_angle(LatLng.from_degrees(lat, long).to_point(), Angle.from_degrees(360*radius/(2*math.pi*EARTH_RADIUS))) File "/Users/steven/PokemonGo-Bot/lib/python2.7/site-packages/s2sphere/sphere.py", line 304, in from_axis_angle assert is_unit_length(axis) AssertionError [2016-10-05 18:58:51] [sentry.errors] [ERROR] Sentry responded with an error: 'ascii' codec can't decode byte 0x9c in position 1: ordinal not in range(128) (url: https://app.getsentry.com/api/90254/store/) Traceback (most recent call last): File "/Users/steven/PokemonGo-Bot/lib/python2.7/site-packages/raven/transport/threaded.py", line 174, in send_sync super(ThreadedHTTPTransport, self).send(data, headers) File "/Users/steven/PokemonGo-Bot/lib/python2.7/site-packages/raven/transport/http.py", line 47, in send ca_certs=self.ca_certs, File "/Users/steven/PokemonGo-Bot/lib/python2.7/site-packages/raven/utils/http.py", line 66, in urlopen return opener.open(url, data, timeout) File "/Users/steven/PokemonGo-Bot/lib/python2.7/site-packages/future/backports/urllib/request.py", line 494, in open response = self._open(req, data) File "/Users/steven/PokemonGo-Bot/lib/python2.7/site-packages/future/backports/urllib/request.py", line 512, in _open '_open', req) File "/Users/steven/PokemonGo-Bot/lib/python2.7/site-packages/future/backports/urllib/request.py", line 466, in _call_chain result = func(*args) File "/Users/steven/PokemonGo-Bot/lib/python2.7/site-packages/raven/utils/http.py", line 46, in https_open return self.do_open(ValidHTTPSConnection, req) File "/Users/steven/PokemonGo-Bot/lib/python2.7/site-packages/future/backports/urllib/request.py", line 1284, in do_open h.request(req.get_method(), req.selector, req.data, headers) File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 1053, in request self._send_request(method, url, body, headers) File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 1093, in _send_request self.endheaders(body) File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 1049, in endheaders self._send_output(message_body) File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 891, in _send_output msg += message_body UnicodeDecodeError: 'ascii' codec can't decode byte 0x9c in position 1: ordinal not in range(128) [2016-10-05 18:58:51] [sentry.errors.uncaught] [ERROR] [u'AssertionError', u' File "pokecli.py", line 843, in <module>', u' File "pokecli.py", line 202, in main', u' File "pokemongo_bot/__init__.py", line 735, in tick', u' File "pokemongo_bot/__init__.py", line 761, in get_meta_cell', u' File "pokemongo_bot/__init__.py", line 872, in find_close_cells', u' File "pgoapi/utilities.py", line 86, in get_cell_ids', u' File "s2sphere/sphere.py", line 304, in from_axis_angle'] Wed Oct 5 18:58:51 PDT 2016 Pokebot Stopped. Press any button or wait 20 seconds to continue. im 2016-10-05 18:59:05,579 [ cli] [INFO] PokemonGO Bot v1.0 2016-10-05 18:59:05,591 [ cli] [INFO] commit: ff7eae5c 2016-10-05 18:59:05,596 [ cli] [INFO] Configuration initialized 2016-10-05 18:59:05,596 [pokemongo_bot.health_record.bot_event] [INFO] Health check is enabled. For more information: 2016-10-05 18:59:05,597 [pokemongo_bot.health_record.bot_event] [INFO] https://github.com/PokemonGoF/PokemonGo-Bot/tree/dev#analytics 2016-10-05 18:59:05,609 [requests.packages.urllib3.connectionpool] [INFO] Starting new HTTP connection (1): www.google-analytics.com (54174) wsgi starting up on http://127.0.0.1:4000 [2016-10-05 18:59:05] [PokemonGoBot] [INFO] Setting start location. [2016-10-05 18:59:05] [PokemonGoBot] [INFO] [x] Coordinates found in passed in location, not geocoding. [2016-10-05 18:59:05] [PokemonGoBot] [INFO] Location found: 761 SE 65th Pl, Hillsboro OR 97123 (761.0, 65.0, 8.0) [2016-10-05 18:59:05] [PokemonGoBot] [INFO] Now at (761.0, 65.0, 8.0) [2016-10-05 18:59:05] [PokemonGoBot] [INFO] Login procedure started. [2016-10-05 18:59:08] [pgoapi.pgoapi] [ERROR] Request for new Access Token failed! Logged out... [2016-10-05 18:59:08] [PokemonGoBot] [INFO] Not logged in, reconnecting in 900 seconds ^C[2016-10-05 18:59:16] [PokemonGoBot] [INFO] Bot caught SIGINT. Shutting down.

Other Information

OS: OSX Branch: Master Git Commit: ff7eae5c2e4f21467914a540b8eaec12dbdfc26a Python Version: 2.7

lolsborn commented 8 years ago

It appears the location in auth.conf should be lat, long. Thanks.