
    Ii                        d Z dZ	 d,ddddedededed	eez  f
d
Zded	efdZdedefdZd-dedefdZ	 e	d      d        Z
 e	d      defd       Z e	dd      d.defd       Z e	dd      d.dedefd       Z e	dd      d.defd       Z e	d      d        Z e	d      defd       Z e	d      d        Z e	d      d         Ze
h d!feh d"feh d#fed$hfed%d&hfed'd(hfed)hfed*hfed+hff	Zy )/NTFz The state parameter is required.)allow_no_valueno_value_errorstateinitial_valuer   r   returnc                4   | dk(  r(|#|s t         j                  j                  |       yy|  S h d}h d}| j                         } | |v ry| |v ryt         j                  j                  ddj	                  |      z   d	z   dj	                  |      z   d
z          y)zConvert a string input parameter into a boolean state.
    Supports flipping the existing state, or allowing for returning None type if the existing state is only accessible on the server. N>   1tyonyestrueenableenabled>   0fnnoofffalsedisabledisabledTFz&Invalid state value.
Positive values: z, z.
Negative values: .)clientspeakerspeaklowerjoin)r   r   r   r   positivenegatives         @C:\Users\dbart\PlayPalace11\clients\desktop\ui\slash_commands.pyconvert_to_boolr"      s     { !$$^4yHHKHKKME	(	
NN1
))H
	
 	! ))H
	 		     commandc                 6    t         D ]  }| |d   v s|d   c S  y )N       )aliases)r$   aliass     r!   get_command_funcr*   '   s&    eAh8O  r#   argsc                    t        |       }|sNt        r$t        j                  j	                  d| |d       y t        j
                  j                  d|  d       y 	  ||       y # t        $ r`}t        |       t        j
                  j                  d|  d       t        j
                  j                  t        |             Y d }~y d }~ww xY w)Nslash_command)typer$   r+   zSlash command z not found.zError processing slash command r   )
r*   allow_server_commandsr   networksend_packetr   r   	Exceptionprintstr)r$   r+   funces       r!   process_commandr7   .   s    G$D NN&&G]a'bc 	 NN  >'+!FG%T
 %a>wiqIJSV$$%s   A& &	C/AC

Cr'   min_argsmax_argsc                 $      k  r  fd}|S )Nc                       fd}|S )Nc                 8   | r| j                  ddz
        ng }t        |      k  r0t        j                  j	                  j
                   d d       y t        |      kD  r0t        j                  j	                  j
                   d d       y  | S )N r&   z requires at least z arguments.z takes at most )splitlenr   r   r   __name__)
arg_stringpartsr5   r9   r8   s     r!   wrapperz.arg_parser.<locals>.decorator.<locals>.wrapperC   s    ;EJ$$S(Q,72E5zH$$$6I(S^%_`5zH$$$ohZ{%[\<r#    )r5   rC   r9   r8   s   ` r!   	decoratorzarg_parser.<locals>.decoratorB   s    	  r#   rD   )r8   r9   rE   s   `` r!   
arg_parserrF   >   s    ( r#   c                  F    t         j                  j                  ddi       y )Nr.   
admins_cmdr   r0   r1   rD   r#   r!   adminsrJ   R   s    
NN56r#   r&   messagec                 H    t         j                  j                  d| d       y )Nbroadcast_cmd)r.   rK   rI   )rK   s    r!   	broadcastrN   W   s    
NNGLMr#   langc                    | sRt         j                  |       } t         j                  j                  d|  dt         j	                  |       z   dz          y t         j                  |       } | sy t         j                  d|        t         j                  j                  d|  dt         j	                  |       z   dz          y )NzInput language is currently z (z).zsocial/chat_input_languagezInput language set to )r   get_language_namer   r   get_language_codemodify_option_value)rO   s    r!   inlangrT   \   s    ''-*4&3f6N6Nt6TTW[[	
 	##D)D
;TB
NN1$r:V=U=UVZ=[[^bbcr#      c                     t         j                  |       } | sy t        |d       }|dk(  ry t         j                  d|  |       t         j                  j                  |rdndd|  dz          y )Nr   zsocial/language_subscriptions/EnDiszabled incoming chats in r   )r   rQ   r"   rS   r   r   )rO   r   s     r!   langsubrY   k   sn    ##D)DE4(E{
!?vFN
NN%$U8PQUPVVW6XXYr#   c                 n    t        | d      } | dk(  ry t        j                  j                  d| d       y )NT)r   r   set_table_visibility_cmd)r.   r   )r"   r   r0   r1   )r   s    r!   set_table_visibilityr\   w   s0    E$7E{
NN(BUSTr#   c                  F    t         j                  j                  ddi       y )Nr.   check_table_visibility_cmdrI   rD   r#   r!   check_table_visibilityr_      s    
NN(DEFr#   passwordc                 H    t         j                  j                  d| d       y )Nset_table_pw_cmd)r.   r`   rI   )r`   s    r!   set_table_pwrc      s    
NN& 	
r#   c                  F    t         j                  j                  ddi       y )Nr.   remove_table_pw_cmdrI   rD   r#   r!   remove_table_pwrf      s    
NN(=>?r#   c                  F    t         j                  j                  ddi       y )Nr.   check_table_pw_cmdrI   rD   r#   r!   check_table_pwri      s    
NN(<=>r#   >   admdevadmsdevsadminrJ   admlistdevlistadmslistdevslist	adminlist
adminslist>   alertbcastnotifyannouncerN   announcement>   ilangrT   
input_langrY   
setvisiblesetvischeckvisiblecheckvissetpwremovepwcheckpw)N)r'   r'   )r   )r   r/   r4   boolr"   callabler*   r7   intrF   rJ   rN   rT   rY   r\   r_   rc   rf   ri   r(   rD   r#   r!   <module>r      s  	 
  !< 	
  
CZDc h %S % %  C ( A7 7 ANs N N Aqd d d AqZ# Zc Z Z AqU U U AG G A3   A@ @ A? ? 		
" UV./ykL(34nj9:G9zl#i[!3r#   