ValvePython / dota2

🐸 Python package for interacting with Dota 2 Game Coordinator
http://dota2.readthedocs.io
198 stars 32 forks source link

get_practice_lobby_list returns an error #53

Open sercankd opened 4 years ago

sercankd commented 4 years ago

Using get_practice_lobby_list returns an error

dota.get_practice_lobby_list(tournament_games=False, password='')

Traceback (most recent call last):
  File "src\\gevent\\greenlet.py", line 854, in gevent._gevent_cgreenlet.Greenlet.run
  File "main.py", line 18, in get_imba_lobbies
    dota.get_practice_lobby_list(tournament_games=False, password='')
  File "C:\Users\sercankd\AppData\Local\Programs\Python\Python38-32\lib\site-packages\dota2\features\lobby.py", line 170, in get_practice_lobby_list
    jobid = self.send_job(EDOTAGCMsg.EMsgGCPracticeLobbyList,
  File "C:\Users\sercankd\AppData\Local\Programs\Python\Python38-32\lib\site-packages\dota2\client.py", line 166, in send_job
    self._send(*args, jobid=jobid, **kwargs)
  File "C:\Users\sercankd\AppData\Local\Programs\Python\Python38-32\lib\site-packages\dota2\client.py", line 213, in _send
    proto_fill_from_dict(message, data)
  File "C:\Users\sercankd\AppData\Local\Programs\Python\Python38-32\lib\site-packages\steam\utils\proto.py", line 86, in proto_fill_from_dict
    desc = field_descs[key]
KeyError: 'tournament_games'
2020-07-09T19:39:13Z <Greenlet at 0x52d1e80: get_imba_lobbies> failed with KeyError
rossengeorgiev commented 4 years ago

Looks like similar issue as #52. That fields is not in the protos.

sercankd commented 4 years ago

Removing 'tournament_games': tournament_games,

from

jobid = self.send_job(EDOTAGCMsg.EMsgGCPracticeLobbyList, resp = self.wait_msg(jobid, timeout=10) { 'tournament_games': tournament_games, 'pass_key': password, })

solved my problem but there is another thing, it is returning only 5 lobbies, i have also tried nodejs dota2 library but its also return 5 lobbies max