dota2 icon indicating copy to clipboard operation
dota2 copied to clipboard

result of lobby match

Open amirhossein-mlkz opened this issue 3 years ago • 3 comments

Hello. how can I get the match result and end match event when I lunch the current lobby into a game?

amirhossein-mlkz avatar Sep 14 '22 20:09 amirhossein-mlkz

` self.dota.on('lobby_changed', self.lobby_change_handler)

    self.state_handler_dispatch = dict([
        (LobbyState.RUN, None),
        (LobbyState.POSTGAME, self.post_game_handler),
    ])

def post_game_handler(self, message=None):
    match message.match_outcome:
        case 2:  
            winner = Light
        case 3:  
            winner = Dark`

MirkevychV avatar Dec 06 '22 14:12 MirkevychV

As previously stated, the even to subscribe to is dota2.features.Lobby.EVENT_LOBBY_CHANGED, so subscribe a function to listen to change on it.

dota.on(dota2.features.Lobby.EVENT_LOBBY_CHANGED, game_update)

def game_update(self, message):
   # Here message.state can be 
   # 0: in lobby
   # 1: in-game (loading)
   # 2: in game
   # 3: post-game
   # if 3, message.match_outcome == 2 if radiant win, or 3 if dire win

ISSUE STATUS: CLOSED ISSUE TAG: HOWTO

Philaeux avatar Mar 03 '23 11:03 Philaeux

Does somebody know how to get score of match? Printing of whole message object shows not all attributes. I have know about match_outcome from this thread only

DiDHack avatar May 27 '24 19:05 DiDHack