
    Pj(                   ^   U d Z ddlmZ ddlZddlZddlZddlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZ ddlZddlZddlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z% dd	l&m'Z' dd
l(m)Z) ddl*m+Z+ ddl,m-Z-m.Z. ddl.m/Z/ ddl0m1Z1  ejd                  e3      Z4erddl5m6Z6 ddl7m8Z8 ddl9m:Z: ddl;m<Z< ddl=m>Z> ddl?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZIm;Z;mJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTm=Z=mUZUmVZVmWZW ddlXmYZYmZZZ ddl[m\Z\ ddl?m]Z]  ed      Z^ ede_      Z`e	eee^f   Zad,dZb G d de      Zce/fe/e/dde/e/e/e/e/e/e/e/e/e/dde/e/e/e/d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d-d Zdd!aed"efd#<   d.d$Zg G d% d&      Zh G d' d(      Zid)ej                  _k         G d* d+      Zly)/a:  
The MIT License (MIT)

Copyright (c) 2015-present Rapptz

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
    )annotationsN)AnyClassVar	CoroutineDictIterableListLiteral
NamedTupleOptionaloverloadSequenceTupleTYPE_CHECKINGTypeTypeVarUnion)quote)deque   )HTTPExceptionRateLimited	ForbiddenNotFoundLoginFailureDiscordServerErrorGatewayNotFound)DiscordClientWebSocketResponse)File)AllowedMentions)__version__utils)MISSING)MessageFlags)Self)BaseView)Embed)
Attachment)Poll)appinfo	audit_logautomodchannelcommandemojiguildintegrationinvitemembermessage
onboardingtemplateroleuserwebhookwidgetthreadsscheduled_eventstickerwelcome_screenskupollvoice
soundboardsubscription)	SnowflakeSnowflakeList)SessionStartLimit)TracebackTypeTBE)boundc                   K   | j                  d       d {   }	 | j                  d   dk(  rt        j                  |      S 	 |S 7 /# t        $ r Y |S w xY ww)Nzutf-8)encodingzcontent-typeapplication/json)textheadersr"   
_from_jsonKeyError)responserN   s     ?/root/.hermes/venv/lib/python3.12/site-packages/discord/http.pyjson_or_textrT   n   sm     00DN+/AA##D)) B K 1  K	s8   AAA&A
 AA
	AAAAc                  L    e Zd ZU ded<   ded<   ded<   d
dZ	 	 	 	 	 	 	 	 ddZy	)MultipartParameterszOptional[Dict[str, Any]]payloadzOptional[List[Dict[str, Any]]]	multipartOptional[Sequence[File]]filesc                    | S N selfs    rS   	__enter__zMultipartParameters.__enter__   s        c                `    | j                   r"| j                   D ]  }|j                           y y r\   )rZ   close)r_   exc_typeexc	tracebackfiles        rS   __exit__zMultipartParameters.__exit__   s,     ::

 

 ra   Nreturnr%   )rd   zOptional[Type[BE]]re   zOptional[BE]rf   zOptional[TracebackType]rj   None)__name__
__module____qualname____annotations__r`   rh   r]   ra   rS   rV   rV   z   sD    %%--##$  +	
 
ra   rV   F)username
avatar_urlttsnonceflagsrg   rZ   embedembedsattachmentsviewallowed_mentionsmessage_referencestickersprevious_allowed_mentionsmention_authorthread_namechannel_payloadapplied_tagsr@   c                   |t         ur|t         urt        d      |	t         ur|t         urt        d      |t         ur|g}|
t         ur|t         urt        d      i }|	t         ur:t        |	      dkD  rt        d      |	D cg c]  }|j	                          c}|d<   |t         ur|g |d<   n|j	                         g|d<   | t         ur| t        |       |d<   nd |d<   |t         urG|@|j                         |d<   |j                         r"|t         urd	|_        nt        d	
      }ng |d<   |t        |      |d<   d	|d<   |t         ur||d<   |t         ur|||d<   ng |d<   ||d<   |rt        |      |d<   |r||d<   |t         ur|j                  |d<   |t         ur||d<   |r9|#|j                  |      j	                         |d<   n)|j	                         |d<   n||j	                         |d<   |'d|vrt               j	                         |d<   ||d   d<   |
t         u r|}
n |
D cg c]  }t        |t              s| }}|
t         ured}g }|
D ]W  }t        |t              r&|j                  |j	                  |             |dz  }9|j                  |j	                                Y ||d<   |t         ur|||d<   ng |d<   |t         urd|i}|j!                  |       |t         d fvr |j"                         |d<   g }|rj|j                  dt%        j&                  |      d       d }t)        |      D ]3  \  }}|j                  d| d|j*                  |j,                  d d!       5 t/        |||"      S c c}w c c}w )#Nz,Cannot mix file and files keyword arguments.z.Cannot mix embed and embeds keyword arguments.z3Cannot mix attachments and files keyword arguments.
   z$embeds has a maximum of 10 elements.rv   content
componentsT)components_v2rs   enforce_noncerz   sticker_idsrr   rq   rp   rt   r~   ry   replied_userr   r   rw   r   r4   r@   payload_jsonnamevaluezfiles[]application/octet-streamr   r   filenamecontent_type)rW   rX   rZ   )r#   	TypeErrorlen
ValueErrorto_dictstrto_componentshas_components_v2r   r$   r   merger    
isinstancer   appendupdate_to_dictr"   _to_json	enumeratefpr   rV   )r   rp   rq   rr   rs   rt   rg   rZ   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r@   rW   ea
file_indexattachments_payload
attachmentrX   indexs                                rS   handle_message_parametersr      s   0 GG 3FGGWg!5HII7'!e7&:MNNGWv;CDD289QQYY[9G= "GH!& 1GHg!$WGI!%GI7$($6$6$8GL!%%''*.E'(t<E$&GL!u:#' ''8#$w%-GM"%'GM"GEN #J&
G ;;'!!,$0*C*I*IJZ*[*c*c*eG&'*:*B*B*DG&'	"	.&?&G&G&I"#!W,*9*;*C*C*EG&'6D"#N3g'?q:a+>??'!
 % 	AJ*d+#**:+=+=j+IJa
#**:+=+=+?@	A "57"#&2GN#&(GN#g%w
 	'GT?"'$--/I.5>>';RST$U+ 	KE4$UG1-!WW $$>		 w)5QQ] :F @s   N1NNr   intINTERNAL_API_VERSIONc                    t        | t              s"t        d| j                  j                         | dvrt        d|        | ad|  t        _        y )Nzexpected int not )	   r   zexpected either 9 or 10 not zhttps://discord.com/api/v)	r   r   r   	__class__rl   r   r   RouteBASE)r   s    rS   _set_api_versionr   (  s[     eS!+EOO,D,D+EFGGG7w?@@ ,UG4EJra   c                  N    e Zd ZU dZded<   ddd	dZed
d       Zed
d       Zy)r   zhttps://discord.com/api/v10zClassVar[str]r   N)metadatac                  || _         || _        || _        | j                  | j                   z   }|rP|j	                  |j                         D ci c]%  \  }}|t        |t              rt        |d      n|' c}}      }|| _	        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        y c c}}w )N safe
channel_idguild_id
webhook_idwebhook_token)pathmethodr   r   
format_mapitemsr   r   	_uriquoteurlgetr   r   r   r   )r_   r   r   r   
parametersr   kvs           rS   __init__zRoute.__init__8  s    	! (0ii$))#..dndtdtdv!w\`\]_`!jC>PYqr%:VW"W!wxC 0:~~l/K-7^^J-G/9~~l/K,6NN?,K "xs   *C!
c                    | j                   r(| j                   d| j                   d| j                    S | j                   d| j                   S )zBThe bucket key is used to represent the route in various mappings. :)r   r   r   r^   s    rS   keyz	Route.keyI  sG     ==kk]!DII;a??++a		{++ra   c                    dj                  d | j                  | j                  | j                  | j                  fD              S )zReturns the major parameters formatted a string.

        This needs to be appended to a bucket hash to constitute as a full rate limit key.
        +c              3  8   K   | ]  }|t        |        y wr\   )r   ).0r   s     rS   	<genexpr>z)Route.major_parameters.<locals>.<genexpr>V  s      
eferCF
s   )joinr   r   r   r   r^   s    rS   major_parameterszRoute.major_parametersP  s=     xx 
!__dmmT__dN`N`a
 
 	
ra   )
r   r   r   r   r   Optional[str]r   r   rj   rk   rj   r   )	rl   rm   rn   r   ro   r   propertyr   r   r]   ra   rS   r   r   5  s=    7D-7LP L" , , 
 
ra   r   c                      e Zd ZdZdZddZddZd ZddddZdd	Z	dd
dddZ
ddZddZddZddZddZddZy
)	Ratelimitar  Represents a Discord rate limit.

    This is similar to a semaphore except tailored to Discord's rate limits. This is aware of
    the expiry of a token window, along with the number of tokens available. The goal of this
    design is to increase throughput of requests being sent concurrently rather than forcing
    everything into a single lock queue per route.
    )limit	remainingoutgoingreset_afterexpiresdirty_last_request_max_ratelimit_timeout_loop_pending_requests	_sleepingc                :   d| _         | j                   | _        d| _        d| _        d | _        d| _        || _        t        j                         | _	        t               | _        t        j                         | _        | j                  j                         | _        y )Nr   r           F)r   r   r   r   r   r   r   asyncioget_running_loopr   r   r   Lockr   timer   )r_   max_ratelimit_timeouts     rS   r   zRatelimit.__init__r  su    
"jj"%(, 
7L#070H0H0J
=BW (/||~$(JJOO$5ra   c                h    d| j                    d| j                   dt        | j                         dS )Nz<RateLimitBucket limit=z remaining=z pending_requests=>)r   r   r   r   r^   s    rS   __repr__zRatelimit.__repr__  s8    %djj\T^^<LL^_bcgcycy_z^{{|}	
ra   c                j    | j                   | j                  z
  | _        d | _        d| _        d| _        y )Nr   F)r   r   r   r   r   r   r^   s    rS   resetzRatelimit.reset  s,    dmm3
ra   F	use_clockc                  |j                   }t        |j                  dd            | _        | j                  rBt        t        |j                  dd            | j                  | j                  z
        | _        n't        |j                  dd            | _        d| _        |j                  d      }|s|s~t        j                  j                  }t        j                  j                  |      }t        j                  j                  t        |d         |      }||z
  j                         | _        nt        |      | _        | j                   j#                         | j                  z   | _        y )NzX-Ratelimit-Limitr   X-Ratelimit-Remainingr   TzX-Ratelimit-Reset-AfterzX-Ratelimit-Reset)rO   r   r   r   r   minr   r   datetimetimezoneutcnowfromtimestampfloattotal_secondsr   r   r   r   )r_   rR   r   rO   r   r   r   r   s           rS   r   zRatelimit.update  s   ""%8!<=
:: W[[1H!%L!Mtzz\`\i\iOijDN -Da!HIDNDJkk";<K##''C##'',C%%33E'BU:V4WY\]E %::<D$[1Dzz(4+;+;;ra   c                    | j                   rJ| j                   j                         }|j                         s|j                  d        y | j                   rIy y r\   )r   popleftdone
set_result)r_   futures     rS   
_wake_nextzRatelimit._wake_next  sD    $$++335F;;=!!$'	 $$ra   N	exceptionc                   d}| j                   rh| j                   j                         }|j                         s*|r|j                  |       n|j	                  d        |dz  }||k\  ry | j                   rgy y )Nr   r   )r   r   r   set_exceptionr   )r_   countr   awakenr   s        rS   _wakezRatelimit._wake  sj    $$++335F;;=((3%%d+! $$ra   c                  K   | j                   xr | j                  | j                   kD  }|rt        | j                        nd }| j                  4 d {    |s't	        j
                  | j                         d {    d d d       d {    | j                          | j                  | j                  |       y 7 k7 D7 6# 1 d {  7  sw Y   FxY ww)Nr   )	r   r   r   r   r   sleepr   r  r   )r_   errorr   s      rS   _refreshzRatelimit._refresh  s     ++^0@0@4C^C^0^5:K 0 01	>> 	6 	6mmD$4$4555	6 	6 	



4>>Y
7	65	6 	6 	6 	6sZ   ACB?C%C<C=CCC3CCCCCCCc                p    | j                   d uxr' | j                  j                         | j                   kD  S r\   )r   r   r   r^   s    rS   
is_expiredzRatelimit.is_expired  s*    ||4'LDJJOO,=,LLra   c                    | j                   j                         | j                  z
  }|dk\  xr) | j                  dk(  xr t	        | j
                        dk(  S )N,  r   )r   r   r   r   r   r   )r_   deltas     rS   is_inactivezRatelimit.is_inactive  sK    

!D$6$66|W 2Ws4;Q;Q7RVW7WWra   c                  K   | j                   j                         | _        | j                         r| j	                          | j
                  M| j                  A| j                  | j                   j                         z
  }|| j
                  kD  rt        |      | j                  dk  r| j                   j                         }| j                  j                  |       	 |j                         s| j                  r'| j                  | j                   j                         z
  nd}t        j                  |g|       d {    |j                         s| j                          d {    |j                         s| j                  dk  r| xj                  dz  c_        | xj&                  dz  c_        y 7 x7 R#  |j!                          | j                  dkD  r |j#                         s| j%                           xY ww)Nr      )timeoutr   )r   r   r   r
  r   r   r   r   r   create_futurer   r   r   r   waitr  cancel	cancelledr   r   )r_   current_reset_afterr   max_wait_times       rS   acquirezRatelimit.acquire  sy    !ZZ__.??JJL&&2t||7O"&,,1B"B"T%@%@@!"566nn!ZZ--/F""))&1 ++-HLDLL4::??3D$DZ\M!,,xGGG!;;="mmo-- !++-	 nn!  	! H->>A%f.>.>.@OO%sJ   CH A F=  F9'F= (F;)F= >H+H9F= ;F= =AG??Hc                B   K   | j                          d {    | S 7 wr\   )r  r^   s    rS   
__aenter__zRatelimit.__aenter__  s     lln 	s   c                  K   | xj                   dz  c_         | j                  | j                   z
  }| j                  j                         s{|dk  r| j	                          d {    y | j
                  rP| j                  r.| j                  | j                  kD  rt        | j                        nd }| j                  ||       y y y 7 cw)Nr   r   r   )
r   r   r   lockedr  r   r   r   r   r  )r_   typer   rf   tokensr   s         rS   	__aexit__zRatelimit.__aexit__  s     $--/ ~~$$&{mmo%%'' 22t7G7G$JeJe7e   0 01 
 

6Y
7 ( '%s   A!C	#C$A$C	)r   Optional[float]rj   rk   r   )rR   aiohttp.ClientResponser   boolrj   rk   rj   rk   )r   )r  r   r   zOptional[RateLimited]rj   rk   )rj   r"  ri   )r  zType[BE]r   rI   rf   rG   rj   rk   )rl   rm   rn   __doc__	__slots__r   r   r   r   r   r  r  r
  r  r  r  r  r]   ra   rS   r   r   [  sZ    I6 

 MR <*$ 8MX<8ra   r   	websocketc            
      Z   e Zd ZdZ	 ddddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZddZdddd	Zdd
ZddZddd	 	 	 	 	 	 	 	 	 ddZ	ddZ
ddZddZddZddZddZddZ	 	 	 	 	 	 ddZddZdd	 	 	 	 	 	 	 ddZdd	 	 	 	 	 	 	 ddZ	 	 	 	 	 	 	 	 ddZddZ	 	 	 	 	 	 	 	 	 	 ddZddZ	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 ddZddZdd Zdd!Zdd"Z	 	 	 d	 	 	 	 	 	 	 	 	 	 	 dd#Zdd$Zddd%Z ddd&Z!	 	 d	 	 	 	 	 	 	 dd'Z"ddd(Z#	 	 d	 	 	 	 	 	 	 	 	 dd)Z$dddd*Z%	 	 d	 	 	 	 	 	 	 	 	 dd+Z&dddd,	 	 	 	 	 	 	 	 	 	 	 dd-Z'dd.Z(dd	 	 	 	 	 	 	 dd/Z)dd	 	 	 	 	 	 	 	 	 dd0Z*dd1Z+dd2Z,dd	 	 	 	 	 	 	 	 	 dd3Z-d d4Z.dd5Z/dd	 	 	 	 	 	 	 dd6Z0dd	 	 	 	 	 	 	 dd7Z1dd	 	 	 	 	 	 	 dd8Z2dd	 	 	 	 	 	 	 	 	 dd9Z3dd	 	 	 	 	 dd:Z4ddd;	 	 	 	 	 	 	 	 	 	 	 	 	 dd<Z5dddd=	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd>Z6dd	 	 	 	 	 	 	 d	d?Z7dd@Z8d
dAZ9ddBZ:d
dCZ;	 d	 	 	 	 	 	 	 ddDZ<	 d	 	 	 	 	 	 	 ddEZ=	 d	 	 	 	 	 	 	 ddFZ>ddGZ?ddHZ@ddIZAdddJ	 	 	 	 	 	 	 	 	 ddKZBddLZCddMZDddNZE	 d	 	 	 	 	 	 	 ddOZF	 	 	 d	 	 	 	 	 	 	 	 	 ddPZGddQZHddRddSZIddTZJddUZKddVZLddddWZMdd	 	 	 	 	 	 	 ddXZNddYZOddZZPdd[ZQd d\ZRd!d]ZSd"d^ZTd#d_ZU	 	 d	 	 	 	 	 	 	 	 	 d$d`ZVd%daZWdd	 	 	 	 	 	 	 d&dbZXd'dcZYd(ddZZddd)deZ[d*dfZ\	 	 	 	 	 	 	 	 d+dgZ]d,dhZ^dd	 	 	 	 	 	 	 	 	 	 	 d-diZ_	 	 	 	 	 	 	 	 d.djZ`d/dkZad0dlZbd1dmZcd2dnZdd3doZe	 	 	 	 	 	 	 	 	 	 d4dpZf	 	 	 	 	 	 	 	 	 	 d5dqZgd6drZhd7dsZid8dtZjdddu	 	 	 	 	 	 	 	 	 	 	 d9dvZkdd	 	 	 	 	 	 	 d:dwZldd	 	 	 	 	 	 	 	 	 d;dxZmd<dyZnd=dzZod>d{Zpd?d|Zqdd	 	 	 	 	 	 	 d@d}Zr	 	 	 	 	 dA	 	 	 	 	 	 	 	 	 	 	 	 	 dBd~ZsdCdZt	 d	 	 	 	 	 	 	 dDdZudEdZvdddddddddd		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dFdZwddd	 	 	 	 	 	 	 dGdZxdHdZydIdZzdddJdZ{dKdZ|dLdZ}dMdZ~dd	 	 	 	 	 	 	 	 	 dNdZdddOdZdd	 	 	 	 	 	 	 	 	 dPdZdddQdZdd	 	 	 	 	 	 	 dRdZdd	 	 	 	 	 	 	 	 	 dSdZdd	 	 	 	 	 	 	 	 	 dSdZdd	 	 	 	 	 	 	 	 	 	 	 	 	 dTdZdd	 	 	 	 	 	 	 dUdZdd	 	 	 	 	 	 	 	 	 dVdZdWdZdXdZdddYdZddddZe	 	 	 	 	 	 dZd       Ze	 	 	 	 	 	 d[d       Ze	 	 	 	 	 	 d\d       Zd]dZdd	 	 	 	 	 	 	 d^dZe	 	 	 	 	 	 	 	 d_d       Ze	 	 	 	 	 	 	 	 d`d       Ze	 	 	 	 	 	 	 	 dad       Z	 	 	 	 	 	 	 	 dbdZdd	 	 	 	 	 	 	 	 	 dcdZdd	 	 	 	 	 	 	 dddZe	 	 de	 	 	 	 	 	 	 	 	 	 	 	 	 dfd       Ze	 	 de	 	 	 	 	 	 	 	 	 	 	 	 	 dgd       Ze	 	 de	 	 	 	 	 	 	 	 	 	 	 	 	 dhd       Z	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 didZdjdZdkdZ	 	 	 	 	 	 dldZ	 	 	 	 	 	 	 	 dmdZdndZ	 	 	 	 	 	 dodZ	 	 	 	 	 	 dpdZ	 	 	 	 	 	 	 	 dqdZ	 	 	 	 	 	 	 	 drdZ	 	 	 	 	 	 	 	 	 	 dsdZ	 	 	 	 	 	 	 	 dtdZ	 	 	 	 	 	 	 	 dudZ	 	 	 	 	 	 dvdZ	 	 	 	 	 	 	 	 dwdZ	 	 	 	 	 	 	 	 	 	 dxdZdydZdzdZ	 	 	 	 	 	 	 	 d{dZ	 	 	 	 	 	 	 	 	 	 d|dZ	 	 	 	 	 	 	 	 d}dZd~dZ	 	 	 	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZddZddZ	 	 	 	 	 	 	 	 	 	 ddZddÄZddĄZdddddŜ	 	 	 	 	 	 	 	 	 	 	 	 	 ddƄZddǄZddȄZddɄZ	 	 	 	 	 	 	 	 ddʄZ	 	 	 	 	 	 	 	 	 	 dd˄Zdd̄Zdd̈́Zdd΄ZddτZddЄZddфZ	 	 	 	 	 	 	 	 dd҄Z	 	 	 	 	 	 	 	 ddӄZ	 	 	 	 	 	 ddԄZ	 	 d	 	 	 	 	 	 	 	 	 	 	 ddՄZddքZ	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 ddׄZdd؄ZddلZddڄZy(  
HTTPClientzCRepresents an HTTP client sending HTTP requests to the Discord API.NT)proxy
proxy_authunsync_clock
http_tracer   c               ^   || _         |xs t        | _        t        | _        i | _        i | _        t        | _        d | _        || _        || _	        || _
        | | _        |rt        d|      nd | _        d}|j                  t        t         j"                  t$        j                        | _        y )N      >@zVDiscordBot (https://github.com/Rapptz/discord.py {0}) Python/{1[0]}.{1[1]} aiohttp/{2})loopr#   	connector_HTTPClient__session_bucket_hashes_buckets_global_overtokenr)  r*  r,  r   maxr   formatr!   sysversion_infoaiohttp
user_agent)	r_   r/  r0  r)  r*  r+  r,  r   r;  s	            rS   r   zHTTPClient.__init__  s     04	090DW07.0 /1+2$(
$)
7A9C#//Zoc$@U6Vuy"m
)00c>N>NPWPcPcdra   c                b    | j                   r#| j                   j                  rt        | _         y y y r\   )r1  closedr#   r^   s    rS   clearzHTTPClient.clear%  s#    >>dnn33$DN 4>ra   r   )compressc                 K   	 t        j                  d      }| j                  | j
                  d|dd| j                  i|d} | j                  j                  |fi | d {   S # t        t        f$ r d}Y bw xY w7 w)Nr.  )ws_closer   F
User-Agent)r*  r)  max_msg_sizer  	autocloserO   r?  )	r:  ClientWSTimeoutAttributeErrorr   r*  r)  r;  r1  
ws_connect)r_   r   r?  r  kwargss        rS   rG  zHTTPClient.ws_connect)  s     	"22DAG
 //ZZdoo !

 /T^^..s=f=== 	* 	G	 >s4   BA) A
B$B %B)A=:B<A==Bc                    t        | j                        dk  ry | j                  j                         D cg c]  \  }}|j                         s| }}}|D ]  }| j                  |=  y c c}}w )N   )r   r3  r   r  )r_   r   bucketkeyss       rS   _try_clear_expired_ratelimitsz(HTTPClient._try_clear_expired_ratelimits=  sf    t}}#'+}}':':'<UV@R@R@TUU 	#Cc"	# Vs   A,A,c                    	 | j                   |   }|S # t        $ r8 t        | j                        x| j                   |<   }| j	                          Y |S w xY wr\   )r3  rQ   r   r   rM  )r_   r   r   s      rS   get_ratelimitzHTTPClient.get_ratelimitE  s\    	1MM#&E   	1)243M3M)NNDMM#..0	1s    =AArZ   formc               ,  K   |j                   }|j                  }|j                  }d }	 | j                  |   }| d|j                   }	| j                  |	      }
d| j                  i}| j                  d| j                  z   |d<   d|v r,d|d<   t        j                  |j                  d            |d<   	 |j                  d	      }|rt        |d
      |d<   	 ||d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  j!                         s"| j                  j#                          d {    d }d }|
4 d {    t%        d      D ]  }|r|D ]  }|j'                  |        |r4t)        j*                  d      }|D ]  } |j,                  d3i |  ||d<   	  | j.                  j0                  ||fi |4 d {   }t2        j5                  d|||j7                  d      |j8                         t;        |       d {   }|j<                  j7                  d      }d|j<                  v }|||k7  r|dd}t2        j5                  ||||       || j                  |<   |
| j>                  | d|j                   <   | j>                  j                  |	d        nT|| j                  vrFd}t2        j5                  |||       || j                  |<   |
| j>                  | d|j                   <   |rU|j8                  dk7  rF|
jA                  || jB                         |
jD                  dk(  rt2        j5                  d|xs |       d|j8                  cxkD  rdk\  rAn n>t2        j5                  d|||       |cd d d       d {    c cd d d       d {    S |j8                  dk(  r|j<                  j7                  d       rtG        |tH              rtK        ||      |
jD                  dkD  r"t2        j5                  d!|||
jD                         |d"   }| jL                  r2|| jL                  kD  r#t2        jO                  d#|||       tQ        |      d$}t2        jO                  ||||       t2        j5                  d%||j                         |j7                  d&d      }|r0t2        jO                  d'|       | j                  jS                          tU        jV                  |       d {    t2        j5                  d(       |r/| j                  jY                          t2        j5                  d)       	 d d d       d {    	|j8                  d*v r6tU        jV                  d+|d,z  z          d {    	 d d d       d {    M|j8                  d-k(  rt[        ||      |j8                  d.k(  rt]        ||      |j8                  d/k\  rt_        ||      tK        ||       |'|j8                  d/k\  rt_        ||      tK        ||      te        d2      # t
        $ r | d|j                   }	Y w xY w# t
        $ r Y w xY w7 /7 #7 7 \7 7 7 w7 #7 7 # 1 d {  7  sw Y   nxY wC# t`        $ rC}|d0k  r8|jb                  d1v r*tU        jV                  d+|d,z  z          d {  7   Y d }~ d }~ww xY w# 1 d {  7  sw Y   y xY ww)4Nr   rB  zBot AuthorizationjsonrM   zContent-Typedatareasonz/ r   zX-Audit-Log-ReasonrO   r)  r*     )seekF)quote_fieldsz%s %s with %s has returned %szX-Ratelimit-Bucketr   z*A route (%s) has changed hashes: %s -> %s.z5%s has found its initial rate limit bucket hash (%s).i  r   r   zKA rate limit bucket (%s) has been exhausted. Pre-emptively rate limiting...r     z%s %s has received %sViazS%s %s received a 429 despite having %s remaining requests. This is a sub-ratelimit.retry_afterzdWe are being rate limited. %s %s responded with 429. Timeout of %.2f was too long, erroring instead.zNWe are being rate limited. %s %s responded with 429. Retrying in %.2f seconds.zFRate limit is being handled by bucket hash %s with %r major parametersglobalz9Global rate limit has been hit. Retrying in %.2f seconds.z-Done sleeping for the rate limit. Retrying...zGlobal rate limit is now over.>           r          ra     )6   iF'  z!Unreachable code in HTTP handlingr]   )3r   r   r   r2  r   rQ   rO  r;  r5  r"   r   popr   r)  r*  r4  is_setr  ranger   r:  FormData	add_fieldr1  request_logdebugr   statusrT   rO   r3  r   r   r   r   r   r   r   warningr   r>  r   r  setr   r   r   OSErrorerrnoRuntimeError)r_   routerZ   rQ  rH  r   r   	route_keybucket_hashr   	ratelimitrO   rV  rR   rU  triesf	form_dataparamsdiscord_hashhas_ratelimit_headersfmtr\  	is_globalr   s                            rS   rl  zHTTPClient.requestM  s0     iiII		<--i8K !M5#9#9":;C&&s+	 $//#
 ::!'-

':GO$V&8GN#"^^FJJv,>?F6N	MZZ)F 09&t0L,-#y ::!"jjF7O??&#'??F<   '')##((***5959 V	D V	Dq L" ,U+,  ' 0 0e DI"& 6+	++5f56%.F6N@5t~~55fcLVL w@ w@PX

#BFCQWQ[Q[\bQcemetetu &2(%;; (0'7'7';';<P'Q 1H8K[K[0[-'3*l:#.#: +WC$(JJsI{L$YEQD$7$7	$B`iDMM\N!EDZDZC[2\$]$(MM$5$5c4$@%.d6I6I%I*aC$(JJsI|$LEQD$7$7	$B`iDMM\N!EDZDZC[2\$]0'#5 ) 0 0T^^ 0 T#,#6#6!#;$(JJ(u(4(A	%& 7C7 JJ'>TR#'cw@ w@ w@V	D V	D V	DD $??c1#+#3#3#7#7#>*TSVBW&3Hd&C C(22Q6 !%

$y$*$'$-$7$7	!" 26m1DK#99kDLfLf>f $ %K$*$'$/	!" '2+&> >"rC LLfc;G JJ h + % 6 6 )-5(AI( $-hju v $ 1 1 7 7 9")--"<<< JJ'VW  ) $ 1 1 5 5 7 $

+K L$Qw@ w@ w@V $??.BB")--EAI">>>$[w@ w@ w@` $??c1"+Hd";;%__3"*8T"::%__3"4Xt"DD"/$"??IL\ #??c),Xt<<#Hd33BCC  	:Kq!7!7 89C	:*  		  +V	Dw@  <	w@V	DZ =w@X ?Yw@ w@ w@ w@ w@t  qyQWW%;%mmA	M::: QV	D V	D V	Ds  '\Y A>\8Y- 	B\Y=\Z \!A![?"Z0%Z
&Z0)AZ*Z
+E6Z!Z0-Z	
.Z02[?4\ Z\EZZ
AZ$Z0/Z0Z04[?6,Z"Z
#Z(Z03Z4Z08[?:AZ5[?Y*&\)Y**\-	Y:6\9Y::\ \Z0Z	Z0\ZZ0ZZ0Z+Z" Z+'Z0.[?0	[<91[7*[-
+[70[?6[77[<<[??\\\\c                  K   i }| j                   | j                   |d<   | j                  | j                  |d<    | j                  j                  |fi |4 d {   }|j                  dk(  r)|j                          d {   cd d d       d {    S |j                  dk(  rt        |d      |j                  dk(  rt        |d      t        |d      7 ~7 Y7 K# 1 d {  7  sw Y   t        d	      xY ww)
Nr)  r*  rZ  rd  zasset not foundrc  zcannot retrieve assetzfailed to get assetUnreachable)
r)  r*  r1  r   ro  readr   r   r   rt  )r_   r   rH  resps       rS   get_from_cdnzHTTPClient.get_from_cdn  s     ::!"jjF7O??&#'??F< %4>>%%c4V4 	A 	A{{c!!YY[(	A 	A 	A #t%677#&=>>#D*?@@	A(	A 	A 	A 	A =))sg   AD CD  #C!CC!D CD AC!D C!D !C='C*(C=/D c                n   K   | j                   r#| j                   j                          d {    y y 7 wr\   )r1  rc   r^   s    rS   rc   zHTTPClient.close4  s+     >>..&&((( (s   *535c                V  K   | j                   t        u rt        j                  d      | _         t        j                  | j                   t
        | j                  d n| j                  gt        j                               | _        t        j                         | _        | j                  j                          | j                  }|| _        	 | j                  t        dd             d {   }|S 7 # t         $ r(}|| _        |j"                  dk(  rt%        d      | d }~ww xY ww)Nr   )r   )r0  ws_response_classtrace_configs
cookie_jarGET
/users/@mei  zImproper token has been passed.)r0  r#   r:  TCPConnectorClientSessionr   r,  DummyCookieJarr1  r   Eventr4  rq  r5  rl  r   r   ro  r   )r_   r5  	old_tokenrU  re   s        rS   static_loginzHTTPClient.static_login:  s     >>W$$11:DN ..nn<"&//"9$?P--/	
 $MMOJJ	
	eE<&@AAD  B 	"DJzzS "#DE3N		s<   CD)C5 ,C3-C5 1D)3C5 5	D&>#D!!D&&D)c                8    | j                  t        dd            S )NPOSTz/auth/logoutrl  r   r^   s    rS   logoutzHTTPClient.logoutU  s    ||E&.9::ra   c                H    d|i}| j                  t        dd|      |      S )N
recipientsr  z/users/{user_id}/channelsuser_idrT  r  )r_   r  r  rW   s       rS   start_groupzHTTPClient.start_groupZ  s.    *
 ||E&*EwW^e|ffra   c                <    | j                  t        dd|            S )NDELETE/channels/{channel_id}r   r  r_   r   s     rS   leave_groupzHTTPClient.leave_groupa  s    ||E(,DQ[\]]ra   c                D    d|i}| j                  t        dd      |      S )Nrecipient_idr  z/users/@me/channelsr  r  )r_   r  rW   s      rS   start_private_messagez HTTPClient.start_private_messagef  s+    G
 ||E&*?@w|OOra   c                   t        dd|      }|j                  r(| j                  ||j                  |j                        S | j                  ||j                        S )Nr  /channels/{channel_id}/messagesr  rP  r  r   rZ   rl  rX   rW   )r_   r   r|  rs       rS   send_messagezHTTPClient.send_messagem  sP     &;
S<<<<F<L<L<MM<<<77ra   c                <    | j                  t        dd|            S )Nr  z/channels/{channel_id}/typingr  r  r  s     rS   send_typingzHTTPClient.send_typingy  s    ||E&*IV`abbra   rV  c                   t        j                         t        j                  t        |            z
  }d }|t	        j
                  d      k  rd}n|t	        j
                  d      k\  rd}t        dd|||	      }| j                  ||
      S )Nr   )secondszsub-10-seconds   )dayszolder-than-two-weeksr  ,/channels/{channel_id}/messages/{message_id})r   
message_idr   r  )r"   utcnowsnowflake_timer   r   	timedeltar   rl  )r_   r   r  rV  
differencer   r  s          rS   delete_messagezHTTPClient.delete_message|  s     \\^e&:&:3z?&KK
"&++B77'H8--266-H:!!
 ||Af|--ra   c               N    t        dd|      }d|i}| j                  |||      S )Nr  z+/channels/{channel_id}/messages/bulk-deleter  messagesrT  rV  r   rl  )r_   r   message_idsrV  r  rW   s         rS   delete_messageszHTTPClient.delete_messages  s7     &GT^_
 ||AGF|;;ra   c                   t        dd||      }|j                  r(| j                  ||j                  |j                        S | j                  ||j                        S )NPATCHr  r   r  rP  r  r  )r_   r   r  r|  r  s        rS   edit_messagezHTTPClient.edit_message  sT     'IV`mwx<<<<F<L<L<MM<<<77ra   c                D    t        dd|||      }| j                  |      S )NPUTB/channels/{channel_id}/messages/{message_id}/reactions/{emoji}/@mer   r  r/   r  r_   r   r  r/   r  s        rS   add_reactionzHTTPClient.add_reaction  s+    P!!
 ||Ara   c                F    t        dd||||      }| j                  |      S )Nr  zJ/channels/{channel_id}/messages/{message_id}/reactions/{emoji}/{member_id})r   r  	member_idr/   r  )r_   r   r  r/   r  r  s         rS   remove_reactionzHTTPClient.remove_reaction  s0     X!!
 ||Ara   c                D    t        dd|||      }| j                  |      S )Nr  r  r  r  r  s        rS   remove_own_reactionzHTTPClient.remove_own_reaction  s+    P!!
 ||Ara   c                l    t        dd|||      }d|i}|r||d<   |||d<   | j                  ||      S )Nr  >/channels/{channel_id}/messages/{message_id}/reactions/{emoji}r  r   afterr  r|  r  )	r_   r   r  r/   r   r  r  r  r|  s	            rS   get_reaction_userszHTTPClient.get_reaction_users  s[     L!!
 U"
 #F7O!F6N||Af|--ra   c                B    t        dd||      }| j                  |      S )Nr  z6/channels/{channel_id}/messages/{message_id}/reactionsr  r  r_   r   r  r  s       rS   clear_reactionszHTTPClient.clear_reactions  s(    D!!	
 ||Ara   c                D    t        dd|||      }| j                  |      S )Nr  r  r  r  r  s        rS   clear_single_reactionz HTTPClient.clear_single_reaction  s+    L!!
 ||Ara   c                B    t        dd||      }| j                  |      S )Nr  r  r  r  r  s       rS   get_messagezHTTPClient.get_message  s#    %GT^kuv||Ara   c                @    t        dd|      }| j                  |      S )Nr  r  r  r  )r_   r   r  s      rS   get_channelzHTTPClient.get_channel  s    %1jI||Ara   c                r    d|i}|||d<   |||d<   |||d<   | j                  t        dd|      |      S )	Nr   beforer  aroundr  r  r  r  r  )r_   r   r   r  r  r  r|  s          rS   	logs_fromzHTTPClient.logs_from  s`     U"
 %F8#F7O%F8||E%)JWabkq|rrra   c                >    | j                  t        dd||            S )Nr  z6/channels/{channel_id}/messages/{message_id}/crosspostr  r  r_   r   r  s      rS   publish_messagezHTTPClient.publish_message  s'    ||H%%	
 	
ra   c                F    t        dd||      }| j                  ||      S )Nr  1/channels/{channel_id}/messages/pins/{message_id}r  r  r  r_   r   r  rV  r  s        rS   pin_messagezHTTPClient.pin_message  s-    ?!!	
 ||Af|--ra   c                F    t        dd||      }| j                  ||      S )Nr  r  r  r  r  r  s        rS   unpin_messagezHTTPClient.unpin_message%  s-    ?!!	
 ||Af|--ra   c                `    i }|||d<   |||d<   | j                  t        dd|      |      S )Nr  r   r  z$/channels/{channel_id}/messages/pinsr  r  r  )r_   r   r   r  r|  s        rS   	pins_fromzHTTPClient.pins_from.  sG     %F8#F7O||E%)O\fgpv|wwra   c                F    t        dd||      }| j                  ||      S )Nr  $/guilds/{guild_id}/members/{user_id}r   r  r  r  r_   r  r   rV  r  s        rS   kickzHTTPClient.kick>  s'    (BX_fg||Af|--ra   c                P    t        dd||      }d|i}| j                  |||      S )Nr  !/guilds/{guild_id}/bans/{user_id}r  delete_message_seconds)r|  rV  r  )r_   r  r   r  rV  r  r|  s          rS   banzHTTPClient.banB  s:     %<xY`a$&<
 ||AfV|<<ra   c               F    t        dd||      }| j                  ||      S )Nr  r  r  r  r  r  s        rS   unbanzHTTPClient.unbanP  s'    (?(\cd||Af|--ra   c                P    t        dd|      }||d}| j                  |||      S )Nr  z/guilds/{guild_id}/bulk-banr   )user_idsr  r  r  )r_   r   r  r  rV  r  rW   s          rS   bulk_banzHTTPClient.bulk_banT  s7     &7(K &<
 ||AGF|;;ra   )mutedeafenrV  c               h    t        dd||      }i }|||d<   |||d<   | j                  |||      S )Nr  r  r  r  deafr  r  )r_   r  r   r  r  rV  r  rW   s           rS   guild_voice_statezHTTPClient.guild_voice_stateb  sN     'AH^ef"GFO$GFO||AGF|;;ra   c                <    | j                  t        dd      |      S )Nr  r  r  r  )r_   rW   s     rS   edit_profilezHTTPClient.edit_profileu  s    ||E'<8w|GGra   c               F    t        dd|      }| j                  |||      S )Nr  z/guilds/{guild_id}/members/@mer  r  r  r_   r   rV  fieldsr  s        rS   edit_my_memberzHTTPClient.edit_my_memberx  s(     ';hO||AF6|::ra   c               P    t        dd||      }d|i}| j                  |||      S )Nr  r  r  nickr  r  )r_   r   r  nicknamerV  r  rW   s          rS   change_nicknamezHTTPClient.change_nickname  s9     'AH^efH
 ||AGF|;;ra   c                D    t        dd|      }| j                  ||      S )Nr  #/guilds/{guild_id}/voice-states/@mer  r  r  )r_   r   rW   r  s       rS   edit_my_voice_statezHTTPClient.edit_my_voice_state  s$    '@8T||AG|,,ra   c                F    t        dd||      }| j                  ||      S )Nr  )/guilds/{guild_id}/voice-states/{user_id}r  r  r  )r_   r   r  rW   r  s        rS   edit_voice_statezHTTPClient.edit_voice_state  s(    'FQYcjk||AG|,,ra   c               H    t        dd||      }| j                  |||      S )Nr  r  r  r  r  )r_   r   r  rV  r  r  s         rS   edit_memberzHTTPClient.edit_member  s+     'AH^ef||AF6|::ra   c                <    | j                  t        dd|            S )Nr  r
  r  r  r_   r   s     rS   get_my_voice_statezHTTPClient.get_my_voice_state  s    ||E%)NYabccra   c                >    | j                  t        dd||            S )Nr  r  r  r  )r_   r   r  s      rS   get_voice_statezHTTPClient.get_voice_state  s    ||E%)T_gqxyzzra   c                   t        dd|      }d}|j                         D ci c]  \  }}||v s|| }}}| j                  |||      S c c}}w )Nr  r  r  )r   	parent_idtopicbitratensfw
user_limitpositionpermission_overwritesrate_limit_per_userr  
rtc_regionvideo_quality_modearchivedauto_archive_durationr  	invitabledefault_auto_archive_durationrt   "default_thread_rate_limit_per_userdefault_reaction_emojiavailable_tagsr   default_forum_layoutdefault_sort_orderrV  rT  r   r   rl  )	r_   r   rV  optionsr  
valid_keysr   r   rW   s	            rS   edit_channelzHTTPClient.edit_channel  s^     '3
K

6 %,MMOGDAqqJ1a4GG||Af7|;; Hs
   AAc               N    t        dd|      }d|i}| j                  |||      S )Nr  z#/channels/{channel_id}/voice-statusr  ro  r*  r  )r_   ro  r   rV  r  rW   s         rS   edit_voice_channel_statusz$HTTPClient.edit_voice_channel_status  s2     %>:VV$||Af7|;;ra   c               F    t        dd|      }| j                  |||      S )Nr  /guilds/{guild_id}/channelsr  r  r  )r_   r   rU  rV  r  s        rS   bulk_channel_updatezHTTPClient.bulk_channel_update  s(     '88L||AD|88ra   c                   d|i}d}|j                  |j                         D ci c]  \  }}||v s||| c}}       | j                  t        dd|      ||      S c c}}w )Nr  )r   r  r  r  r  r  r  r  r  r  r   r$  r%  r)  r&  r(  r'  r  r2  r  r  )r   r   rl  r   )	r_   r   channel_typerV  r,  rW   r-  r   r   s	            rS   create_channelzHTTPClient.create_channel  sr     L


& 	^AAOPQP]1^_||E&*GRZ[birx|yy _s   A"
A"
A"
c               @    | j                  t        dd|      |      S )Nr  r  r  r  r  r_   r   rV  s      rS   delete_channelzHTTPClient.delete_channel  s#     ||E(,DQ[\ek|llra   )r  rV  c               T    |||d}t        dd||      }| j                  |||      S )N)r   r"  r  r  z4/channels/{channel_id}/messages/{message_id}/threadsr  r  r  )	r_   r   r  r   r"  r  rV  rW   ru  s	            rS   start_thread_with_messagez$HTTPClient.start_thread_with_message  sC     %:#6
 JWanx
 ||E|??ra   )r#  r  rV  c               V    |||||d}t        dd|      }	| j                  |	||      S )N)r   r"  r  r#  r  r  /channels/{channel_id}/threadsr  r  r  )
r_   r   r   r"  r  r#  r  rV  rW   ru  s
             rS   start_thread_without_messagez'HTTPClient.start_thread_without_message$  s@     %:"#6
 f>:V||E|??ra   c                   ddi}t        dd|      }|j                  r*| j                  ||j                  |j                  ||      S | j                  ||j                  ||      S )Nuse_nested_fieldsr   r  r=  r  )rZ   rQ  r|  rV  )rT  r|  rV  r  )r_   r   r|  rV  queryr  s         rS   start_thread_in_forumz HTTPClient.start_thread_in_forum:  sd     %a(&:zR<<<<F<L<LUZci<jj<<uV<TTra   c                <    | j                  t        dd|            S )Nr  )/channels/{channel_id}/thread-members/@mer  r  r  s     rS   join_threadzHTTPClient.join_threadH  s    ||E%)Taklmmra   c                >    | j                  t        dd||            S )Nr  //channels/{channel_id}/thread-members/{user_id}r   r  r  )r_   r   r  s      rS   add_user_to_threadzHTTPClient.add_user_to_threadK  s$    ||%JWakrs
 	
ra   c                <    | j                  t        dd|            S )Nr  rD  r  r  r  s     rS   leave_threadzHTTPClient.leave_threadP  s    ||E(,Wdnoppra   c                B    t        dd||      }| j                  |      S )Nr  rG  rH  r  r_   r   r  ru  s       rS   remove_user_from_threadz"HTTPClient.remove_user_from_threadS  s$    h Q^hryz||E""ra   c                `    t        dd|      }i }|r||d<   ||d<   | j                  ||      S )Nr  z./channels/{channel_id}/threads/archived/publicr  r  r   r  r  r_   r   r  r   ru  r|  s         rS   get_public_archived_threadsz&HTTPClient.get_public_archived_threadsW  sB     eMZde%F8w||E&|11ra   c                `    t        dd|      }i }|r||d<   ||d<   | j                  ||      S )Nr  z//channels/{channel_id}/threads/archived/privater  r  r   r  r  rP  s         rS   get_private_archived_threadsz'HTTPClient.get_private_archived_threadsb  sB     eN[ef%F8w||E&|11ra   c                `    t        dd|      }i }|r||d<   ||d<   | j                  ||      S )Nr  z9/channels/{channel_id}/users/@me/threads/archived/privater  r  r   r  r  rP  s         rS   #get_joined_private_archived_threadsz.HTTPClient.get_joined_private_archived_threadsm  sB     eXeop%F8w||E&|11ra   c                @    t        dd|      }| j                  |      S )Nr  z!/guilds/{guild_id}/threads/activer  r  )r_   r   ru  s      rS   get_active_threadszHTTPClient.get_active_threadsw  s     e@8T||E""ra   c                B    t        dd||      }| j                  |      S )Nr  rG  rH  r  rM  s       rS   get_thread_memberzHTTPClient.get_thread_member{  s$    eN[eovw||E""ra   c                @    t        dd|      }| j                  |      S )Nr  z%/channels/{channel_id}/thread-membersr  r  )r_   r   ru  s      rS   get_thread_memberszHTTPClient.get_thread_members  s!    eDQ[\||E""ra   )avatarrV  c               \    d|i}|||d<   t        dd|      }| j                  |||      S )Nr   r\  r  /channels/{channel_id}/webhooksr  r  r  )r_   r   r   r\  rV  rW   r  s          rS   create_webhookzHTTPClient.create_webhook  sF     D#
  &GH&;
S||AGF|;;ra   c                <    | j                  t        dd|            S )Nr  r^  r  r  r  s     rS   channel_webhookszHTTPClient.channel_webhooks  s    ||E%)JWabccra   c                <    | j                  t        dd|            S )Nr  z/guilds/{guild_id}/webhooksr  r  r  s     rS   guild_webhookszHTTPClient.guild_webhooks      ||E%)FQYZ[[ra   c                <    | j                  t        dd|            S )Nr  z/webhooks/{webhook_id})r   r  )r_   r   s     rS   get_webhookzHTTPClient.get_webhook      ||E%)AjYZZra   c                \    dt        |      i}| j                  t        dd|      ||      S )Nwebhook_channel_idr  z /channels/{channel_id}/followersr  r  )r   rl  r   )r_   r   ri  rV  rW   s        rS   follow_webhookzHTTPClient.follow_webhook  sA     !#&8"9
 ||&<T[bkq  
 	
ra   c                t    |t        |      d}|r||d<   |r||d<   | j                  t        dd      |      S )N)r   with_countsr  r  r  z/users/@me/guildsr  r   rl  r   )r_   r   r  r  rl  r|  s         rS   
get_guildszHTTPClient.get_guilds  sL     {+"

 %F8#F7O||E%)<=f|MMra   c                <    | j                  t        dd|            S )Nr  z/users/@me/guilds/{guild_id}r  r  r  s     rS   leave_guildzHTTPClient.leave_guild  s    ||E(,JU]^__ra   )rl  c               Z    dt        |      i}| j                  t        dd|      |      S )Nrl  r  /guilds/{guild_id}r  r  rm  )r_   r   rl  r|  s       rS   	get_guildzHTTPClient.get_guild  s/    [!12||E%)=QZ`|aara   c                <    | j                  t        dd|            S )Nr  z/guilds/{guild_id}/previewr  r  r  s     rS   get_guild_previewzHTTPClient.get_guild_preview      ||E%)EPXYZZra   c                <    | j                  t        dd|            S )Nr  rr  r  r  r  s     rS   delete_guildzHTTPClient.delete_guild  s    ||E(,@8TUUra   c                R    d|i}|r||d<   | j                  t        dd      |      S )Nr   iconr  z/guildsr  r  )r_   r   rz  rW   s       rS   create_guildzHTTPClient.create_guild  s6    D
 "GFO||E&)47|CCra   c                   d}|j                         D ci c]  \  }}||v s|| }}}| j                  t        dd|      ||      S c c}}w )N)r   regionrz  afk_timeoutowner_idafk_channel_idsplashdiscovery_splashfeaturesverification_levelsystem_channel_iddefault_message_notificationsdescriptionexplicit_content_filterbannersystem_channel_flagsrules_channel_idpublic_updates_channel_idpreferred_localepremium_progress_bar_enabledsafety_alerts_channel_idr  rr  r  r  r   rl  r   r_   r   rV  r  r-  r   r   rW   s           rS   
edit_guildzHTTPClient.edit_guild  sY    

0 %+LLNFDAqa:o1a4FF||E'+?(SZajp|qq G
   AAc               J    d|i}| j                  t        dd|      ||      S )Nlevelr  z/guilds/{guild_id}/mfar  r  r  )r_   r   	mfa_levelrV  rW   s        rS   edit_guild_mfa_levelzHTTPClient.edit_guild_mfa_level  s/     I&||E&*BXV]dms|ttra   c                <    | j                  t        dd|            S )Nr  /guilds/templates/{code}coder  )r_   r  s     rS   get_templatezHTTPClient.get_template  s    ||E%)C$OPPra   c                <    | j                  t        dd|            S )Nr  /guilds/{guild_id}/templatesr  r  r  s     rS   guild_templateszHTTPClient.guild_templates  s    ||E%)GRZ[\\ra   c                @    | j                  t        dd|      |      S )Nr  r  r  r  r  r_   r   rW   s      rS   create_templatezHTTPClient.create_template   s!    ||E&*HS[\cj|kkra   c                >    | j                  t        dd||            S )Nr  #/guilds/{guild_id}/templates/{code}r   r  r  r_   r   r  s      rS   sync_templatezHTTPClient.sync_template  s    ||E%)NYahlmnnra   c                    d}|j                         D ci c]  \  }}||v s|| }}}| j                  t        dd||      |      S c c}}w )N)r   r  r  r  r  r  r  )r_   r   r  rW   r-  r   r   s          rS   edit_templatezHTTPClient.edit_template  sa    

 %,MMOGDAqqJ1a4GG||'@8Z^_fm  
 	
 Hr  c                >    | j                  t        dd||            S )Nr  r  r  r  r  s      rS   delete_templatezHTTPClient.delete_template  s    ||E(,Q\dkopqqra   c                V    d|i}|r||d<   | j                  t        dd|      |      S )Nr   rz  r  r  r  r  r  )r_   r  r   rz  rW   s        rS   create_from_templatezHTTPClient.create_from_template  s:    D
 "GFO||E&*D4PW^|__ra   c                d    d|i}|||d<   |||d<   | j                  t        dd|      |      S )Nr   r  r  r  z/guilds/{guild_id}/bansr  r  r  )r_   r   r   r  r  r|  s         rS   get_banszHTTPClient.get_bans  sO     U"
 %F8#F7O||E%)BXV_e|ffra   c                <    | j                  t        dd|            S )Nr  !/guilds/{guild_id}/welcome-screenr  r  r  s     rS   get_welcome_screenzHTTPClient.get_welcome_screen,  s    ||E%)LW_`aara   c                   d}|j                         D ci c]  \  }}||v s|| }}}| j                  t        dd|      ||      S c c}}w )N)r  welcome_channelsenabledr  r  r  r  r  r  s           rS   edit_welcome_screenzHTTPClient.edit_welcome_screen/  sa    


 %+LLNFDAqa:o1a4FF||'>RY`io  
 	
 Gr  c                >    | j                  t        dd||            S )Nr  r  r  r  )r_   r  r   s      rS   get_banzHTTPClient.get_ban<  s    ||E%)LW_ipqrrra   c                <    | j                  t        dd|            S )Nr  /guilds/{guild_id}/vanity-urlr  r  r  s     rS   get_vanity_codezHTTPClient.get_vanity_code?      ||E%)HS[\]]ra   c               J    d|i}| j                  t        dd|      ||      S )Nr  r  r  r  r  r  )r_   r   r  rV  rW   s        rS   change_vanity_codezHTTPClient.change_vanity_codeB  s-    #)4.||E'+JU]^elu{|||ra   c                <    | j                  t        dd|            S )Nr  r2  r  r  r  s     rS   get_all_guild_channelsz!HTTPClient.get_all_guild_channelsF  rd  ra   c                Z    d|i}|r||d<   t        dd|      }| j                  ||      S )Nr   r  r  z/guilds/{guild_id}/membersr  r  r  )r_   r   r   r  r|  r  s         rS   get_memberszHTTPClient.get_membersI  s@     U"
 #F7O%5I||Af|--ra   c                >    | j                  t        dd||            S )Nr  z&/guilds/{guild_id}/members/{member_id})r   r  r  )r_   r   r  s      rS   
get_memberzHTTPClient.get_memberU  s    ||E%)Q\dpyz{{ra   c                   ||rdndd}|rdj                  |      |d<   | j                  t        dd|      ||	      S )
Ntruefalse)r  compute_prune_count, include_rolesr  /guilds/{guild_id}/pruner  r  r   rl  r   )r_   r   r  r  rolesrV  rW   s          rS   prune_memberszHTTPClient.prune_membersX  sN     -@6g#
 '+yy'7GO$||E&*DxX_fou|vvra   c                t    d|i}|rdj                  |      |d<   | j                  t        dd|      |      S )Nr  r  r  r  r  r  r  r  )r_   r   r  r  r|  s        rS   estimate_pruned_membersz"HTTPClient.estimate_pruned_membersj  sF     D"
 &*ii&6F?#||E%)ChW`f|ggra   c                <    | j                  t        dd|            S )Nr  z/stickers/{sticker_id})
sticker_idr  )r_   r  s     rS   get_stickerzHTTPClient.get_stickerx  rg  ra   c                <    | j                  t        dd|            S )Nr  z /sticker-packs/{sticker_pack_id})sticker_pack_idr  )r_   r  s     rS   get_sticker_packzHTTPClient.get_sticker_pack{  s    ||E%)K]lmnnra   c                8    | j                  t        dd            S )Nr  z/sticker-packsr  r^   s    rS   list_premium_sticker_packsz%HTTPClient.list_premium_sticker_packs~  s    ||E%)9:;;ra   c                <    | j                  t        dd|            S )Nr  /guilds/{guild_id}/stickersr  r  r  s     rS   get_all_guild_stickersz!HTTPClient.get_all_guild_stickers  rd  ra   c                >    | j                  t        dd||            S )Nr  (/guilds/{guild_id}/stickers/{sticker_id}r   r  r  )r_   r   r  s      rS   get_guild_stickerzHTTPClient.get_guild_sticker  s#    ||%Chcmn
 	
ra   c                   |j                   j                  d      }	 t        j                  |      }|j                          d|j                   |j                  |dg}|j                         D ]  \  }}	|j                  ||	d        | j                  t        dd	|
      ||g|      S # t        $ r |j                  d      rd}nd}Y w xY w# |j                          w xY w)N      {rM   r   rg   r   r   r  r  r  )rQ  rZ   rV  )r   r  r"   _get_mime_type_for_imager   
startswithr   r   r   r   rl  r   )
r_   r   rW   rg   rV  initial_bytes	mime_typerQ  r   r   s
             rS   create_guild_stickerzHTTPClient.create_guild_sticker  s     R(	66}EI JJL  MM )	&
 MMO 	DAqKK	 ||&7(KRV_c^dms  
 	
3  	7''-.	6			7 JJLs#   B, ,CC CC C#c                D    | j                  t        dd||      ||      S )Nr  r  r  r  r  )r_   r   r  rW   rV  s        rS   modify_guild_stickerzHTTPClient.modify_guild_sticker  s1     ||'EPXeop  
 	
ra   c                B    | j                  t        dd||      |      S )Nr  r  r  r  r  )r_   r   r  rV  s       rS   delete_guild_stickerzHTTPClient.delete_guild_sticker  s,    ||(FQYfpq  
 	
ra   c                <    | j                  t        dd|            S )Nr  /guilds/{guild_id}/emojisr  r  r  s     rS   get_all_custom_emojisz HTTPClient.get_all_custom_emojis  s    ||E%)DxXYYra   c                >    | j                  t        dd||            S )Nr  $/guilds/{guild_id}/emojis/{emoji_id}r   emoji_idr  )r_   r   r  s      rS   get_custom_emojizHTTPClient.get_custom_emoji  s    ||E%)OZbmuvwwra   )r  rV  c               Z    |||xs g d}t        dd|      }| j                  |||      S )N)r   imager  r  r  r  r  r  )r_   r   r   r  r  rV  rW   r  s           rS   create_custom_emojizHTTPClient.create_custom_emoji  s>     [b
 &5I||AGF|;;ra   c               F    t        dd||      }| j                  ||      S )Nr  r  r  r  r  )r_   r   r  rV  r  s        rS   delete_custom_emojizHTTPClient.delete_custom_emoji  s)     (BX`hi||Af|--ra   c               H    t        dd||      }| j                  |||      S )Nr  r  r  r  r  )r_   r   r  rW   rV  r  s         rS   edit_custom_emojizHTTPClient.edit_custom_emoji  s+     'AH_gh||AGF|;;ra   c                @    t        dd|      }| j                  |      S )Nr  /guilds/{guild_id}/integrationsr  r  )r_   r   r  s      rS   get_all_integrationszHTTPClient.get_all_integrations  s    %:XN||Ara   c                N    ||d}t        dd|      }| j                  ||      S )N)r  idr  r  r  r  r  )r_   r   r  r  rW   r  s         rS   create_integrationzHTTPClient.create_integration  s3    

 &;hO||AG|,,ra   c                F    t        dd||      }| j                  ||      S )Nr  0/guilds/{guild_id}/integrations/{integration_id}r   integration_idr  r  )r_   r   r  rW   r  s        rS   edit_integrationzHTTPClient.edit_integration  s-    GRZky
 ||AG|,,ra   c                B    t        dd||      }| j                  |      S )Nr  z5/guilds/{guild_id}/integrations/{integration_id}/syncr  r  )r_   r   r  r  s       rS   sync_integrationzHTTPClient.sync_integration  s(    KV^o}
 ||Ara   c               F    t        dd||      }| j                  ||      S )Nr  r  r  r  r  )r_   r   r  rV  r  s        rS   delete_integrationzHTTPClient.delete_integration	  s/     HS[lz
 ||Af|--ra   c                    d|i}|r||d<   |||d<   |r||d<   |r||d<   t        dd|      }| j                  ||	      S )
Nr   r  r  r  action_typer  z/guilds/{guild_id}/audit-logsr  r  r  )	r_   r   r   r  r  r  r  r|  r  s	            rS   get_audit_logszHTTPClient.get_audit_logs  sf     #*5!1%F8#F7O 'F9$/F=!%88L||Af|--ra   c                <    | j                  t        dd|            S )Nr  z/guilds/{guild_id}/widget.jsonr  r  r  s     rS   
get_widgetzHTTPClient.get_widget(  s    ||E%)IT\]^^ra   c                B    | j                  t        dd|      ||      S )Nr  z/guilds/{guild_id}/widgetr  r  r  )r_   r   rW   rV  s       rS   edit_widgetzHTTPClient.edit_widget+  s&     ||E'+FQYZahqw|xxra   c                @    | j                  t        dd|      |      S )Nr  z#/guilds/{guild_id}/incident-actionsr  r  r  r  s      rS   edit_incident_actionsz HTTPClient.edit_incident_actions0  s!    ||E%)NYabip|qqra   F)	rV  max_agemax_uses	temporaryuniquetarget_typetarget_user_idtarget_application_idrt   c       	            t        dd|      }||||d}|r||d<   |r||d<   |	rt        |	      |d<   |
r|
|d<   | j                  |||	      S )
Nr  /channels/{channel_id}/invitesr  )r  r  r  r  r  r  r  rt   r*  )r   r   rl  )r_   r   rV  r  r  r  r  r  r  r  rt   r  rW   s                rS   create_invitezHTTPClient.create_invite5  sy     &:zR "	
 %0GM"(6G$% /23H/IG+,$GG||Af7|;;ra   )rl  guild_scheduled_event_idc               h    dt        |      i}|r||d<   | j                  t        dd|      |      S )Nrl  r  r  /invites/{invite_id}	invite_idr  rm  )r_   r!  rl  r  r|  s        rS   
get_invitezHTTPClient.get_inviteY  sC     3{+"
 $1IF-.||E%)?9U^d|eera   c                <    | j                  t        dd|            S )Nr  z/guilds/{guild_id}/invitesr  r  r  s     rS   invites_fromzHTTPClient.invites_fromi  rv  ra   c                <    | j                  t        dd|            S )Nr  r  r  r  r  s     rS   invites_from_channelzHTTPClient.invites_from_channell  s    ||E%)IV`abbra   c               @    | j                  t        dd|      |      S )Nr  r  r   r  r  )r_   r!  rV  s      rS   delete_invitezHTTPClient.delete_inviteo  s     ||E(,BiXag|hhra   c                <    | j                  t        dd|            S )Nr  /guilds/{guild_id}/rolesr  r  r  s     rS   	get_roleszHTTPClient.get_rolest  s    ||E%)ChWXXra   c                >    | j                  t        dd||            S )Nr  "/guilds/{guild_id}/roles/{role_id}r   role_idr  )r_   r   r/  s      rS   get_rolezHTTPClient.get_rolew  s    ||E%)MX`jqrssra   c                <    | j                  t        dd|            S )Nr  z&/guilds/{guild_id}/roles/member-countsr  r  r  s     rS   get_role_member_countsz!HTTPClient.get_role_member_countsz  s    ||E%)Q\deffra   c                   t        dd||      }d}|j                         D ci c]  \  }}||v s|| }	}}| j                  ||	|      S c c}}w )Nr  r-  r.  )r   permissionscolorhoistrz  unicode_emojimentionablecolorsr  r+  )
r_   r   r/  rV  r  r  r-  r   r   rW   s
             rS   	edit_rolezHTTPClient.edit_role}  s]     '?(\cdp
$*LLNFDAqa:o1a4FF||AGF|;; Gs
   AAc               F    t        dd||      }| j                  ||      S )Nr  r-  r.  r  r  )r_   r   r/  rV  r  s        rS   delete_rolezHTTPClient.delete_role  s'    (@8]de||Af|--ra   c               ,    | j                  ||||      S )N)r   r  r  rV  r  )r_   r  r   role_idsrV  s        rS   replace_roleszHTTPClient.replace_roles  s     7([abbra   c               F    t        dd|      }| j                  |||      S )Nr  r*  r  r  r  r  s        rS   create_rolezHTTPClient.create_role  s&    &4xH||AF6|::ra   c               F    t        dd|      }| j                  |||      S )Nr  r*  r  r  r  )r_   r   	positionsrV  r  s        rS   move_role_positionzHTTPClient.move_role_position  s(     '5I||AIf|==ra   c               H    t        dd|||      }| j                  ||      S )Nr  4/guilds/{guild_id}/members/{user_id}/roles/{role_id}r   r  r/  r  r  r_   r   r  r/  rV  r  s         rS   add_rolezHTTPClient.add_role  s2     B
 ||Af|--ra   c               H    t        dd|||      }| j                  ||      S )Nr  rG  rH  r  r  rI  s         rS   remove_rolezHTTPClient.remove_role  s2     B
 ||Af|--ra   c               V    ||||d}t        dd||      }| j                  |||      S )N)r  allowdenyr  r  +/channels/{channel_id}/permissions/{target}r   targetr  r  )	r_   r   rR  rN  rO  r  rV  rW   r  s	            rS   edit_channel_permissionsz#HTTPClient.edit_channel_permissions  s:      %tL%FS]flm||AGF|;;ra   c               F    t        dd||      }| j                  ||      S )Nr  rP  rQ  r  r  )r_   r   rR  rV  r  s        rS   delete_channel_permissionsz%HTTPClient.delete_channel_permissions  s*     (IV`iop||Af|--ra   c               ,    | j                  ||||      S )N)r   r  r   rV  r>  )r_   r  r   r   rV  s        rS   move_memberzHTTPClient.move_member  s     7zbhiira   c                <    | j                  t        dd|            S )Nr  /stage-instances/{channel_id}r  r  r  s     rS   get_stage_instancezHTTPClient.get_stage_instance  s    ||E%)HU_`aara   c                   d}|j                         D ci c]  \  }}||v s|| }}}| j                  t        dd      ||      S c c}}w )N)r   r  privacy_levelsend_start_notificationr  r  z/stage-instancesr  r  r_   rV  rW   r-  r   r   s         rS   create_stage_instancez HTTPClient.create_stage_instance  sV    

 %,MMOGDAqqJ1a4GG||E&*<=GTZ|[[ H
   A	A	c                   d}|j                         D ci c]  \  }}||v s|| }}}| j                  t        dd|      ||      S c c}}w )N)r  r\  r  rY  r  r  r  )r_   r   rV  rW   r-  r   r   s          rS   edit_stage_instancezHTTPClient.edit_stage_instance  sa    

 %,MMOGDAqqJ1a4GG||':zRY`io  
 	
 Hr  c               @    | j                  t        dd|      |      S )Nr  rY  r  r  r  r8  s      rS   delete_stage_instancez HTTPClient.delete_stage_instance  s!    ||E(,KXbclr|ssra   c                     y r\   r]   r_   r   with_user_counts      rS   get_scheduled_eventszHTTPClient.get_scheduled_events  s	     LOra   c                     y r\   r]   rf  s      rS   rh  zHTTPClient.get_scheduled_events  s     ?Bra   c                     y r\   r]   rf  s      rS   rh  zHTTPClient.get_scheduled_events      
 ra   c                Z    dt        |      i}| j                  t        dd|      |      S )Nrg  r  #/guilds/{guild_id}/scheduled-eventsr  r  rm  )r_   r   rg  r|  s       rS   rh  zHTTPClient.get_scheduled_events  s0    #S%9:||E%)NYabkq|rrra   c                   d}|j                         D ci c]  \  }}||v s|| }}}| j                  t        dd|      ||      S c c}}w )N)	r   entity_metadatar   r\  scheduled_start_timescheduled_end_timer  entity_typer  r  rm  r  r  r  r_   r   rV  rW   r-  r   r   s          rS   create_guild_scheduled_eventz'HTTPClient.create_guild_scheduled_event  sa    


 %,MMOGDAqqJ1a4GG||&?(SZajp  
 	
 Hr  c                     y r\   r]   r_   r   r  rg  s       rS   get_scheduled_eventzHTTPClient.get_scheduled_event#  s	     FIra   c                     y r\   r]   rv  s       rS   rw  zHTTPClient.get_scheduled_event(  s     9<ra   c                     y r\   r]   rv  s       rS   rw  zHTTPClient.get_scheduled_event-  rk  ra   c                \    dt        |      i}| j                  t        dd||      |      S )Nrg  r  >/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}r   r  r  rm  )r_   r   r  rg  r|  s        rS   rw  zHTTPClient.get_scheduled_event4  sB     $S%9:||P!)A	   
 	
ra   c                   d}|j                         D ci c]  \  }}||v s|| }}}| j                  t        dd||      ||      S c c}}w )N)
r   ro  r   r\  rp  rq  ro  r  rr  r  r  r{  r|  r  r  )r_   r   r  rV  rW   r-  r   r   s           rS   edit_scheduled_eventzHTTPClient.edit_scheduled_eventB  sj    

 %,MMOGDAqqJ1a4GG||P!)A	   	
 		
 H
   AAc               B    | j                  t        dd||      |      S )Nr  r{  r|  r  r  )r_   r   r  rV  s       rS   delete_scheduled_eventz!HTTPClient.delete_scheduled_event^  s3     ||P!)A	   
 	
ra   c                     y r\   r]   r_   r   r  r   with_memberr  r  s          rS   get_scheduled_event_usersz$HTTPClient.get_scheduled_event_userso  s	     CFra   c                     y r\   r]   r  s          rS   r  z$HTTPClient.get_scheduled_event_usersz  s     9<ra   c                     y r\   r]   r  s          rS   r  z$HTTPClient.get_scheduled_event_users  s	     y|ra   c                z    |t        |      d}|||d<   |||d<   | j                  t        dd||      |      S )N)r   r  r  r  r  zD/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}/usersr|  r  rm  )r_   r   r  r   r  r  r  r|  s           rS   r  z$HTTPClient.get_scheduled_event_users  sf     {+"

 %F8#F7O||V!)A	   
 	
ra   c                <    | j                  t        dd|            S )Nr  '/applications/{application_id}/commandsapplication_idr  r_   r  s     rS   get_global_commandszHTTPClient.get_global_commands  s    ||E%)Rcqrssra   c                B    t        dd||      }| j                  |      S )Nr  4/applications/{application_id}/commands/{command_id}r  
command_idr  r_   r  r  r  s       rS   get_global_commandzHTTPClient.get_global_command  s(    B)!	
 ||Ara   c                D    t        dd|      }| j                  ||      S )Nr  r  r  r  r  r_   r  rW   r  s       rS   upsert_global_commandz HTTPClient.upsert_global_command  s'     &CTbc||AG|,,ra   c                    d}|j                         D ci c]  \  }}||v s|| }}}t        dd||      }| j                  ||      S c c}}w )Nr   r  r,  r  r  r  r  r   r   rl  )r_   r  r  rW   r-  r   r   r  s           rS   edit_global_commandzHTTPClient.edit_global_command  sc    


 %,MMOGDAqqJ1a4GGB)!	
 ||AG|,, Hs
   AAc                B    t        dd||      }| j                  |      S )Nr  r  r  r  r  s       rS   delete_global_commandz HTTPClient.delete_global_command  s(    B)!	
 ||Ara   c                D    t        dd|      }| j                  ||      S )Nr  r  r  r  r  r  s       rS   bulk_upsert_global_commandsz&HTTPClient.bulk_upsert_global_commands  s'     %BSab||AG|,,ra   c                B    t        dd||      }| j                  |      S )Nr  9/applications/{application_id}/guilds/{guild_id}/commandsr  r   r  r_   r  r   r  s       rS   get_guild_commandszHTTPClient.get_guild_commands  s*     G)	
 ||Ara   c                D    t        dd|||      }| j                  |      S )Nr  F/applications/{application_id}/guilds/{guild_id}/commands/{command_id}r  r   r  r  r_   r  r   r  r  s        rS   get_guild_commandzHTTPClient.get_guild_command  s-     T)!
 ||Ara   c                F    t        dd||      }| j                  ||      S )Nr  r  r  r  r  r_   r  r   rW   r  s        rS   upsert_guild_commandzHTTPClient.upsert_guild_command 	  s/     G)	
 ||AG|,,ra   c                    d}|j                         D ci c]  \  }}||v s|| }}}t        dd|||      }| j                  ||      S c c}}w )Nr  r  r  r  r  r  )	r_   r  r   r  rW   r-  r   r   r  s	            rS   edit_guild_commandzHTTPClient.edit_guild_command	  sf    


 %,MMOGDAqqJ1a4GGT)!
 ||AG|,, Hs
   AAc                D    t        dd|||      }| j                  |      S )Nr  r  r  r  r  s        rS   delete_guild_commandzHTTPClient.delete_guild_command$	  s-     T)!
 ||Ara   c                F    t        dd||      }| j                  ||      S )Nr  r  r  r  r  r  s        rS   bulk_upsert_guild_commandsz%HTTPClient.bulk_upsert_guild_commands3	  s/     G)	
 ||AG|,,ra   c                B    t        dd||      }| j                  |      S )Nr  zE/applications/{application_id}/guilds/{guild_id}/commands/permissionsr  r  r  s       rS   )get_guild_application_command_permissionsz4HTTPClient.get_guild_application_command_permissionsA	  s*    
 S)	
 ||Ara   c                D    t        dd|||      }| j                  |      S )Nr  R/applications/{application_id}/guilds/{guild_id}/commands/{command_id}/permissionsr  r  r  s        rS   #get_application_command_permissionsz.HTTPClient.get_application_command_permissionsN	  s-     `)!
 ||Ara   c                H    t        dd|||      }| j                  ||      S )Nr  r  r  r  r  )r_   r  r   r  rW   r  s         rS   $edit_application_command_permissionsz/HTTPClient.edit_application_command_permissions]	  s2     `)!
 ||AG|,,ra   c                <    | j                  t        dd|            S )Nr  (/guilds/{guild_id}/auto-moderation/rulesr  r  r  s     rS   get_auto_moderation_rulesz$HTTPClient.get_auto_moderation_rulesm	  s    ||E%)S^fghhra   c                >    | j                  t        dd||            S )Nr  2/guilds/{guild_id}/auto-moderation/rules/{rule_id}r   rule_idr  )r_   r   r  s      rS   get_auto_moderation_rulez#HTTPClient.get_auto_moderation_rulep	  s$    ||%MX`jqr
 	
ra   c                   d}|j                         D ci c]  \  }}||v s||| }}}| j                  t        dd|      ||      S c c}}w )N)r   
event_typetrigger_typetrigger_metadataactionsr  exempt_rolesexempt_channelsr  r  r  r  r  rs  s          rS   create_auto_moderation_rulez&HTTPClient.create_auto_moderation_ruleu	  se    	

 %,MMOYDAqqJ1=1a4YY||&DxX_fou  
 	
 Z   AAAc                   d}|j                         D ci c]  \  }}||v s||| }}}| j                  t        dd||      ||      S c c}}w )N)r   r  r  r  r  r  r  r  r  r  r  r  )r_   r   r  rV  rW   r-  r   r   s           rS   edit_auto_moderation_rulez$HTTPClient.edit_auto_moderation_rule	  si    

 %,MMOYDAqqJ1=1a4YY||'OZblst  
 	
 Zs   AAAc               B    | j                  t        dd||      |      S )Nr  r  r  r  r  )r_   r   r  rV  s       rS   delete_auto_moderation_rulez&HTTPClient.delete_auto_moderation_rule	  s.     ||(P[cmtu  
 	
ra   c                <    | j                  t        dd|            S )Nr  z#/applications/{application_id}/skusr  r  r  s     rS   get_skuszHTTPClient.get_skus	  s    ||E%)N_mnoora   c
                   i }
|||
d<   |"dj                  t        t        |            |
d<   |||
d<   |||
d<   |||
d<   |||
d<   |t        |      |
d<   |	t        |	      |
d	<   | j	                  t        d
d|      |
      S )Nr  ,sku_idsr  r  r   r   exclude_endedexclude_deletedr  +/applications/{application_id}/entitlementsr  r  )r   mapr   r   rl  r   )r_   r  r  r  r  r  r   r   r  r  r|  s              rS   get_entitlementszHTTPClient.get_entitlements	  s     "$ 'F9 #S'): ;F9%F8#F7O#F7O!)F:$&)-&8F?#&(+O(<F$%||%FWefou  
 	
ra   c                >    | j                  t        dd||            S )Nr  </applications/{application_id}/entitlements/{entitlement_id}r  entitlement_idr  r_   r  r  s      rS   get_entitlementzHTTPClient.get_entitlement	  s'    ||N--	
 	
ra   c                >    | j                  t        dd||            S )Nr  zD/applications/{application_id}/entitlements/{entitlement_id}/consumer  r  r  s      rS   consume_entitlementzHTTPClient.consume_entitlement	  s'    ||V--	
 	
ra   c                L    |||d}| j                  t        dd|      |      S )N)sku_idr  
owner_typer  r  r  r  r  )r_   r  r  r  r  rW   s         rS   create_entitlementzHTTPClient.create_entitlement	  sB      $
 ||=-
   
 	
ra   c                >    | j                  t        dd||            S )Nr  r  r  r  r  s      rS   delete_entitlementzHTTPClient.delete_entitlement	  s'    ||N--	
 	
ra   c                <    | j                  t        dd|            S )Nr  z/guilds/{guild_id}/onboardingr  r  r  s     rS   get_guild_onboardingzHTTPClient.get_guild_onboarding 
  r  ra   )promptsdefault_channel_idsr  modec                   i }|||d<   |||d<   |||d<   |||d<   | j                  t        dd| d|      ||	      S )
Nr  r  r  r  r  z/guilds/z/onboardingr  r  r  )r_   r   r  r  r  r  rV  rW   s           rS   edit_guild_onboardingz HTTPClient.edit_guild_onboarding
  sz     !(GI*-@G)*!(GI"GFO||%8H:[9HM  
 	
ra   c                8    | j                  t        dd            S )Nr  z/soundboard-default-soundsr  r^   s    rS   get_soundboard_default_soundsz(HTTPClient.get_soundboard_default_sounds#
  s    ||E%)EFGGra   c                >    | j                  t        dd||            S )Nr  //guilds/{guild_id}/soundboard-sounds/{sound_id}r   sound_idr  )r_   r   r  s      rS   get_soundboard_soundzHTTPClient.get_soundboard_sound&
  s$    ||%JU]hpq
 	
ra   c                <    | j                  t        dd|            S )Nr  $/guilds/{guild_id}/soundboard-soundsr  r  r  s     rS   get_soundboard_soundsz HTTPClient.get_soundboard_sounds+
  s    ||E%)OZbcddra   c                   d}|j                         D ci c]  \  }}||v s||| }}}| j                  t        dd|      ||      S c c}}w )N)r   soundvolumer  
emoji_namer  r  r  r  r  rs  s          rS   create_soundboard_soundz"HTTPClient.create_soundboard_sound.
  se    

 %,MMOYDAqqJ1=1a4YY||&@8T[bkq  
 	
 Zr  c                   d}|j                         D ci c]  \  }}||v s|| }}}| j                  t        dd||      ||      S c c}}w )N)r   r  r  r  r  r  r  r  r  )r_   r   r  rV  rW   r-  r   r   s           rS   edit_soundboard_soundz HTTPClient.edit_soundboard_sound?
  sj    

 %,MMOGDAqqJ1a4GG||A!!	   	
 		
 Hr  c               B    | j                  t        dd||      |      S )Nr  r  r  r  r  )r_   r   r  rV  s       rS   delete_soundboard_soundz"HTTPClient.delete_soundboard_soundV
  s1    ||A!!	   
 	
ra   c                    d}|j                         D ci c]  \  }}||v s|| }}}| j                  t        dd|      |      S c c}}w )N)r  source_guild_idr  z,/channels/{channel_id}/send-soundboard-soundr  r  r  )r_   r   rW   r-  r   r   s         rS   send_soundboard_soundz HTTPClient.send_soundboard_sounda
  s[    4
$+MMOGDAqqJ1a4GG||6IV`aip  
 	
 Hs
   A
A
c                8    | j                  t        dd            S )Nr  z/oauth2/applications/@mer  r^   s    rS   application_infozHTTPClient.application_infoj
  s    ||E%)CDEEra   c                   d}|j                         D ci c]  \  }}||v s|| }}}| j                  t        dd      ||      S c c}}w )N)
custom_install_urlr  !role_connections_verification_urlinstall_paramsrt   rz  cover_imagezinteractions_endpoint_url tagsintegration_types_configr  z/applications/@mer  r  r^  s         rS   edit_application_infoz HTTPClient.edit_application_infom
  sV    

 %,MMOGDAqqJ1a4GG||E'+>?gV\|]] Hr`  c                <    | j                  t        dd|            S )Nr  %/applications/{application_id}/emojisr  r  r  s     rS   get_application_emojisz!HTTPClient.get_application_emojis~
  s    ||E%)Paopqqra   c                >    | j                  t        dd||            S )Nr  0/applications/{application_id}/emojis/{emoji_id}r  r  r  r_   r  r  s      rS   get_application_emojiz HTTPClient.get_application_emoji
  s'    ||IZhs{
 	
ra   c                J    ||d}| j                  t        dd|      |      S )N)r   r  r  r  r  r  r  )r_   r  r   r  rW   s        rS   create_application_emojiz#HTTPClient.create_application_emoji
  s:     

 ||&AR`aho  
 	
ra   c               F    t        dd||      }| j                  ||      S )Nr  r  r  r  r  )r_   r  r  rW   r  s        rS   edit_application_emojiz!HTTPClient.edit_application_emoji
  s/     GXfqy
 ||AG|,,ra   c                >    | j                  t        dd||            S )Nr  r  r  r  r  s      rS   delete_application_emojiz#HTTPClient.delete_application_emoji
  s)    
 ||B-!	
 	
ra   c           	     v    i }|rt        |      |d<   |||d<   | j                  t        dd|||      |      S )Nr  r   r  z=/channels/{channel_id}/polls/{message_id}/answers/{answer_id})r   r  	answer_idr  rm  )r_   r   r  r  r  r   r|  s          rS   get_poll_answer_votersz!HTTPClient.get_poll_answer_voters
  sZ     !%jF7O#F7O||O%%#   	
 		
ra   c                >    | j                  t        dd||            S )Nr  z0/channels/{channel_id}/polls/{message_id}/expirer  r  r  s      rS   end_pollzHTTPClient.end_poll
  s'    ||B%%	
 	
ra   c                |    i }|||d<   |||d<   |||d<   |||d<   | j                  t        dd|      |      S )	Nr  r  r   r  r  z/skus/{sku_id}/subscriptions)r  r  r  )r_   r  r  r  r   r  r|  s          rS   list_sku_subscriptionsz!HTTPClient.list_sku_subscriptions
  ss     %F8#F7O#F7O 'F9||.
   
 	
ra   c                >    | j                  t        dd||            S )Nr  z./skus/{sku_id}/subscriptions/{subscription_id})r  subscription_idr  )r_   r  r$  s      rS   get_sku_subscriptionzHTTPClient.get_sku_subscription
  s'    ||@ /	
 	
ra   c                   K   	 | j                  t        dd             d {   }|d   |d   |d   fS 7 # t        $ r}t               |d }~ww xY ww)Nr  z/gateway/botshardsr   session_start_limit)rl  r   r   r   )r_   rU  re   s      rS   get_bot_gatewayzHTTPClient.get_bot_gateway  s`     	-eE>&BCCD H~tE{D1F,GGG	 D 	-!#,	-s1   A7 57 A7 	A AAAc                <    | j                  t        dd|            S )Nr  z/users/{user_id}r  r  )r_   r  s     rS   get_userzHTTPClient.get_user  s    ||E%);WMNNra   r\   )r/  zasyncio.AbstractEventLoopr0  zOptional[aiohttp.BaseConnector]r)  r   r*  zOptional[aiohttp.BasicAuth]r+  r"  r,  zOptional[aiohttp.TraceConfig]r   r   rj   rk   r#  )r   r   r?  r   rj   zaiohttp.ClientWebSocketResponse)r   r   rj   r   )
ru  r   rZ   rY   rQ  z"Optional[Iterable[Dict[str, Any]]]rH  r   rj   r   )r   r   rj   bytes)r5  r   rj   z	user.User)rj   Response[None])r  rD   r  	List[int]rj   z Response[channel.GroupDMChannel])r   rD   rj   r-  )r  rD   rj   zResponse[channel.DMChannel])r   rD   r|  rV   rj   Response[message.Message])r   rD   r  rD   rV  r   rj   r-  )r   rD   r  rE   rV  r   rj   r-  )r   rD   r  rD   r|  rV   rj   r/  )r   rD   r  rD   r/   r   rj   r-  )
r   rD   r  rD   r/   r   r  rD   rj   r-  )NN)r   rD   r  rD   r/   r   r   r   r  Optional[Snowflake]r  zOptional[message.ReactionType]rj   zResponse[List[user.User]])r   rD   r  rD   rj   r-  )r   rD   r  rD   rj   r/  )r   rD   rj   Response[channel.Channel])NNN)r   rD   r   r   r  r0  r  r0  r  r0  rj   zResponse[List[message.Message]])r   rD   r   Optional[int]r  r   rj   zResponse[message.ChannelPins])r  rD   r   rD   rV  r   rj   r-  )iQ N)
r  rD   r   rD   r  r   rV  r   rj   r-  )
r   rD   r  zList[Snowflake]r  r   rV  r   rj   z#Response[guild.BulkBanUserResponse])r  rD   r   rD   r  Optional[bool]r  r3  rV  r   rj   Response[member.Member])rW   Dict[str, Any]rj   Response[user.User])r   rD   rV  r   r  r   rj   Response[member.MemberWithUser])
r   rD   r  rD   r  r   rV  r   rj   r4  )r   rD   rW   r5  rj   r-  )r   rD   r  rD   rW   r5  rj   r-  )
r   rD   r  rD   rV  r   r  r   rj   r7  )r   rD   rj   Response[voice.GuildVoiceState])r   rD   r  rD   rj   r8  )r   rD   rV  r   r,  r   rj   r1  )ro  r   r   r   rV  r   rj   r-  )r   rD   rU  z!List[guild.ChannelPositionUpdate]rV  r   rj   r-  )
r   rD   r5  zchannel.ChannelTyperV  r   r,  r   rj   zResponse[channel.GuildChannel])r   rD   rV  r   rj   r-  )r   rD   r  rD   r   r   r"  threads.ThreadArchiveDurationr  r2  rV  r   rj   Response[threads.Thread])r   rD   r   r   r"  r9  r  zthreads.ThreadTyper#  r"  r  r2  rV  r   rj   r:  )r   rD   r|  rV   rV  r   rj   zResponse[threads.ForumThread])r   rD   r  rD   rj   r-  )N2   )r   rD   r  r0  r   r   rj   )Response[threads.ThreadPaginationPayload])r   rD   rj   r<  )r   rD   r  rD   rj   zResponse[threads.ThreadMember])r   rD   rj   z$Response[List[threads.ThreadMember]])
r   rD   r   r   r\  zOptional[bytes]rV  r   rj   Response[webhook.Webhook])r   rD   rj   Response[List[webhook.Webhook]])r   rD   rj   r>  )r   rD   rj   r=  )r   rD   ri  rD   rV  r   rj   r-  )NNT)
r   r   r  r0  r  r0  rl  r"  rj   zResponse[List[guild.Guild]])r   rD   rj   r-  )r   rD   rl  r"  rj   Response[guild.Guild])r   rD   rj   zResponse[guild.GuildPreview])r   r   rz  r   rj   r?  )r   rD   rV  r   r  r   rj   r?  )r   rD   r  r   rV  r   rj   zResponse[guild.GuildMFALevel])r  r   rj   Response[template.Template])r   rD   rj   z!Response[List[template.Template]])r   rD   rW   r5  rj   r@  )r   rD   r  r   rj   r@  )r   rD   r  r   rW   r5  rj   r@  )r   rD   r  r   rj   r-  )r  r   r   r   rz  r   rj   r?  )
r   rD   r   r   r  r0  r  r0  rj   zResponse[List[guild.Ban]])r   rD   rj   &Response[welcome_screen.WelcomeScreen])r   rD   rV  r   r  r   rj   rA  )r  rD   r   rD   rj   zResponse[guild.Ban])r   rD   rj   zResponse[invite.VanityInvite])r   rD   r  r   rV  r   rj   r-  )r   rD   rj   z"Response[List[guild.GuildChannel]])r   rD   r   r   r  r0  rj   z%Response[List[member.MemberWithUser]])r   rD   r  rD   rj   r7  )r   rD   r  r   r  r"  r  Iterable[str]rV  r   rj   Response[guild.GuildPrune])r   rD   r  r   r  rB  rj   rC  )r  rD   rj   zResponse[sticker.Sticker])r  rD   rj   zResponse[sticker.StickerPack])rj   z)Response[sticker.ListPremiumStickerPacks])r   rD   rj   z$Response[List[sticker.GuildSticker]])r   rD   r  rD   rj   Response[sticker.GuildSticker])
r   rD   rW   r5  rg   r   rV  r   rj   rD  )
r   rD   r  rD   rW   r5  rV  r   rj   rD  )r   rD   r  rD   rV  r   rj   r-  )r   rD   rj   zResponse[List[emoji.Emoji]])r   rD   r  rD   rj   Response[emoji.Emoji])r   rD   r   r   r  r   r  Optional[SnowflakeList]rV  r   rj   rE  )r   rD   r  rD   rV  r   rj   r-  )
r   rD   r  rD   rW   r5  rV  r   rj   rE  )r   rD   rj   z'Response[List[integration.Integration]])r   rD   r  zintegration.IntegrationTyper  r   rj   r-  )r   rD   r  rD   rW   r   rj   r-  )r   rD   r  rD   rj   r-  )r   rD   r  rD   rV  r   rj   r-  )d   NNNN)r   rD   r   r   r  r0  r  r0  r  r0  r  z!Optional[audit_log.AuditLogEvent]rj   zResponse[audit_log.AuditLog])r   rD   rj   zResponse[widget.Widget])r   rD   rW   zwidget.EditWidgetSettingsrV  r   rj   zResponse[widget.WidgetSettings])r   rD   rW   zguild.IncidentDatarj   zResponse[guild.IncidentData])r   rD   rV  r   r  r   r  r   r  r"  r  r"  r  z!Optional[invite.InviteTargetType]r  r0  r  r0  rt   r2  rj   Response[invite.Invite])r!  r   rl  r"  r  r0  rj   rH  )r   rD   rj   Response[List[invite.Invite]])r   rD   rj   rI  )r!  r   rV  r   rj   rH  )r   rD   rj   Response[List[role.Role]])r   rD   r/  rD   rj   Response[role.Role])r   rD   rj   zResponse[Dict[str, int]])
r   rD   r/  rD   rV  r   r  r   rj   rK  )r   rD   r/  rD   rV  r   rj   r-  )
r  rD   r   rD   r?  r.  rV  r   rj   r7  )r   rD   rV  r   r  r   rj   rK  )r   rD   rD  zList[guild.RolePositionUpdate]rV  r   rj   rJ  )
r   rD   r  rD   r/  rD   rV  r   rj   r-  )r   rD   rR  rD   rN  r   rO  r   r  zchannel.OverwriteTyperV  r   rj   r-  )r   rD   rR  rD   rV  r   rj   r-  )
r  rD   r   rD   r   rD   rV  r   rj   r7  )r   rD   rj   Response[channel.StageInstance])rV  r   rW   r   rj   rL  )r   rD   rV  r   rW   r   rj   r-  )r   rD   rg  Literal[True]rj   z@Response[List[scheduled_event.GuildScheduledEventWithUserCount]])r   rD   rg  Literal[False]rj   z3Response[List[scheduled_event.GuildScheduledEvent]])r   rD   rg  r"  rj   z|Union[Response[List[scheduled_event.GuildScheduledEventWithUserCount]], Response[List[scheduled_event.GuildScheduledEvent]]])r   rD   rg  r"  rj   Response[Any])r   rD   rV  r   rW   r   rj   -Response[scheduled_event.GuildScheduledEvent])r   rD   r  rD   rg  rM  rj   z:Response[scheduled_event.GuildScheduledEventWithUserCount])r   rD   r  rD   rg  rN  rj   rP  )r   rD   r  rD   rg  r"  rj   zpUnion[Response[scheduled_event.GuildScheduledEventWithUserCount], Response[scheduled_event.GuildScheduledEvent]])r   rD   r  rD   rg  r"  rj   rO  )
r   rD   r  rD   rV  r   rW   r   rj   rP  )r   rD   r  rD   rV  r   rj   r-  )..)r   rD   r  rD   r   r   r  rM  r  r0  r  r0  rj   z7Response[scheduled_event.ScheduledEventUsersWithMember])r   rD   r  rD   r   r   r  rN  r  r0  r  r0  rj   z-Response[scheduled_event.ScheduledEventUsers])r   rD   r  rD   r   r   r  r"  r  r0  r  r0  rj   zmUnion[Response[scheduled_event.ScheduledEventUsersWithMember], Response[scheduled_event.ScheduledEventUsers]])r   rD   r  rD   r   r   r  r"  r  r0  r  r0  rj   rO  )r  rD   rj   *Response[List[command.ApplicationCommand]])r  rD   r  rD   rj   $Response[command.ApplicationCommand])r  rD   rW   zcommand.ApplicationCommandrj   rR  )r  rD   r  rD   rW   r5  rj   rR  )r  rD   r  rD   rj   r-  )r  rD   rW   List[Dict[str, Any]]rj   rQ  )r  rD   r   rD   rj   rQ  )r  rD   r   rD   r  rD   rj   rR  )r  rD   r   rD   rW   r5  rj   rR  )
r  rD   r   rD   r  rD   rW   r5  rj   rR  )r  rD   r   rD   r  rD   rj   r-  )r  rD   r   rD   rW   rS  rj   rQ  )r  rD   r   rD   rj   z:Response[List[command.GuildApplicationCommandPermissions]])r  rD   r   rD   r  rD   rj   z4Response[command.GuildApplicationCommandPermissions])
r  rD   r   rD   r  rD   rW   r5  rj   r-  )r   rD   rj   z*Response[List[automod.AutoModerationRule]])r   rD   r  rD   rj   $Response[automod.AutoModerationRule])r   rD   rV  r   rW   r   rj   rT  )
r   rD   r  rD   rV  r   rW   r   rj   rT  )r   rD   r  rD   rV  r   rj   r-  )r  rD   rj   zResponse[List[sku.SKU]])NNNNNNNN)r  rD   r  r0  r  rF  r  r0  r  r0  r   r2  r   r0  r  r3  r  r3  rj   zResponse[List[sku.Entitlement]])r  rD   r  rD   rj   Response[sku.Entitlement])r  rD   r  rD   rj   r-  )
r  rD   r  rD   r  rD   r  zsku.EntitlementOwnerTyperj   rU  )r   rD   rj   Response[onboarding.Onboarding])r   rD   r  z!Optional[List[onboarding.Prompt]]r  zOptional[List[Snowflake]]r  r3  r  z#Optional[onboarding.OnboardingMode]rV  r   rj   rV  )rj   z1Response[List[soundboard.SoundboardDefaultSound]])r   rD   r  rD   rj   $Response[soundboard.SoundboardSound])r   rD   rj   z5Response[Dict[str, List[soundboard.SoundboardSound]]])r   rD   rV  r   rW   r   rj   rW  )
r   rD   r  rD   rV  r   rW   r   rj   rW  )r   rD   r  rD   rV  r   rj   r-  )r   rD   rW   r   rj   r-  )rj   Response[appinfo.AppInfo])rV  r   rW   r   rj   rX  )r  rD   rj   zResponse[appinfo.ListAppEmojis])r  rD   r  rD   rj   rE  )r  rD   r   r   r  r   rj   rE  )r  rD   r  rD   rW   r5  rj   rE  )r  rD   r  rD   rj   r-  )r   rD   r  rD   r  rD   r  r0  r   r2  rj   zResponse[poll.PollAnswerVoters])NNNN)r  rD   r  r0  r  r0  r   r2  r  r0  rj   z)Response[List[subscription.Subscription]])r  rD   r$  rD   rj   z#Response[subscription.Subscription])rj   z"Tuple[int, str, SessionStartLimit])r  rD   rj   r6  )rl   rm   rn   r$  r   r>  rG  rM  rO  rl  r  rc   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r.  r0  r3  r6  r9  r;  r>  rB  rE  rI  rK  rN  rQ  rS  rU  rW  rY  r[  r_  ra  rc  rf  rj  rn  rp  rs  ru  rx  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r	  r  r  r  r  r  r"  r$  r&  r(  r+  r0  r2  r:  r<  r@  rB  rE  rJ  rL  rS  rU  rW  rZ  r_  rb  rd  r   rh  rt  rw  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r   r"  r%  r)  r+  r]   ra   rS   r(  r(     sS   M
 6: e
  $26!4815 e' e 3 e
  e 0 e  e 2 e  / e 
 eD% => >(# +/37NDND (	ND
 1ND ND 
ND`*.)6;
g^
P
8
8 $	
8
 
#
8c X\.#.1:.GT.	., ]a<#<2?<LY<	<8#81:8GZ8	"8#1:CFS\	  &*/3.. . 	.
 . #. -. 
#.8 '+%)&*ss s $	s
 #s $s 
)s*
..  $ $	xx x 	x
 
'x . ', $== = !$	=
 = 
= Y] . ', $<< "< !$	<
 < 
-<&  $!% $<< <
 < < < 
!<&H !%	;; 	;
 ; 
);  !%<< < 	< < 
!<-- !%	;	; 	;
 	; 	; 
)	;d{ !%	$<$< 	$<
 $< 
#$<N RV<#<47<AN<	< !%99 09
 9 
9 !%!z!z *!z
 !z !z 
(!zN !%	mm 	m
 
m" .2 $@@ @
 @  =@ +@ @ 
"@8 -1 $@@ 	@
  =@ !@ @ +@ @ 
"@6 !%UU $	U
 U 
'Un

q#
 WY	2#	2-@	2PS	2	2	2 WY	2#	2-@	2PS	2	2	2 WY2#2-@2PS2	22### #' $<< 	<
  < < 
#<"d\[ !%	

 &
 	

 

$ '+%) NN $N #	N
 N 
%N&` EI b[VD JN r< OSu!u14u>Ku	&uQ]lo
r` '+%)gg g $	g
 #g 
#g"b ?C
!
.;
NQ
	/
s^ ]a }\
.!
.*-
.6I
.	.
.| !%ww w "	w
 w w 
$w$hh h 	h
 
$h[o<\

"
!"
,:"
BF"
P]"
	'"
H

 
  	

 
 
(

Zx *. $<< < 	< '< < 
<. !%.. .
 . 
.  !%	<	< 	<
  	< 	< 
	<
-- Z^.!.3<.IV.	. &*%)'+9=.. . $	.
 #. %. 7. 
&.,_ `dy!y,EyO\y	(y
r !%9=.259#"<"< 	"<
 "< "< "< "< 7"< ,"<  3"< "< 
!"<P !8<ff 	f
 #6f 
!f [c HL i
Ytg SW<!<,5<BO<be<	< _c . !%cc c 	c c 
)c KO ; !%>> 2>
 > 
#> gk
.!
.,5
.@I
.Vc
.	
. gk
.!
.,5
.@I
.Vc
.	
.( !%<< < 	<
 < $< < 
< TX.#.-6.CP.	. !%jj j 	j j 
)jb
\ UY 	
 W[ t
 O!O4AO	IO O B!B4BB	<B B !48
 s
 ?C
!
.;
OR
	6
( I!I=FIYfI	CI I <!<=F<Yg<	6< < !=FY]
 
!
=F
Y]
	
 dh
!
=F
S`
tw
	6
B !%

 #,

 
 

"  '*%(FF #,F 	F
 #F $F #F 
AF F  '*%(<< #,< 	<
 $< $< #< 
7< <  '*%(|| #,| 	|
 | $| #| 
w| |  '+%)

 #,
 	

 
 $
 #
 

>t-'-2L-	---!- -  	-
 
.-(-'-2F-	3-	'	3<		3	!  	
 
.-!- -  	-
 
.--!- - 	-
  - 
.-,!  	
 
-!- - &	-
 
4-!  
D	!  	
 
>-!- - 	-
  - 
- i


!
.;
HK
	-
(
!
,5
BO
\_
	-
*
!
,5
BO
	
p (,+/&*%)#(,(,*.!
!!
 %!
 )	!

 $!
 #!
 !
 &!
 &!
 (!
 
)!
F


'
1:
FO
]u
	"
$
^ 6:9="&48

 3	

 7
  
 2
 
 
)
@H

e
!
.;
HK
	-
"
!
-6
CP
]`
	-
.	

F^"r

!
 
 	

 


-!
- 
-
  
- 

-
!
 
 
	
* &*#

 
 	

 #
 
 
)
6
 '+%)#'+

 $
 #	

 
 %
 
3
>
HOra   r(  )rR   r!  rj   zUnion[Dict[str, Any], str]),r   r   rp   r   rq   r   rr   r"  rs   zOptional[Union[int, str]]rt   r$   rg   r   rZ   zSequence[File]ru   zOptional[Embed]rv   zSequence[Embed]rw   z!Sequence[Union[Attachment, File]]rx   zOptional[BaseView]ry   Optional[AllowedMentions]rz   z"Optional[message.MessageReference]r{   rF  r|   rY  r}   r3  r~   r   r   r5  r   rF  r@   zOptional[Poll]rj   rV   )r   r   )mr$  
__future__r   r   loggingr8  typingr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   urllib.parser   r   collectionsr   r   r:  errorsr   r   r   r   r   r   r   gatewayr   rg   r   mentionsr    r   r!   r"   r#   rt   r$   	getLoggerrl   rm  typing_extensionsr%   ui.viewr&   rv   r'   r4   r(   r@   r)   typesr*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   rA   rB   rC   types.snowflakerD   rE   types.gatewayrF   rG   rH   BaseExceptionrI   ResponserT   rV   r   r   ro   r   r   r   hdrs	WEBSOCKETr(  r]   ra   rS   <module>rl     s  0 #   
    $ ,    v v v 3  %    w"&!#      8 :0#A	]	+Bc1%H	* ( %UR '+!#$%5<&29<C(/;?%)&-,3"-URUR UR 	UR
 
UR %UR UR UR UR UR UR 3UR UR 0UR :UR  &!UR"  9#UR$ #%UR& 'UR( $)UR* *+UR, -UR. /URp  c 
5#
 #
L]8 ]8D % N$O N$Ora   