
    ni                         d dl mZ d dlmZ d dlmZ d dlmZ dedej                  ddfd	Z	dedej                  ddfd
Z
dedej                  ddfdZy)    )Update)ContextTypes)logger)parse_steam_idupdatecontextreturnNc                   K   |j                   s$| j                  j                  d       d {    y 	 t        |j                   d         }t        |j                         dkD  rdj                  |j                   dd        nd| }| j                  j                  }|j                  d   }|j                  |||      rC| j                  j                  d| d| d	       d {    t        j                  d
|||       y | j                  j                  | d| d       d {    y 7 # t        $ r7}| j                  j                  t        |             d {  7   Y d }~y d }~ww xY w7 7 Lw)Nz#Usage: /addplayer <steam_id> [name]r       Player_storezAdded z (Steam32: )z-Added player steam32=%s name=%r to chat_id=%sz) is already tracked.)argsmessage
reply_textr   
ValueErrorstrlenjoineffective_chatidbot_data
add_playerr   info)r   r   steam32enamechat_idr   s          /app/bot/handlers/dota.pyr   r      sL    <<nn''(MNNN a1
 *-W\\):Q)>388GLL$%ggYDWD##&&GW%E$/nn''&k'!(LMMMCWdT[\nn''4&G9DY(Z[[[# 	O
  nn''A/// 	N 	\sd   +E5D,E5D. BE5$E1%AE5&E3'E5.	E.7'E)E!E)$E5)E..E53E5c                 h  K   |j                   s$| j                  j                  d       d {    y 	 t        |j                   d         }| j                  j                  }|j                  d   }|j                  ||      r>| j                  j                  d|        d {    t        j                  d||       y | j                  j                  d| d       d {    y 7 # t        $ r7}| j                  j                  t        |             d {  7   Y d }~y d }~ww xY w7 7 Lw)NzUsage: /removeplayer <steam_id>r   r   zRemoved Steam32: z)Removed player steam32=%s from chat_id=%szPlayer with Steam32 z is not tracked.)r   r   r   r   r   r   r   r   r   remove_playerr   r   )r   r   r   r   r   r   s         r    r"   r"      s    <<nn''(IJJJ a1
 ##&&GW%E7G,nn''*;G9(EFFF?'Rnn''*>wiGW(XYYY! 	K
  nn''A/// 	G 	Zsc   +D2C)D2C+ AD2$D.%>D2#D0$D2+	D+4'D&DD&!D2&D++D20D2c                   K   | j                   j                  }|j                  d   }|j                  |      }|s$| j                  j                  d       d {    y dt        |       dg}t        |d      D ]2  \  }}|j                  | d|j                   d|j                          4 | j                  j                  dj                  |             d {    y 7 7 w)	Nr   z8No players tracked yet. Use /addplayer <steam_id> [name]zTracked players (z):r   z. u    — Steam32: 
)r   r   r   list_playersr   r   r   	enumerateappendr   r   r   )r   r   r   r   playerslinesips           r    r%   r%   3   s     ##&&GW%E  )Gnn''(bccc Wb12E'1%1s"QVVHN199+>? &
..
#
#DIIe$4
555 	d 6s%   AC'C#BC'C%C'%C')telegramr   telegram.extr   bot.core.loggerr   bot.services.steamr   DEFAULT_TYPEr   r"   r%        r    <module>r3      sy     % " -\V \l.G.G \D \,Z Z1J1J Zt Z*6v 60I0I 6d 6r2   