a
    fi­ ã                   @   s¶3  d dl mZmZmZmZmZmZmZmZm	Z	 G dd deZ
G dd deZG dd deZG dd	 d	eZG d
d de	ZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG d d! d!eZG d"d# d#eZG d$d% d%e	ZG d&d' d'e	ZG d(d) d)e	ZG d*d+ d+eZG d,d- d-eZG d.d/ d/eZ G d0d1 d1eZ!G d2d3 d3eZ"G d4d5 d5eZ#G d6d7 d7eZ$G d8d9 d9eZ%G d:d; d;eZ&G d<d= d=eZ'G d>d? d?eZ(G d@dA dAeZ)G dBdC dCeZ*G dDdE dEeZ+G dFdG dGeZ,G dHdI dIeZ-G dJdK dKeZ.G dLdM dMeZ/G dNdO dOeZ0G dPdQ dQeZ1G dRdS dSeZ2G dTdU dUeZ3G dVdW dWeZ4G dXdY dYeZ5G dZd[ d[eZ6G d\d] d]eZ7G d^d_ d_eZ8G d`da daeZ9G dbdc dceZ:G ddde deeZ;G dfdg dgeZ<G dhdi dieZ=G djdk dkeZ>G dldm dmeZ?G dndo doeZ@G dpdq dqeZAG drds dseZBG dtdu dueZCG dvdw dweZDG dxdy dyeZEG dzd{ d{eZFG d|d} d}eZGG d~d deZHG dd deZIG dd deZJG dd deZKG dd deZLG dd deZMG dd deZNG dd deZOG dd deZPG dd deZQG dd deZRG dd deZSG dd deZTG dd deZUG dd deZVG dd deZWG dd deZXG d d¡ d¡eZYG d¢d£ d£eZZG d€d¥ d¥eZ[G dŠd§ d§eZ\G dšd© d©eZ]G dªd« d«eZ^G d¬d­ d­eZ_G d®d¯ d¯eZ`G d°d± d±eZaG d²d³ d³eZbG dŽdµ dµeZcG d¶d· d·eZdG džd¹ d¹eZeG dºd» d»eZfG dŒdœ dœeZgG dŸd¿ d¿eZhG dÀdÁ dÁeZiG dÂdÃ dÃeZjG dÄdÅ dÅeZkG dÆdÇ dÇeZlG dÈdÉ dÉeZmG dÊdË dËeZnG dÌdÍ dÍeZoG dÎdÏ dÏeZpG dÐdÑ dÑeZqG dÒdÓ dÓeZrG dÔdÕ dÕeZsG dÖd× d×eZtG dØdÙ dÙeZuG dÚdÛ dÛeZvG dÜdÝ dÝeZwG dÞdß dßeZxG dàdá dáeZyG dâdã dãeZzG dädå dåeZ{G dædç dçeZ|G dèdé déeZ}G dêdë dëeZ~G dìdí díeZG dîdï dïeZG dðdñ dñeZG dòdó dóeZG dôdõ dõeZG död÷ d÷eZG dødù dùeZG dúdû dûeZG düdý dýeZG dþdÿ dÿeZG d d deZG dd deZG dd deZG dd deZG dd	 d	eZG d
d deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG d!d" d"eZG d#d$ d$eZG d%d& d&eZG d'd( d(eZG d)d* d*eZG d+d, d,eZG d-d. d.eZG d/d0 d0eZ G d1d2 d2eZ¡G d3d4 d4eZ¢G d5d6 d6eZ£G d7d8 d8eZ€G d9d: d:eZ¥G d;d< d<eZŠG d=d> d>eZ§G d?d@ d@eZšG dAdB dBeZ©G dCdD dDeZªG dEdF dFeZ«G dGdH dHeZ¬G dIdJ dJeZ­G dKdL dLeZ®G dMdN dNeZ¯G dOdP dPeZ°G dQdR dReZ±G dSdT dTeZ²G dUdV dVeZ³G dWdX dXeZŽG dYdZ dZeZµG d[d\ d\eZ¶G d]d^ d^eZ·G d_d` d`eZžG dadb dbeZ¹G dcdd ddeZºG dedf dfeZ»G dgdh dheZŒG didj djeZœG dkdl dleZŸG dmdn dneZ¿G dodp dpeZÀG dqdr dreZÁG dsdt dteZÂG dudv dveZÃG dwdx dxeZÄG dydz dzeZÅG d{d| d|eZÆG d}d~ d~eZÇG dd deZÈG dd deZÉG dd deZÊG dd deZËG dd deZÌG dd deZÍG dd deZÎG dd deZÏG dd deZÐG dd deZÑG dd deZÒG dd deZÓG dd deZÔG dd deZÕG dd deZÖG dd deZ×G dd  d eZØG d¡d¢ d¢eZÙG d£d€ d€eZÚG d¥dŠ dŠeZÛG d§dš dšeZÜG d©dª dªeZÝG d«d¬ d¬eZÞG d­d® d®eZßG d¯d° d°eZàG d±d² d²eZáG d³dŽ dŽeZâG dµd¶ d¶eZãG d·dž džeZäG d¹dº dºeZåG d»dŒ dŒeZæG dœdŸ dŸeZçG d¿dÀ dÀeZèG dÁdÂ dÂeZéG dÃdÄ dÄeZêG dÅdÆ dÆeZëG dÇdÈ dÈeZìG dÉdÊ dÊeZíG dËdÌ dÌeZîG dÍdÎ dÎeZïG dÏdÐ dÐeZðG dÑdÒ dÒeZñG dÓdÔ dÔeZòG dÕdÖ dÖeZóG d×dØ dØeZôG dÙdÚ dÚeZõG dÛdÜ dÜeZöG dÝdÞ dÞeZ÷G dßdà dàeZøG dádâ dâeZùG dãdä däeZúG dådæ dæeZûG dçdè dèeZüG dédê dêeZýG dëdì dìeZþG dídî dîeZÿG dïdð dðeZ G dñdò dòeZG dódô dôeZG dõdö döeZG d÷dø døeZG dùdú dúeZG dûdü düeZG dýdþ dþeZG dÿd  d eZG dd deZ	G dd deZ
G dd deZG dd deZG d	d
 d
eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG d!d" d"eZG d#d$ d$eZG d%d& d&eZG d'd( d(eZG d)d* d*eZG d+d, d,eZG d-d. d.eZG d/d0 d0eZ G d1d2 d2eZ!G d3d4 d4eZ"G d5d6 d6eZ#G d7d8 d8eZ$G d9d: d:eZ%G d;d< d<eZ&G d=d> d>eZ'G d?d@ d@eZ(G dAdB dBeZ)G dCdD dDeZ*G dEdF dFeZ+G dGdH dHeZ,G dIdJ dJeZ-G dKdL dLeZ.G dMdN dNeZ/G dOdP dPeZ0G dQdR dReZ1G dSdT dTeZ2G dUdV dVeZ3G dWdX dXeZ4G dYdZ dZeZ5G d[d\ d\eZ6G d]d^ d^eZ7G d_d` d`eZ8G dadb dbeZ9G dcdd ddeZ:G dedf dfeZ;G dgdh dheZ<G didj djeZ=G dkdl dleZ>G dmdn dneZ?G dodp dpeZ@G dqdr dreZAG dsdt dteZBG dudv dveZCG dwdx dxeZDG dydz dzeZEG d{d| d|eZFG d}d~ d~eZGG dd deZHG dd deZIG dd deZJG dd deZKG dd deZLG dd deZMG dd deZNG dd deZOG dd deZPG dd deZQG dd deZRG dd deZSG dd deZTG dd deZUG dd deZVG dd deZWG dd  d eZXG d¡d¢ d¢eZYG d£d€ d€eZZG d¥dŠ dŠeZ[G d§dš dšeZ\G d©dª dªeZ]G d«d¬ d¬eZ^G d­d® d®eZ_G d¯d° d°eZ`G d±d² d²eZaG d³dŽ dŽeZbG dµd¶ d¶eZcG d·dž džeZdG d¹dº dºeZeG d»dŒ dŒeZfG dœdŸ dŸeZgG d¿dÀ dÀeZhG dÁdÂ dÂeZiG dÃdÄ dÄeZjG dÅdÆ dÆeZkG dÇdÈ dÈeZlG dÉdÊ dÊeZmG dËdÌ dÌeZnG dÍdÎ dÎeZoG dÏdÐ dÐeZpG dÑdÒ dÒeZqG dÓdÔ dÔeZrG dÕdÖ dÖeZsG d×dØ dØeZtG dÙdÚ dÚeZuG dÛdÜ dÜeZvG dÝdÞ dÞeZwG dßdà dàeZxG dádâ dâeZyG dãdä däeZzG dådæ dæeZ{G dçdè dèeZ|G dédê dêeZ}G dëdì dìeZ~G dídî dîeZG dïdð dðeZG dñdò dòeZG dódô dôeZG dõdö döeZG d÷dø døeZG dùdú dúeZG dûdü düeZG dýdþ dþeZG dÿd  d eZG dd deZG dd deZG dd deZG dd deZG d	d
 d
eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG d!d" d"eZG d#d$ d$eZG d%d& d&e	ZG d'd( d(e	ZG d)d* d*e	ZG d+d, d,eZG d-d. d.eZG d/d0 d0eZ G d1d2 d2eZ¡G d3d4 d4eZ¢G d5d6 d6eZ£G d7d8 d8eZ€G d9d: d:eZ¥G d;d< d<eZŠG d=d> d>eZ§G d?d@ d@eZšG dAdB dBeZ©G dCdD dDeZªG dEdF dFeZ«G dGdH dHeZ¬G dIdJ dJeZ­G dKdL dLeZ®G dMdN dNeZ¯G dOdP dPeZ°G dQdR dReZ±G dSdT dTeZ²G dUdV dVeZ³G dWdX dXeZŽG dYdZ dZeZµG d[d\ d\eZ¶G d]d^ d^eZ·G d_d` d`eZžG dadb dbeZ¹G dcdd ddeZºG dedf dfeZ»G dgdh dheZŒG didj djeZœG dkdl dleZŸG dmdn dneZ¿G dodp dpeZÀG dqdr dreZÁG dsdt dteZÂG dudv dveZÃG dwdx dxeZÄG dydz dzeZÅG d{d| d|eZÆG d}d~ d~eZÇG dd deZÈG dd deZÉG dd deZÊG dd deZËG dd deZÌG dd deZÍG dd deZÎG dd deZÏG dd deZÐG dd deZÑG dd deZÒG dd deZÓG dd deZÔG dd deZÕG dd deZÖG dd deZ×G dd  d eZØG d¡d¢ d¢eZÙG d£d€ d€eZÚG d¥dŠ dŠeZÛG d§dš dšeZÜG d©d deZÐG dªd« d«eZÝG d¬d­ d­eZÞG d®d¯ d¯eZßG d°d± d±eZàG d²d³ d³eZáG dŽdµ dµeZâG d¶d· d·eZãG džd¹ d¹eZäG dºd» d»eZåG dŒdœ dœeZæG dŸd¿ d¿eZçG dÀdÁ dÁeZèG dÂdÃ dÃeZéG dÄdÅ dÅeZêG dÆdÇ dÇeZëG dÈdÉ dÉeZìG dÊdË dËeZíG dÌdÍ dÍeZîG dÎdÏ dÏeZïG dÐdÑ dÑeZðG dÒdÓ dÓeZñG dÔdÕ dÕeZòG dÖd× d×eZóG dØdÙ dÙeZôG dÚdÛ dÛeZõG dÜdÝ dÝe	ZöG dÞdß dße	Z÷G dàdá dáeZøG dâdã dãeZùG dädå dåeZúG dædç dçeZûG dèdé déeZüG dêdë dëeZýG dìdí díeZþG dîdï dïeZÿG dðdñ dñeZ G dòdó dóeZG dôdõ dõeZG död÷ d÷eZG dødù dùeZG dúdû dûeZG düdý dýeZG dþdÿ dÿeZG d d deZG dd deZ	G dd deZ
G dd deZG dd	 d	eZG d
d deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG d d! d!eZeeeeeeeeeeeeeeeeeeeeee e!e"e#e$e%e&e'e(e)e*e+e,e-e.e/e0e1e2e3e4e5e6e7e8e9e:e;e<e=e>e?e@eAeBeCeDeEeFeGeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe[e\e]e^e_e`eaebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze{e|e}e~eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee e¡e¢e£e€e¥eŠe§ešeªe«e¬e­e®e¯e°e±e³eŽeµe¶e·eže¹eºe»e¿eÀeÁeÂeÃeÄeÅeÆeÇeÈeÉeÊeËeÌeÍeÎeÏeÐeÑeÒeÓeÔeÕeÖe×eØeÙeÚeÛeÜeÝeÞeßeàeáeâeãeäeåeæeçeèeëeìeíeîeïeðeñeòeóeôeõeöe÷eøeùeúeûeüeýeþeÿe eeeeeeeee	e
eeeeeeeeeeeeeeeeeeeee e!e"e#e$e%e&e'e(e)e*e+e,e-e.e/e0e1e2e3e4e6e7e8e9e:e;e<e=e>e?e@eAeBeDeEeFeGeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe[e\e]e^e_e`eaebeceeefegeheiejekelemeneoepeqereseteuevewexeyeze{e|e}e~eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee e¡e¢e£e€e¥e§eše©eªe«e¬e®e¯e°e±e²e³eŽeµe¶e·eže¹eºe»eŒeœeŸe¿eÀeÁeÂeÃeÄeÅeÇeÈeÉeÊeËeÌeÍeÎeÏeÐeÑeÒeÓeÔeÕeÖe×eØeÙeÚeÛeÜeÐeÝeÞeßeàeáeâeãeäeåeæeçeèeéeêeëeìeíeîeïeðeñeòeóeôeõeöe÷eøeùeúeûeüeýeÿe eeeeeeeee	e
eeeeeeeeeeeeeed"ÿZd#e
fd$efd%e©fd&e²fd'eŒfd(eœfd)eŸfd*eéfd+eêfd,efd-e5fd.eCfd/edfd0efd1eŠfd2e­fd3eÆfd4eþffZd5S (6  é   )	ÚRPCErrorÚAuthKeyErrorÚBadRequestErrorÚ
FloodErrorÚForbiddenErrorÚInvalidDCErrorÚServerErrorÚTimedOutErrorÚUnauthorizedErrorc                       s&   e Zd Zd fdd	Zdd Z  ZS )ÚTwoFaConfirmWaitErroré    c                    s:   || _ t|| _tt|  dj| jd|  | j ¡ ¡ d S )NzdThe account is 2FA protected so it will be deleted in a week. Otherwise it can be reset in {seconds}©Úseconds©ÚrequestÚintr   ÚsuperÚ	ExceptionÚ__init__ÚformatÚ_fmt_request©Úselfr   Úcapture©Ú	__class__© úQ/home/ec2-user/.local/lib/python3.9/site-packages/telethon/errors/rpcerrorlist.pyr      s    
zTwoFaConfirmWaitError.__init__c                 C   s   t | | j| jffS ©N©Útyper   r   ©r   r   r   r   Ú
__reduce__
   s    z TwoFaConfirmWaitError.__reduce__)r   ©Ú__name__Ú
__module__Ú__qualname__r   r"   Ú__classcell__r   r   r   r   r      s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚAboutTooLongErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe provided bio is too long©r   r   r   r   r   ©r   r   r   r   r   r      s    zAboutTooLongError.__init__c                 C   s   t | | jffS r   ©r    r   r!   r   r   r   r"      s    zAboutTooLongError.__reduce__r#   r   r   r   r   r(      s   r(   c                       s$   e Zd Z fddZdd Z  ZS )ÚAccessTokenExpiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzBot token expiredr)   r*   r   r   r   r      s    z AccessTokenExpiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"      s    z"AccessTokenExpiredError.__reduce__r#   r   r   r   r   r,      s   r,   c                       s$   e Zd Z fddZdd Z  ZS )ÚAccessTokenInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe provided token is not validr)   r*   r   r   r   r   !   s    z AccessTokenInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   %   s    z"AccessTokenInvalidError.__reduce__r#   r   r   r   r   r-       s   r-   c                       s$   e Zd Z fddZdd Z  ZS )ÚActiveUserRequiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz7The method is only available to already activated usersr)   r*   r   r   r   r   *   s    z ActiveUserRequiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   .   s    z"ActiveUserRequiredError.__reduce__r#   r   r   r   r   r.   )   s   r.   c                       s$   e Zd Z fddZdd Z  ZS )ÚAdminsTooMuchErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzToo many adminsr)   r*   r   r   r   r   3   s    zAdminsTooMuchError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   7   s    zAdminsTooMuchError.__reduce__r#   r   r   r   r   r/   2   s   r/   c                       s$   e Zd Z fddZdd Z  ZS )ÚAdminIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz!The specified admin ID is invalidr)   r*   r   r   r   r   <   s    zAdminIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   @   s    zAdminIdInvalidError.__reduce__r#   r   r   r   r   r0   ;   s   r0   c                       s$   e Zd Z fddZdd Z  ZS )ÚAdminRankEmojiNotAllowedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz.Emoji are not allowed in admin titles or ranksr)   r*   r   r   r   r   E   s    z&AdminRankEmojiNotAllowedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   I   s    z(AdminRankEmojiNotAllowedError.__reduce__r#   r   r   r   r   r1   D   s   r1   c                       s$   e Zd Z fddZdd Z  ZS )ÚAdminRankInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzNThe given admin title or rank was invalid (possibly larger than 16 characters)r)   r*   r   r   r   r   N   s    zAdminRankInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   R   s    z AdminRankInvalidError.__reduce__r#   r   r   r   r   r2   M   s   r2   c                       s$   e Zd Z fddZdd Z  ZS )ÚAlbumPhotosTooManyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz*Too many photos were included in the albumr)   r*   r   r   r   r   W   s    z AlbumPhotosTooManyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   [   s    z"AlbumPhotosTooManyError.__reduce__r#   r   r   r   r   r3   V   s   r3   c                       s$   e Zd Z fddZdd Z  ZS )ÚApiIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz*The api_id/api_hash combination is invalidr)   r*   r   r   r   r   `   s    zApiIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   d   s    zApiIdInvalidError.__reduce__r#   r   r   r   r   r4   _   s   r4   c                       s$   e Zd Z fddZdd Z  ZS )ÚApiIdPublishedFloodErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz9This API id was published somewhere, you can't use it nowr)   r*   r   r   r   r   i   s    z!ApiIdPublishedFloodError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   m   s    z#ApiIdPublishedFloodError.__reduce__r#   r   r   r   r   r5   h   s   r5   c                       s$   e Zd Z fddZdd Z  ZS )ÚArticleTitleEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz!The title of the article is emptyr)   r*   r   r   r   r   r   s    zArticleTitleEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   v   s    z!ArticleTitleEmptyError.__reduce__r#   r   r   r   r   r6   q   s   r6   c                       s$   e Zd Z fddZdd Z  ZS )ÚAudioContentUrlEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz6The remote URL specified in the content field is emptyr)   r*   r   r   r   r   {   s    z"AudioContentUrlEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"      s    z$AudioContentUrlEmptyError.__reduce__r#   r   r   r   r   r7   z   s   r7   c                       s$   e Zd Z fddZdd Z  ZS )ÚAudioTitleEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz2The title attribute of the audio must be non-emptyr)   r*   r   r   r   r      s    zAudioTitleEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"      s    zAudioTitleEmptyError.__reduce__r#   r   r   r   r   r8      s   r8   c                       s$   e Zd Z fddZdd Z  ZS )ÚAuthBytesInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz%The provided authorization is invalidr)   r*   r   r   r   r      s    zAuthBytesInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"      s    z AuthBytesInvalidError.__reduce__r#   r   r   r   r   r9      s   r9   c                       s$   e Zd Z fddZdd Z  ZS )ÚAuthKeyDuplicatedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzµThe authorization key (session file) was used under two different IP addresses simultaneously, and can no longer be used. Use the same session exclusively, or use different sessionsr)   r*   r   r   r   r      s    zAuthKeyDuplicatedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"      s    z!AuthKeyDuplicatedError.__reduce__r#   r   r   r   r   r:      s   r:   c                       s$   e Zd Z fddZdd Z  ZS )ÚAuthKeyInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe key is invalidr)   r*   r   r   r   r      s    zAuthKeyInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   £   s    zAuthKeyInvalidError.__reduce__r#   r   r   r   r   r;      s   r;   c                       s$   e Zd Z fddZdd Z  ZS )ÚAuthKeyPermEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzQThe method is unavailable for temporary authorization key, not bound to permanentr)   r*   r   r   r   r   š   s    zAuthKeyPermEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ¬   s    z AuthKeyPermEmptyError.__reduce__r#   r   r   r   r   r<   §   s   r<   c                       s$   e Zd Z fddZdd Z  ZS )ÚAuthKeyUnregisteredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz'The key is not registered in the systemr)   r*   r   r   r   r   ±   s    z!AuthKeyUnregisteredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   µ   s    z#AuthKeyUnregisteredError.__reduce__r#   r   r   r   r   r=   °   s   r=   c                       s$   e Zd Z fddZdd Z  ZS )ÚAuthRestartErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz!Restart the authorization processr)   r*   r   r   r   r   º   s    zAuthRestartError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ÿ   s    zAuthRestartError.__reduce__r#   r   r   r   r   r>   ¹   s   r>   c                       s$   e Zd Z fddZdd Z  ZS )ÚAuthTokenAlreadyAcceptedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz(The authorization token was already usedr)   r*   r   r   r   r   Ã   s    z&AuthTokenAlreadyAcceptedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ç   s    z(AuthTokenAlreadyAcceptedError.__reduce__r#   r   r   r   r   r?   Â   s   r?   c                       s$   e Zd Z fddZdd Z  ZS )ÚAuthTokenExceptionErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz0An error occurred while importing the auth tokenr)   r*   r   r   r   r   Ì   s    z AuthTokenExceptionError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ð   s    z"AuthTokenExceptionError.__reduce__r#   r   r   r   r   r@   Ë   s   r@   c                       s$   e Zd Z fddZdd Z  ZS )ÚAuthTokenExpiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzWThe provided authorization token has expired and the updated QR-code must be re-scannedr)   r*   r   r   r   r   Õ   s    zAuthTokenExpiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ù   s    z AuthTokenExpiredError.__reduce__r#   r   r   r   r   rA   Ô   s   rA   c                       s$   e Zd Z fddZdd Z  ZS )ÚAuthTokenInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S ©Nz+An invalid authorization token was providedr)   r*   r   r   r   r   Þ   s    zAuthTokenInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   â   s    z AuthTokenInvalidError.__reduce__r#   r   r   r   r   rB   Ý   s   rB   c                       s$   e Zd Z fddZdd Z  ZS )ÚAuthTokenInvalid2Errorc                    s&   || _ tt|  d|  | j ¡ ¡ d S rC   r)   r*   r   r   r   r   ç   s    zAuthTokenInvalid2Error.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ë   s    z!AuthTokenInvalid2Error.__reduce__r#   r   r   r   r   rD   æ   s   rD   c                       s$   e Zd Z fddZdd Z  ZS )ÚAuthTokenInvalidxErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz#The specified auth token is invalidr)   r*   r   r   r   r   ð   s    zAuthTokenInvalidxError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ô   s    z!AuthTokenInvalidxError.__reduce__r#   r   r   r   r   rE   ï   s   rE   c                       s$   e Zd Z fddZdd Z  ZS )ÚAutoarchiveNotAvailableErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzYou cannot use this feature yetr)   r*   r   r   r   r   ù   s    z%AutoarchiveNotAvailableError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ý   s    z'AutoarchiveNotAvailableError.__reduce__r#   r   r   r   r   rF   ø   s   rF   c                       s$   e Zd Z fddZdd Z  ZS )ÚBankCardNumberInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzIncorrect credit card numberr)   r*   r   r   r   r     s    z#BankCardNumberInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z%BankCardNumberInvalidError.__reduce__r#   r   r   r   r   rG     s   rG   c                       s$   e Zd Z fddZdd Z  ZS )ÚBannedRightsInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzcYou cannot use that set of permissions in this request, i.e. restricting view_messages as a defaultr)   r*   r   r   r   r     s    z!BannedRightsInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z#BannedRightsInvalidError.__reduce__r#   r   r   r   r   rH   
  s   rH   c                       s$   e Zd Z fddZdd Z  ZS )ÚBasePortLocInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzBase port location invalidr)   r*   r   r   r   r     s    z BasePortLocInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z"BasePortLocInvalidError.__reduce__r#   r   r   r   r   rI     s   rI   c                       s$   e Zd Z fddZdd Z  ZS )ÚBotsTooMuchErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz,There are too many bots in this chat/channelr)   r*   r   r   r   r     s    zBotsTooMuchError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   !  s    zBotsTooMuchError.__reduce__r#   r   r   r   r   rJ     s   rJ   c                       s$   e Zd Z fddZdd Z  ZS )ÚBotChannelsNaErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz Bots can't edit admin privilegesr)   r*   r   r   r   r   &  s    zBotChannelsNaError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   *  s    zBotChannelsNaError.__reduce__r#   r   r   r   r   rK   %  s   rK   c                       s$   e Zd Z fddZdd Z  ZS )Ú!BotCommandDescriptionInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzJThe command description was empty, too long or had invalid characters usedr)   r*   r   r   r   r   /  s    z*BotCommandDescriptionInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   3  s    z,BotCommandDescriptionInvalidError.__reduce__r#   r   r   r   r   rL   .  s   rL   c                       s$   e Zd Z fddZdd Z  ZS )ÚBotCommandInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz The specified command is invalidr)   r*   r   r   r   r   8  s    zBotCommandInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   <  s    z!BotCommandInvalidError.__reduce__r#   r   r   r   r   rM   7  s   rM   c                       s$   e Zd Z fddZdd Z  ZS )ÚBotCommandsTooMuchErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz"The provided commands are too manyr)   r*   r   r   r   r   A  s    z BotCommandsTooMuchError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   E  s    z"BotCommandsTooMuchError.__reduce__r#   r   r   r   r   rN   @  s   rN   c                       s$   e Zd Z fddZdd Z  ZS )ÚBotDomainInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzSThe domain used for the auth button does not match the one configured in @BotFatherr)   r*   r   r   r   r   J  s    zBotDomainInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   N  s    z BotDomainInvalidError.__reduce__r#   r   r   r   r   rO   I  s   rO   c                       s$   e Zd Z fddZdd Z  ZS )ÚBotGamesDisabledErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz-Bot games cannot be used in this type of chatr)   r*   r   r   r   r   S  s    zBotGamesDisabledError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   W  s    z BotGamesDisabledError.__reduce__r#   r   r   r   r   rP   R  s   rP   c                       s$   e Zd Z fddZdd Z  ZS )ÚBotGroupsBlockedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz!This bot can't be added to groupsr)   r*   r   r   r   r   \  s    zBotGroupsBlockedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   `  s    z BotGroupsBlockedError.__reduce__r#   r   r   r   r   rQ   [  s   rQ   c                       s$   e Zd Z fddZdd Z  ZS )ÚBotInlineDisabledErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz%This bot can't be used in inline moder)   r*   r   r   r   r   e  s    zBotInlineDisabledError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   i  s    z!BotInlineDisabledError.__reduce__r#   r   r   r   r   rR   d  s   rR   c                       s$   e Zd Z fddZdd Z  ZS )ÚBotInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThis is not a valid botr)   r*   r   r   r   r   n  s    zBotInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   r  s    zBotInvalidError.__reduce__r#   r   r   r   r   rS   m  s   rS   c                       s$   e Zd Z fddZdd Z  ZS )ÚBotMethodInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzfThe API access for bot users is restricted. The method you tried to invoke cannot be executed as a botr)   r*   r   r   r   r   w  s    zBotMethodInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   {  s    z BotMethodInvalidError.__reduce__r#   r   r   r   r   rT   v  s   rT   c                       s$   e Zd Z fddZdd Z  ZS )ÚBotMissingErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S ©Nz$This method can only be run by a botr)   r*   r   r   r   r     s    zBotMissingError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zBotMissingError.__reduce__r#   r   r   r   r   rU     s   rU   c                       s$   e Zd Z fddZdd Z  ZS )ÚBotOnesideNotAvailErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz1Bots can't pin messages in PM just for themselvesr)   r*   r   r   r   r     s    z BotOnesideNotAvailError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z"BotOnesideNotAvailError.__reduce__r#   r   r   r   r   rW     s   rW   c                       s$   e Zd Z fddZdd Z  ZS )ÚBotPaymentsDisabledErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S rV   r)   r*   r   r   r   r     s    z!BotPaymentsDisabledError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z#BotPaymentsDisabledError.__reduce__r#   r   r   r   r   rX     s   rX   c                       s$   e Zd Z fddZdd Z  ZS )ÚBotPollsDisabledErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz+You cannot create polls under a bot accountr)   r*   r   r   r   r     s    zBotPollsDisabledError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z BotPollsDisabledError.__reduce__r#   r   r   r   r   rY     s   rY   c                       s$   e Zd Z fddZdd Z  ZS )ÚBotResponseTimeoutErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz4The bot did not answer to the callback query in timer)   r*   r   r   r   r   €  s    z BotResponseTimeoutError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   š  s    z"BotResponseTimeoutError.__reduce__r#   r   r   r   r   rZ   £  s   rZ   c                       s$   e Zd Z fddZdd Z  ZS )ÚBotScoreNotModifiedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe score wasn't modifiedr)   r*   r   r   r   r   ­  s    z!BotScoreNotModifiedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ±  s    z#BotScoreNotModifiedError.__reduce__r#   r   r   r   r   r[   ¬  s   r[   c                       s$   e Zd Z fddZdd Z  ZS )ÚBroadcastCallsDisabledErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S ©NÚ r)   r*   r   r   r   r   ¶  s    z$BroadcastCallsDisabledError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   º  s    z&BroadcastCallsDisabledError.__reduce__r#   r   r   r   r   r\   µ  s   r\   c                       s$   e Zd Z fddZdd Z  ZS )ÚBroadcastForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz0The request cannot be used in broadcast channelsr)   r*   r   r   r   r   ¿  s    z BroadcastForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ã  s    z"BroadcastForbiddenError.__reduce__r#   r   r   r   r   r_   Ÿ  s   r_   c                       s$   e Zd Z fddZdd Z  ZS )ÚBroadcastIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe channel is invalidr)   r*   r   r   r   r   È  s    z BroadcastIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ì  s    z"BroadcastIdInvalidError.__reduce__r#   r   r   r   r   r`   Ç  s   r`   c                       s$   e Zd Z fddZdd Z  ZS )Ú#BroadcastPublicVotersForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz6You cannot broadcast polls where the voters are publicr)   r*   r   r   r   r   Ñ  s    z,BroadcastPublicVotersForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Õ  s    z.BroadcastPublicVotersForbiddenError.__reduce__r#   r   r   r   r   ra   Ð  s   ra   c                       s$   e Zd Z fddZdd Z  ZS )ÚBroadcastRequiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz5The request can only be used with a broadcast channelr)   r*   r   r   r   r   Ú  s    zBroadcastRequiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Þ  s    z!BroadcastRequiredError.__reduce__r#   r   r   r   r   rb   Ù  s   rb   c                       s$   e Zd Z fddZdd Z  ZS )ÚButtonDataInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz#The provided button data is invalidr)   r*   r   r   r   r   ã  s    zButtonDataInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ç  s    z!ButtonDataInvalidError.__reduce__r#   r   r   r   r   rc   â  s   rc   c                       s$   e Zd Z fddZdd Z  ZS )ÚButtonTextInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz$The specified button text is invalidr)   r*   r   r   r   r   ì  s    zButtonTextInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ð  s    z!ButtonTextInvalidError.__reduce__r#   r   r   r   r   rd   ë  s   rd   c                       s$   e Zd Z fddZdd Z  ZS )ÚButtonTypeInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz6The type of one of the buttons you provided is invalidr)   r*   r   r   r   r   õ  s    zButtonTypeInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ù  s    z!ButtonTypeInvalidError.__reduce__r#   r   r   r   r   re   ô  s   re   c                       s$   e Zd Z fddZdd Z  ZS )ÚButtonUrlInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzButton URL invalidr)   r*   r   r   r   r   þ  s    zButtonUrlInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z ButtonUrlInvalidError.__reduce__r#   r   r   r   r   rf   ý  s   rf   c                       s$   e Zd Z fddZdd Z  ZS )Ú ButtonUserPrivacyRestrictedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz§The privacy setting of the user specified in a [inputKeyboardButtonUserProfile](/constructor/inputKeyboardButtonUserProfile) button do not allow creating such a buttonr)   r*   r   r   r   r     s    z)ButtonUserPrivacyRestrictedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z+ButtonUserPrivacyRestrictedError.__reduce__r#   r   r   r   r   rg     s   rg   c                       s$   e Zd Z fddZdd Z  ZS )ÚCallAlreadyAcceptedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe call was already acceptedr)   r*   r   r   r   r     s    z!CallAlreadyAcceptedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z#CallAlreadyAcceptedError.__reduce__r#   r   r   r   r   rh     s   rh   c                       s$   e Zd Z fddZdd Z  ZS )ÚCallAlreadyDeclinedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe call was already declinedr)   r*   r   r   r   r     s    z!CallAlreadyDeclinedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z#CallAlreadyDeclinedError.__reduce__r#   r   r   r   r   ri     s   ri   c                       s$   e Zd Z fddZdd Z  ZS )ÚCallOccupyFailedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz?The call failed because the user is already making another callr)   r*   r   r   r   r   "  s    zCallOccupyFailedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   &  s    z CallOccupyFailedError.__reduce__r#   r   r   r   r   rj   !  s   rj   c                       s$   e Zd Z fddZdd Z  ZS )ÚCallPeerInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz(The provided call peer object is invalidr)   r*   r   r   r   r   +  s    zCallPeerInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   /  s    zCallPeerInvalidError.__reduce__r#   r   r   r   r   rk   *  s   rk   c                       s$   e Zd Z fddZdd Z  ZS )ÚCallProtocolFlagsInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzCall protocol flags invalidr)   r*   r   r   r   r   4  s    z&CallProtocolFlagsInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   8  s    z(CallProtocolFlagsInvalidError.__reduce__r#   r   r   r   r   rl   3  s   rl   c                       s$   e Zd Z fddZdd Z  ZS )ÚCdnMethodInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzrThis method cannot be invoked on a CDN server. Refer to https://core.telegram.org/cdn#schema for available methodsr)   r*   r   r   r   r   =  s    zCdnMethodInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   A  s    z CdnMethodInvalidError.__reduce__r#   r   r   r   r   rm   <  s   rm   c                       s$   e Zd Z fddZdd Z  ZS )ÚCdnUploadTimeoutErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzGA server-side timeout occurred while reuploading the file to the CDN DCr)   r*   r   r   r   r   F  s    zCdnUploadTimeoutError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   J  s    z CdnUploadTimeoutError.__reduce__r#   r   r   r   r   rn   E  s   rn   c                       s$   e Zd Z fddZdd Z  ZS )Ú ChannelsAdminLocatedTooMuchErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz2The user has reached the limit of public geogroupsr)   r*   r   r   r   r   O  s    z)ChannelsAdminLocatedTooMuchError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   S  s    z+ChannelsAdminLocatedTooMuchError.__reduce__r#   r   r   r   r   ro   N  s   ro   c                       s$   e Zd Z fddZdd Z  ZS )ÚChannelsAdminPublicTooMuchErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzkYou're admin of too many public channels, make some channels private to change the username of this channelr)   r*   r   r   r   r   X  s    z(ChannelsAdminPublicTooMuchError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   \  s    z*ChannelsAdminPublicTooMuchError.__reduce__r#   r   r   r   r   rp   W  s   rp   c                       s$   e Zd Z fddZdd Z  ZS )ÚChannelsTooMuchErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz-You have joined too many channels/supergroupsr)   r*   r   r   r   r   a  s    zChannelsTooMuchError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   e  s    zChannelsTooMuchError.__reduce__r#   r   r   r   r   rq   `  s   rq   c                       s$   e Zd Z fddZdd Z  ZS )ÚChannelBannedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe channel is bannedr)   r*   r   r   r   r   j  s    zChannelBannedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   n  s    zChannelBannedError.__reduce__r#   r   r   r   r   rr   i  s   rr   c                       s$   e Zd Z fddZdd Z  ZS )ÚChannelForumMissingErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S r]   r)   r*   r   r   r   r   s  s    z!ChannelForumMissingError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   w  s    z#ChannelForumMissingError.__reduce__r#   r   r   r   r   rs   r  s   rs   c                       s$   e Zd Z fddZdd Z  ZS )ÚChannelIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz&The specified supergroup ID is invalidr)   r*   r   r   r   r   |  s    zChannelIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z ChannelIdInvalidError.__reduce__r#   r   r   r   r   rt   {  s   rt   c                       s$   e Zd Z fddZdd Z  ZS )ÚChannelInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz¯Invalid channel object. Make sure to pass the right types, for instance making sure that the request is designed for channels or otherwise look for a different one more suitedr)   r*   r   r   r   r     s    zChannelInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zChannelInvalidError.__reduce__r#   r   r   r   r   ru     s   ru   c                       s$   e Zd Z fddZdd Z  ZS )ÚChannelParicipantMissingErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz&The current user is not in the channelr)   r*   r   r   r   r     s    z&ChannelParicipantMissingError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z(ChannelParicipantMissingError.__reduce__r#   r   r   r   r   rv     s   rv   c                       s$   e Zd Z fddZdd Z  ZS )ÚChannelPrivateErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzyThe channel specified is private and you lack permission to access it. Another reason may be that you were banned from itr)   r*   r   r   r   r     s    zChannelPrivateError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zChannelPrivateError.__reduce__r#   r   r   r   r   rw     s   rw   c                       s$   e Zd Z fddZdd Z  ZS )ÚChannelPublicGroupNaErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz channel/supergroup not availabler)   r*   r   r   r   r      s    z"ChannelPublicGroupNaError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   €  s    z$ChannelPublicGroupNaError.__reduce__r#   r   r   r   r   rx     s   rx   c                       s$   e Zd Z fddZdd Z  ZS )ÚChannelTooBigErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S r]   r)   r*   r   r   r   r   ©  s    zChannelTooBigError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ­  s    zChannelTooBigError.__reduce__r#   r   r   r   r   ry   š  s   ry   c                       s$   e Zd Z fddZdd Z  ZS )ÚChannelTooLargeErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzChannel is too large to be deleted; this error is issued when trying to delete channels with more than 1000 members (subject to change)r)   r*   r   r   r   r   ²  s    zChannelTooLargeError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ¶  s    zChannelTooLargeError.__reduce__r#   r   r   r   r   rz   ±  s   rz   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatAboutNotModifiedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzAbout text has not changedr)   r*   r   r   r   r   »  s    z"ChatAboutNotModifiedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ¿  s    z$ChatAboutNotModifiedError.__reduce__r#   r   r   r   r   r{   º  s   r{   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatAboutTooLongErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzChat about too longr)   r*   r   r   r   r   Ä  s    zChatAboutTooLongError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   È  s    z ChatAboutTooLongError.__reduce__r#   r   r   r   r   r|   Ã  s   r|   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatAdminInviteRequiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz%You do not have the rights to do thisr)   r*   r   r   r   r   Í  s    z%ChatAdminInviteRequiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ñ  s    z'ChatAdminInviteRequiredError.__reduce__r#   r   r   r   r   r}   Ì  s   r}   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatAdminRequiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzºChat admin privileges are required to do that in the specified chat (for example, to send a message in a channel which is not yours), or invalid permissions used for the channel or groupr)   r*   r   r   r   r   Ö  s    zChatAdminRequiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ú  s    z!ChatAdminRequiredError.__reduce__r#   r   r   r   r   r~   Õ  s   r~   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatDiscussionUnallowedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S r]   r)   r*   r   r   r   r   ß  s    z%ChatDiscussionUnallowedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ã  s    z'ChatDiscussionUnallowedError.__reduce__r#   r   r   r   r   r   Þ  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzYou cannot write in this chatr)   r*   r   r   r   r   è  s    zChatForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ì  s    zChatForbiddenError.__reduce__r#   r   r   r   r   r   ç  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatForwardsRestrictedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz0You can't forward messages from a protected chatr)   r*   r   r   r   r   ñ  s    z$ChatForwardsRestrictedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   õ  s    z&ChatForwardsRestrictedError.__reduce__r#   r   r   r   r   r   ð  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatGetFailedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S r]   r)   r*   r   r   r   r   ú  s    zChatGetFailedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   þ  s    zChatGetFailedError.__reduce__r#   r   r   r   r   r   ù  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatGuestSendForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz|You join the discussion group before commenting, see [here](/api/discussion#requiring-users-to-join-the-group) for more infor)   r*   r   r   r   r     s    z$ChatGuestSendForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z&ChatGuestSendForbiddenError.__reduce__r#   r   r   r   r   r     s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatIdEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe provided chat ID is emptyr)   r*   r   r   r   r     s    zChatIdEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zChatIdEmptyError.__reduce__r#   r   r   r   r   r     s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatIdGenerateFailedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz$Failure while generating the chat IDr)   r*   r   r   r   r     s    z"ChatIdGenerateFailedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z$ChatIdGenerateFailedError.__reduce__r#   r   r   r   r   r     s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NaZ  Invalid object ID for a chat. Make sure to pass the right types, for instance making sure that the request is designed for chats (not channels/megagroups) or otherwise look for a different one more suited\nAn example working with a megagroup and AddChatUserRequest, it will fail because megagroups are channels. Use InviteToChannelRequest insteadr)   r*   r   r   r   r     s    zChatIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   "  s    zChatIdInvalidError.__reduce__r#   r   r   r   r   r     s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz$The chat is invalid for this requestr)   r*   r   r   r   r   '  s    zChatInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   +  s    zChatInvalidError.__reduce__r#   r   r   r   r   r   &  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatInvitePermanentErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz:You can't set an expiration date on permanent invite linksr)   r*   r   r   r   r   0  s    z!ChatInvitePermanentError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   4  s    z#ChatInvitePermanentError.__reduce__r#   r   r   r   r   r   /  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatLinkExistsErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzBThe chat is linked to a channel and cannot be used in that requestr)   r*   r   r   r   r   9  s    zChatLinkExistsError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   =  s    zChatLinkExistsError.__reduce__r#   r   r   r   r   r   8  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatNotModifiedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzYThe chat or channel wasn't modified (title, invites, username, admins, etc. are the same)r)   r*   r   r   r   r   B  s    zChatNotModifiedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   F  s    zChatNotModifiedError.__reduce__r#   r   r   r   r   r   A  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatRestrictedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz9The chat is restricted and cannot be used in that requestr)   r*   r   r   r   r   K  s    zChatRestrictedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   O  s    zChatRestrictedError.__reduce__r#   r   r   r   r   r   J  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatRevokeDateUnsupportedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzI`min_date` and `max_date` are not available for using with non-user peersr)   r*   r   r   r   r   T  s    z'ChatRevokeDateUnsupportedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   X  s    z)ChatRevokeDateUnsupportedError.__reduce__r#   r   r   r   r   r   S  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatSendGameForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz"You can't send a game to this chatr)   r*   r   r   r   r   ]  s    z#ChatSendGameForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   a  s    z%ChatSendGameForbiddenError.__reduce__r#   r   r   r   r   r   \  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatSendGifsForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz You can't send gifs in this chatr)   r*   r   r   r   r   f  s    z#ChatSendGifsForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   j  s    z%ChatSendGifsForbiddenError.__reduce__r#   r   r   r   r   r   e  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatSendInlineForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz+You cannot send inline results in this chatr)   r*   r   r   r   r   o  s    z%ChatSendInlineForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   s  s    z'ChatSendInlineForbiddenError.__reduce__r#   r   r   r   r   r   n  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatSendMediaForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz!You can't send media in this chatr)   r*   r   r   r   r   x  s    z$ChatSendMediaForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   |  s    z&ChatSendMediaForbiddenError.__reduce__r#   r   r   r   r   r   w  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatSendPollForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz!You can't send polls in this chatr)   r*   r   r   r   r     s    z#ChatSendPollForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z%ChatSendPollForbiddenError.__reduce__r#   r   r   r   r   r     s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatSendStickersForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz$You can't send stickers in this chatr)   r*   r   r   r   r     s    z'ChatSendStickersForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z)ChatSendStickersForbiddenError.__reduce__r#   r   r   r   r   r     s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatTitleEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzNo chat title providedr)   r*   r   r   r   r     s    zChatTitleEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zChatTitleEmptyError.__reduce__r#   r   r   r   r   r     s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatTooBigErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzµThis method is not available for groups with more than `chat_read_mark_size_threshold` members, [see client configuration](https://core.telegram.org/api/config#client-configuration)r)   r*   r   r   r   r     s    zChatTooBigError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"      s    zChatTooBigError.__reduce__r#   r   r   r   r   r     s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChatWriteForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzYou can't write in this chatr)   r*   r   r   r   r   ¥  s    z ChatWriteForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ©  s    z"ChatWriteForbiddenError.__reduce__r#   r   r   r   r   r   €  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚChpCallFailErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz/The statistics cannot be retrieved at this timer)   r*   r   r   r   r   ®  s    zChpCallFailError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ²  s    zChpCallFailError.__reduce__r#   r   r   r   r   r   ­  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚCodeEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe provided code is emptyr)   r*   r   r   r   r   ·  s    zCodeEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   »  s    zCodeEmptyError.__reduce__r#   r   r   r   r   r   ¶  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚCodeHashInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzCode hash invalidr)   r*   r   r   r   r   À  s    zCodeHashInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ä  s    zCodeHashInvalidError.__reduce__r#   r   r   r   r   r   ¿  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚCodeInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzCode invalid (i.e. from email)r)   r*   r   r   r   r   É  s    zCodeInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Í  s    zCodeInvalidError.__reduce__r#   r   r   r   r   r   È  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚConnectionApiIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe provided API id is invalidr)   r*   r   r   r   r   Ò  s    z$ConnectionApiIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ö  s    z&ConnectionApiIdInvalidError.__reduce__r#   r   r   r   r   r   Ñ  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚConnectionAppVersionEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzApp version is emptyr)   r*   r   r   r   r   Û  s    z'ConnectionAppVersionEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ß  s    z)ConnectionAppVersionEmptyError.__reduce__r#   r   r   r   r   r   Ú  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚConnectionDeviceModelEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzDevice model emptyr)   r*   r   r   r   r   ä  s    z(ConnectionDeviceModelEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   è  s    z*ConnectionDeviceModelEmptyError.__reduce__r#   r   r   r   r   r   ã  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚConnectionLangPackInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzwThe specified language pack is not valid. This is meant to be used by official applications only so far, leave it emptyr)   r*   r   r   r   r   í  s    z'ConnectionLangPackInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ñ  s    z)ConnectionLangPackInvalidError.__reduce__r#   r   r   r   r   r   ì  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚConnectionLayerInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz<The very first request must always be InvokeWithLayerRequestr)   r*   r   r   r   r   ö  s    z$ConnectionLayerInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ú  s    z&ConnectionLayerInvalidError.__reduce__r#   r   r   r   r   r   õ  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚConnectionNotInitedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzConnection not initializedr)   r*   r   r   r   r   ÿ  s    z!ConnectionNotInitedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z#ConnectionNotInitedError.__reduce__r#   r   r   r   r   r   þ  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚConnectionSystemEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzConnection system emptyr)   r*   r   r   r   r     s    z#ConnectionSystemEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z%ConnectionSystemEmptyError.__reduce__r#   r   r   r   r   r      s   r    c                       s$   e Zd Z fddZdd Z  ZS )Ú"ConnectionSystemLangCodeEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz6The system language string was empty during connectionr)   r*   r   r   r   r     s    z+ConnectionSystemLangCodeEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z-ConnectionSystemLangCodeEmptyError.__reduce__r#   r   r   r   r   r¡     s   r¡   c                       s$   e Zd Z fddZdd Z  ZS )ÚContactAddMissingErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzContact to add is missingr)   r*   r   r   r   r     s    zContactAddMissingError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z!ContactAddMissingError.__reduce__r#   r   r   r   r   r¢     s   r¢   c                       s$   e Zd Z fddZdd Z  ZS )ÚContactIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz"The provided contact ID is invalidr)   r*   r   r   r   r   #  s    zContactIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   '  s    z ContactIdInvalidError.__reduce__r#   r   r   r   r   r£   "  s   r£   c                       s$   e Zd Z fddZdd Z  ZS )ÚContactNameEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz)The provided contact name cannot be emptyr)   r*   r   r   r   r   ,  s    zContactNameEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   0  s    z ContactNameEmptyError.__reduce__r#   r   r   r   r   r€   +  s   r€   c                       s$   e Zd Z fddZdd Z  ZS )ÚContactReqMissingErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzMissing contact requestr)   r*   r   r   r   r   5  s    zContactReqMissingError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   9  s    z!ContactReqMissingError.__reduce__r#   r   r   r   r   r¥   4  s   r¥   c                       s$   e Zd Z fddZdd Z  ZS )ÚCreateCallFailedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz)An error occurred while creating the callr)   r*   r   r   r   r   >  s    zCreateCallFailedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   B  s    z CreateCallFailedError.__reduce__r#   r   r   r   r   rŠ   =  s   rŠ   c                       s$   e Zd Z fddZdd Z  ZS )ÚCurrencyTotalAmountInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz)The total amount of all prices is invalidr)   r*   r   r   r   r   G  s    z(CurrencyTotalAmountInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   K  s    z*CurrencyTotalAmountInvalidError.__reduce__r#   r   r   r   r   r§   F  s   r§   c                       s$   e Zd Z fddZdd Z  ZS )ÚDataInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzEncrypted data invalidr)   r*   r   r   r   r   P  s    zDataInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   T  s    zDataInvalidError.__reduce__r#   r   r   r   r   rš   O  s   rš   c                       s$   e Zd Z fddZdd Z  ZS )ÚDataJsonInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz!The provided JSON data is invalidr)   r*   r   r   r   r   Y  s    zDataJsonInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ]  s    zDataJsonInvalidError.__reduce__r#   r   r   r   r   r©   X  s   r©   c                       s$   e Zd Z fddZdd Z  ZS )ÚDataTooLongErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzData too longr)   r*   r   r   r   r   b  s    zDataTooLongError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   f  s    zDataTooLongError.__reduce__r#   r   r   r   r   rª   a  s   rª   c                       s$   e Zd Z fddZdd Z  ZS )ÚDateEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz
Date emptyr)   r*   r   r   r   r   k  s    zDateEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   o  s    zDateEmptyError.__reduce__r#   r   r   r   r   r«   j  s   r«   c                       s$   e Zd Z fddZdd Z  ZS )ÚDcIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzpThis occurs when an authorization is tried to be exported for the same data center one is currently connected tor)   r*   r   r   r   r   t  s    zDcIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   x  s    zDcIdInvalidError.__reduce__r#   r   r   r   r   r¬   s  s   r¬   c                       s$   e Zd Z fddZdd Z  ZS )ÚDhGAInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nzg_a invalidr)   r*   r   r   r   r   }  s    zDhGAInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zDhGAInvalidError.__reduce__r#   r   r   r   r   r­   |  s   r­   c                       s$   e Zd Z fddZdd Z  ZS )ÚDocumentInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz>The document file was invalid and can't be used in inline moder)   r*   r   r   r   r     s    zDocumentInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zDocumentInvalidError.__reduce__r#   r   r   r   r   r®     s   r®   c                       s$   e Zd Z fddZdd Z  ZS )ÚEditBotInviteForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz9Normal users can't edit invites that were created by botsr)   r*   r   r   r   r     s    z$EditBotInviteForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z&EditBotInviteForbiddenError.__reduce__r#   r   r   r   r   r¯     s   r¯   c                       s$   e Zd Z fddZdd Z  ZS )ÚEmailHashExpiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz6The email hash expired and cannot be used to verify itr)   r*   r   r   r   r     s    zEmailHashExpiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z EmailHashExpiredError.__reduce__r#   r   r   r   r   r°     s   r°   c                       s$   e Zd Z fddZdd Z  ZS )ÚEmailInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe given email is invalidr)   r*   r   r   r   r   ¡  s    zEmailInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ¥  s    zEmailInvalidError.__reduce__r#   r   r   r   r   r±      s   r±   c                       s$   e Zd Z fddZdd Z  ZS )ÚEmailUnconfirmedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzEmail unconfirmedr)   r*   r   r   r   r   ª  s    úEmailUnconfirmedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ®  s    ú EmailUnconfirmedError.__reduce__r#   r   r   r   r   r²   ©  s   r²   c                       s&   e Zd Zd fdd	Zdd Z  ZS )r²   r   c                    s:   || _ t|| _tt|  dj| jd|  | j ¡ ¡ d S )Nz?Email unconfirmed, the length of the code must be {code_length})Úcode_length)r   r   rµ   r   r   r   r   r   r   r   r   r   r   ³  s    
r³   c                 C   s   t | | j| jffS r   )r    r   rµ   r!   r   r   r   r"   ž  s    rŽ   )r   r#   r   r   r   r   r²   ²  s   c                       s$   e Zd Z fddZdd Z  ZS )ÚEmailVerifyExpiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz"The verification email has expiredr)   r*   r   r   r   r   œ  s    z EmailVerifyExpiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Á  s    z"EmailVerifyExpiredError.__reduce__r#   r   r   r   r   r¶   Œ  s   r¶   c                       s$   e Zd Z fddZdd Z  ZS )ÚEmojiInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz"The specified theme emoji is validr)   r*   r   r   r   r   Æ  s    zEmojiInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ê  s    zEmojiInvalidError.__reduce__r#   r   r   r   r   r·   Å  s   r·   c                       s$   e Zd Z fddZdd Z  ZS )ÚEmojiNotModifiedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe theme wasn't changedr)   r*   r   r   r   r   Ï  s    zEmojiNotModifiedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ó  s    z EmojiNotModifiedError.__reduce__r#   r   r   r   r   rž   Î  s   rž   c                       s$   e Zd Z fddZdd Z  ZS )ÚEmoticonEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz"The emoticon field cannot be emptyr)   r*   r   r   r   r   Ø  s    zEmoticonEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ü  s    zEmoticonEmptyError.__reduce__r#   r   r   r   r   r¹   ×  s   r¹   c                       s$   e Zd Z fddZdd Z  ZS )ÚEmoticonInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz;The specified emoticon cannot be used or was not a emoticonr)   r*   r   r   r   r   á  s    zEmoticonInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   å  s    zEmoticonInvalidError.__reduce__r#   r   r   r   r   rº   à  s   rº   c                       s$   e Zd Z fddZdd Z  ZS )ÚEmoticonStickerpackMissingErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz:The emoticon sticker pack you are trying to get is missingr)   r*   r   r   r   r   ê  s    z(EmoticonStickerpackMissingError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   î  s    z*EmoticonStickerpackMissingError.__reduce__r#   r   r   r   r   r»   é  s   r»   c                       s$   e Zd Z fddZdd Z  ZS )ÚEncryptedMessageInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzEncrypted message invalidr)   r*   r   r   r   r   ó  s    z%EncryptedMessageInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ÷  s    z'EncryptedMessageInvalidError.__reduce__r#   r   r   r   r   rŒ   ò  s   rŒ   c                       s$   e Zd Z fddZdd Z  ZS )ÚEncryptionAlreadyAcceptedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzSecret chat already acceptedr)   r*   r   r   r   r   ü  s    z'EncryptionAlreadyAcceptedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"      s    z)EncryptionAlreadyAcceptedError.__reduce__r#   r   r   r   r   rœ   û  s   rœ   c                       s$   e Zd Z fddZdd Z  ZS )ÚEncryptionAlreadyDeclinedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz$The secret chat was already declinedr)   r*   r   r   r   r     s    z'EncryptionAlreadyDeclinedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   	  s    z)EncryptionAlreadyDeclinedError.__reduce__r#   r   r   r   r   rŸ     s   rŸ   c                       s$   e Zd Z fddZdd Z  ZS )ÚEncryptionDeclinedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe secret chat was declinedr)   r*   r   r   r   r     s    z EncryptionDeclinedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z"EncryptionDeclinedError.__reduce__r#   r   r   r   r   r¿     s   r¿   c                       s$   e Zd Z fddZdd Z  ZS )ÚEncryptionIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz&The provided secret chat ID is invalidr)   r*   r   r   r   r     s    z!EncryptionIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z#EncryptionIdInvalidError.__reduce__r#   r   r   r   r   rÀ     s   rÀ   c                       s$   e Zd Z fddZdd Z  ZS )ÚEncryptionOccupyFailedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzfTDLib developer claimed it is not an error while accepting secret chats and 500 is used instead of 420r)   r*   r   r   r   r      s    z$EncryptionOccupyFailedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   $  s    z&EncryptionOccupyFailedError.__reduce__r#   r   r   r   r   rÁ     s   rÁ   c                       s$   e Zd Z fddZdd Z  ZS )ÚEntitiesTooLongErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzaIt is no longer possible to send such long data inside entity tags (for example inline text URLs)r)   r*   r   r   r   r   )  s    zEntitiesTooLongError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   -  s    zEntitiesTooLongError.__reduce__r#   r   r   r   r   rÂ   (  s   rÂ   c                       s$   e Zd Z fddZdd Z  ZS )ÚEntityBoundsInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzeSome of provided entities have invalid bounds (length is zero or out of the boundaries of the string)r)   r*   r   r   r   r   2  s    z!EntityBoundsInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   6  s    z#EntityBoundsInvalidError.__reduce__r#   r   r   r   r   rÃ   1  s   rÃ   c                       s$   e Zd Z fddZdd Z  ZS )ÚEntityMentionUserInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzYou can't use this entityr)   r*   r   r   r   r   ;  s    z&EntityMentionUserInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ?  s    z(EntityMentionUserInvalidError.__reduce__r#   r   r   r   r   rÄ   :  s   rÄ   c                       s$   e Zd Z fddZdd Z  ZS )ÚErrorTextEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz#The provided error message is emptyr)   r*   r   r   r   r   D  s    zErrorTextEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   H  s    zErrorTextEmptyError.__reduce__r#   r   r   r   r   rÅ   C  s   rÅ   c                       s$   e Zd Z fddZdd Z  ZS )ÚExpireDateInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz(The specified expiration date is invalidr)   r*   r   r   r   r   M  s    zExpireDateInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Q  s    z!ExpireDateInvalidError.__reduce__r#   r   r   r   r   rÆ   L  s   rÆ   c                       s$   e Zd Z fddZdd Z  ZS )ÚExpireForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S r]   r)   r*   r   r   r   r   V  s    zExpireForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Z  s    zExpireForbiddenError.__reduce__r#   r   r   r   r   rÇ   U  s   rÇ   c                       s$   e Zd Z fddZdd Z  ZS )ÚExportCardInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzProvided card is invalidr)   r*   r   r   r   r   _  s    zExportCardInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   c  s    z!ExportCardInvalidError.__reduce__r#   r   r   r   r   rÈ   ^  s   rÈ   c                       s$   e Zd Z fddZdd Z  ZS )ÚExternalUrlInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzExternal URL invalidr)   r*   r   r   r   r   h  s    z ExternalUrlInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   l  s    z"ExternalUrlInvalidError.__reduce__r#   r   r   r   r   rÉ   g  s   rÉ   c                       s$   e Zd Z fddZdd Z  ZS )ÚFieldNameEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz-The field with the name FIELD_NAME is missingr)   r*   r   r   r   r   q  s    zFieldNameEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   u  s    zFieldNameEmptyError.__reduce__r#   r   r   r   r   rÊ   p  s   rÊ   c                       s$   e Zd Z fddZdd Z  ZS )ÚFieldNameInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz-The field with the name FIELD_NAME is invalidr)   r*   r   r   r   r   z  s    zFieldNameInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ~  s    z FieldNameInvalidError.__reduce__r#   r   r   r   r   rË   y  s   rË   c                       s$   e Zd Z fddZdd Z  ZS )ÚFilerefUpgradeNeededErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz@The file reference needs to be refreshed before being used againr)   r*   r   r   r   r     s    z"FilerefUpgradeNeededError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z$FilerefUpgradeNeededError.__reduce__r#   r   r   r   r   rÌ     s   rÌ   c                       s$   e Zd Z fddZdd Z  ZS )ÚFileContentTypeInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzFile content-type is invalidr)   r*   r   r   r   r     s    z$FileContentTypeInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z&FileContentTypeInvalidError.__reduce__r#   r   r   r   r   rÍ     s   rÍ   c                       s$   e Zd Z fddZdd Z  ZS )ÚFileEmtpyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzAn empty file was providedr)   r*   r   r   r   r     s    zFileEmtpyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zFileEmtpyError.__reduce__r#   r   r   r   r   rÎ     s   rÎ   c                       s$   e Zd Z fddZdd Z  ZS )ÚFileIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz The provided file id is invalid. Make sure all parameters are present, have the correct type and are not empty (ID, access hash, file reference, thumb size ...)r)   r*   r   r   r   r     s    zFileIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ¢  s    zFileIdInvalidError.__reduce__r#   r   r   r   r   rÏ     s   rÏ   c                       s&   e Zd Zd fdd	Zdd Z  ZS )ÚFileMigrateErrorr   c                    s:   || _ t|| _tt|  dj| jd|  | j ¡ ¡ d S )Nz:The file to be accessed is currently stored in DC {new_dc}©Únew_dc©r   r   rÒ   r   r   r   r   r   r   r   r   r   r   §  s    
zFileMigrateError.__init__c                 C   s   t | | j| jffS r   ©r    r   rÒ   r!   r   r   r   r"   ¬  s    zFileMigrateError.__reduce__)r   r#   r   r   r   r   rÐ   Š  s   rÐ   c                       s$   e Zd Z fddZdd Z  ZS )ÚFilePartsInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz#The number of file parts is invalidr)   r*   r   r   r   r   ±  s    zFilePartsInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   µ  s    z FilePartsInvalidError.__reduce__r#   r   r   r   r   rÕ   °  s   rÕ   c                       s$   e Zd Z fddZdd Z  ZS )ÚFilePart0MissingErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzFile part 0 missingr)   r*   r   r   r   r   º  s    zFilePart0MissingError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ÿ  s    z FilePart0MissingError.__reduce__r#   r   r   r   r   rÖ   ¹  s   rÖ   c                       s$   e Zd Z fddZdd Z  ZS )ÚFilePartEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe provided file part is emptyr)   r*   r   r   r   r   Ã  s    zFilePartEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ç  s    zFilePartEmptyError.__reduce__r#   r   r   r   r   r×   Â  s   r×   c                       s$   e Zd Z fddZdd Z  ZS )ÚFilePartInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe file part number is invalidr)   r*   r   r   r   r   Ì  s    zFilePartInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ð  s    zFilePartInvalidError.__reduce__r#   r   r   r   r   rØ   Ë  s   rØ   c                       s$   e Zd Z fddZdd Z  ZS )ÚFilePartLengthInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz$The length of a file part is invalidr)   r*   r   r   r   r   Õ  s    z#FilePartLengthInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ù  s    z%FilePartLengthInvalidError.__reduce__r#   r   r   r   r   rÙ   Ô  s   rÙ   c                       s$   e Zd Z fddZdd Z  ZS )ÚFilePartSizeChangedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz;The file part size (chunk size) cannot change during uploadr)   r*   r   r   r   r   Þ  s    z!FilePartSizeChangedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   â  s    z#FilePartSizeChangedError.__reduce__r#   r   r   r   r   rÚ   Ý  s   rÚ   c                       s$   e Zd Z fddZdd Z  ZS )ÚFilePartSizeInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz&The provided file part size is invalidr)   r*   r   r   r   r   ç  s    z!FilePartSizeInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ë  s    z#FilePartSizeInvalidError.__reduce__r#   r   r   r   r   rÛ   æ  s   rÛ   c                       s$   e Zd Z fddZdd Z  ZS )ÚFilePartTooBigErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz!The uploaded file part is too bigr)   r*   r   r   r   r   ð  s    zFilePartTooBigError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ô  s    zFilePartTooBigError.__reduce__r#   r   r   r   r   rÜ   ï  s   rÜ   c                       s&   e Zd Zd fdd	Zdd Z  ZS )ÚFilePartMissingErrorr   c                    s:   || _ t|| _tt|  dj| jd|  | j ¡ ¡ d S )Nz0Part {which} of the file is missing from storage)Úwhich)r   r   rÞ   r   r   r   r   r   r   r   r   r   r   ù  s    
zFilePartMissingError.__init__c                 C   s   t | | j| jffS r   )r    r   rÞ   r!   r   r   r   r"   þ  s    zFilePartMissingError.__reduce__)r   r#   r   r   r   r   rÝ   ø  s   rÝ   c                       s$   e Zd Z fddZdd Z  ZS )ÚFileReferenceEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzHThe file reference must exist to access the media and it cannot be emptyr)   r*   r   r   r   r     s    z FileReferenceEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z"FileReferenceEmptyError.__reduce__r#   r   r   r   r   rß     s   rß   c                       s$   e Zd Z fddZdd Z  ZS )ÚFileReferenceExpiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzrThe file reference has expired and is no longer valid or it belongs to self-destructing media and cannot be resentr)   r*   r   r   r   r     s    z"FileReferenceExpiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z$FileReferenceExpiredError.__reduce__r#   r   r   r   r   rà     s   rà   c                       s$   e Zd Z fddZdd Z  ZS )ÚFileReferenceInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzLThe file reference is invalid or you can't do that operation on such messager)   r*   r   r   r   r     s    z"FileReferenceInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z$FileReferenceInvalidError.__reduce__r#   r   r   r   r   rá     s   rá   c                       s$   e Zd Z fddZdd Z  ZS )ÚFileTitleEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz!An empty file title was specifiedr)   r*   r   r   r   r     s    zFileTitleEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   "  s    zFileTitleEmptyError.__reduce__r#   r   r   r   r   râ     s   râ   c                       s$   e Zd Z fddZdd Z  ZS )ÚFilterIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz"The specified filter ID is invalidr)   r*   r   r   r   r   '  s    zFilterIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   +  s    zFilterIdInvalidError.__reduce__r#   r   r   r   r   rã   &  s   rã   c                       s$   e Zd Z fddZdd Z  ZS )ÚFilterIncludeEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz/The include_peers vector of the filter is emptyr)   r*   r   r   r   r   0  s    z FilterIncludeEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   4  s    z"FilterIncludeEmptyError.__reduce__r#   r   r   r   r   rä   /  s   rä   c                       s$   e Zd Z fddZdd Z  ZS )ÚFilterNotSupportedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz3The specified filter cannot be used in this contextr)   r*   r   r   r   r   9  s    z FilterNotSupportedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   =  s    z"FilterNotSupportedError.__reduce__r#   r   r   r   r   rå   8  s   rå   c                       s$   e Zd Z fddZdd Z  ZS )ÚFilterTitleEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz&The title field of the filter is emptyr)   r*   r   r   r   r   B  s    zFilterTitleEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   F  s    z FilterTitleEmptyError.__reduce__r#   r   r   r   r   ræ   A  s   ræ   c                       s$   e Zd Z fddZdd Z  ZS )ÚFirstNameInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe first name is invalidr)   r*   r   r   r   r   K  s    zFirstNameInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   O  s    z FirstNameInvalidError.__reduce__r#   r   r   r   r   rç   J  s   rç   c                       s&   e Zd Zd fdd	Zdd Z  ZS )ÚFloodTestPhoneWaitErrorr   c                    s:   || _ t|| _tt|  dj| jd|  | j ¡ ¡ d S )Nz;A wait of {seconds} seconds is required in the test serversr   r   r   r   r   r   r   T  s    
z FloodTestPhoneWaitError.__init__c                 C   s   t | | j| jffS r   r   r!   r   r   r   r"   Y  s    z"FloodTestPhoneWaitError.__reduce__)r   r#   r   r   r   r   rè   S  s   rè   c                       s&   e Zd Zd fdd	Zdd Z  ZS )ÚFloodWaitErrorr   c                    s:   || _ t|| _tt|  dj| jd|  | j ¡ ¡ d S )Nz'A wait of {seconds} seconds is requiredr   r   r   r   r   r   r   ^  s    
zFloodWaitError.__init__c                 C   s   t | | j| jffS r   r   r!   r   r   r   r"   c  s    zFloodWaitError.__reduce__)r   r#   r   r   r   r   ré   ]  s   ré   c                       s&   e Zd Zd fdd	Zdd Z  ZS )ÚFloodPremiumWaitErrorr   c                    s:   || _ t|| _tt|  dj| jd|  | j ¡ ¡ d S )Nz?A wait of {seconds} seconds is required in non-premium accountsr   r   r   r   r   r   r   h  s    
zFloodPremiumWaitError.__init__c                 C   s   t | | j| jffS r   r   r!   r   r   r   r"   m  s    z FloodPremiumWaitError.__reduce__)r   r#   r   r   r   r   rê   g  s   rê   c                       s$   e Zd Z fddZdd Z  ZS )ÚFolderIdEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz0The folder you tried to delete was already emptyr)   r*   r   r   r   r   r  s    zFolderIdEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   v  s    zFolderIdEmptyError.__reduce__r#   r   r   r   r   rë   q  s   rë   c                       s$   e Zd Z fddZdd Z  ZS )ÚFolderIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz)The folder you tried to use was not validr)   r*   r   r   r   r   {  s    zFolderIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zFolderIdInvalidError.__reduce__r#   r   r   r   r   rì   z  s   rì   c                       s$   e Zd Z fddZdd Z  ZS )ÚFreshChangeAdminsForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz4Recently logged-in users cannot add or change adminsr)   r*   r   r   r   r     s    z(FreshChangeAdminsForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z*FreshChangeAdminsForbiddenError.__reduce__r#   r   r   r   r   rí     s   rí   c                       s$   e Zd Z fddZdd Z  ZS )ÚFreshChangePhoneForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz0Recently logged-in users cannot use this requestr)   r*   r   r   r   r     s    z'FreshChangePhoneForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z)FreshChangePhoneForbiddenError.__reduce__r#   r   r   r   r   rî     s   rî   c                       s$   e Zd Z fddZdd Z  ZS )Ú%FreshResetAuthorisationForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzSThe current session is too new and cannot be used to reset other authorisations yetr)   r*   r   r   r   r     s    z.FreshResetAuthorisationForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z0FreshResetAuthorisationForbiddenError.__reduce__r#   r   r   r   r   rï     s   rï   c                       s$   e Zd Z fddZdd Z  ZS )ÚFromMessageBotDisabledErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz+Bots can't use fromMessage min constructorsr)   r*   r   r   r   r     s    z$FromMessageBotDisabledError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   £  s    z&FromMessageBotDisabledError.__reduce__r#   r   r   r   r   rð     s   rð   c                       s$   e Zd Z fddZdd Z  ZS )ÚFromPeerInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz9The given from_user peer cannot be used for the parameterr)   r*   r   r   r   r   š  s    zFromPeerInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ¬  s    zFromPeerInvalidError.__reduce__r#   r   r   r   r   rñ   §  s   rñ   c                       s$   e Zd Z fddZdd Z  ZS )ÚGameBotInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz.You cannot send that game with the current botr)   r*   r   r   r   r   ±  s    zGameBotInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   µ  s    zGameBotInvalidError.__reduce__r#   r   r   r   r   rò   °  s   rò   c                       s$   e Zd Z fddZdd Z  ZS )ÚGeoPointInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzInvalid geoposition providedr)   r*   r   r   r   r   º  s    zGeoPointInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ÿ  s    zGeoPointInvalidError.__reduce__r#   r   r   r   r   ró   ¹  s   ró   c                       s$   e Zd Z fddZdd Z  ZS )ÚGifContentTypeInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzGIF content-type invalidr)   r*   r   r   r   r   Ã  s    z#GifContentTypeInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ç  s    z%GifContentTypeInvalidError.__reduce__r#   r   r   r   r   rô   Â  s   rô   c                       s$   e Zd Z fddZdd Z  ZS )ÚGifIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe provided GIF ID is invalidr)   r*   r   r   r   r   Ì  s    zGifIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ð  s    zGifIdInvalidError.__reduce__r#   r   r   r   r   rõ   Ë  s   rõ   c                       s$   e Zd Z fddZdd Z  ZS )ÚGraphExpiredReloadErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz7This graph has expired, please obtain a new graph tokenr)   r*   r   r   r   r   Õ  s    z GraphExpiredReloadError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ù  s    z"GraphExpiredReloadError.__reduce__r#   r   r   r   r   rö   Ô  s   rö   c                       s$   e Zd Z fddZdd Z  ZS )ÚGraphInvalidReloadErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzSInvalid graph token provided, please reload the stats and provide the updated tokenr)   r*   r   r   r   r   Þ  s    z GraphInvalidReloadError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   â  s    z"GraphInvalidReloadError.__reduce__r#   r   r   r   r   r÷   Ý  s   r÷   c                       s$   e Zd Z fddZdd Z  ZS )ÚGraphOutdatedReloadErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz>Data can't be used for the channel statistics, graphs outdatedr)   r*   r   r   r   r   ç  s    z!GraphOutdatedReloadError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ë  s    z#GraphOutdatedReloadError.__reduce__r#   r   r   r   r   rø   æ  s   rø   c                       s$   e Zd Z fddZdd Z  ZS )Ú#GroupcallAddParticipantsFailedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S r]   r)   r*   r   r   r   r   ð  s    z,GroupcallAddParticipantsFailedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ô  s    z.GroupcallAddParticipantsFailedError.__reduce__r#   r   r   r   r   rù   ï  s   rù   c                       s$   e Zd Z fddZdd Z  ZS )ÚGroupcallAlreadyDiscardedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz$The group call was already discardedr)   r*   r   r   r   r   ù  s    z'GroupcallAlreadyDiscardedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ý  s    z)GroupcallAlreadyDiscardedError.__reduce__r#   r   r   r   r   rú   ø  s   rú   c                       s$   e Zd Z fddZdd Z  ZS )ÚGroupcallAlreadyStartedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe groupcall has already started, you can join directly using [phone.joinGroupCall](https://core.telegram.org/method/phone.joinGroupCall)r)   r*   r   r   r   r     s    z%GroupcallAlreadyStartedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z'GroupcallAlreadyStartedError.__reduce__r#   r   r   r   r   rû     s   rû   c                       s$   e Zd Z fddZdd Z  ZS )ÚGroupcallForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz The group call has already endedr)   r*   r   r   r   r     s    z GroupcallForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z"GroupcallForbiddenError.__reduce__r#   r   r   r   r   rü   
  s   rü   c                       s$   e Zd Z fddZdd Z  ZS )ÚGroupcallInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz#The specified group call is invalidr)   r*   r   r   r   r     s    zGroupcallInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z GroupcallInvalidError.__reduce__r#   r   r   r   r   rý     s   rý   c                       s$   e Zd Z fddZdd Z  ZS )ÚGroupcallJoinMissingErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz"You haven't joined this group callr)   r*   r   r   r   r     s    z"GroupcallJoinMissingError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   !  s    z$GroupcallJoinMissingError.__reduce__r#   r   r   r   r   rþ     s   rþ   c                       s$   e Zd Z fddZdd Z  ZS )ÚGroupcallNotModifiedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz$Group call settings weren't modifiedr)   r*   r   r   r   r   &  s    z"GroupcallNotModifiedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   *  s    z$GroupcallNotModifiedError.__reduce__r#   r   r   r   r   rÿ   %  s   rÿ   c                       s$   e Zd Z fddZdd Z  ZS )ÚGroupcallSsrcDuplicateMuchErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzCThe app needs to retry joining the group call with a new SSRC valuer)   r*   r   r   r   r   /  s    z(GroupcallSsrcDuplicateMuchError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   3  s    z*GroupcallSsrcDuplicateMuchError.__reduce__r#   r   r   r   r   r   .  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚGroupedMediaInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzInvalid grouped mediar)   r*   r   r   r   r   8  s    z!GroupedMediaInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   <  s    z#GroupedMediaInvalidError.__reduce__r#   r   r   r   r   r  7  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚGroupCallInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzGroup call invalidr)   r*   r   r   r   r   A  s    zGroupCallInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   E  s    z GroupCallInvalidError.__reduce__r#   r   r   r   r   r  @  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚHashInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe provided hash is invalidr)   r*   r   r   r   r   J  s    zHashInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   N  s    zHashInvalidError.__reduce__r#   r   r   r   r   r  I  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚHideRequesterMissingErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz3The join request was missing or was already handledr)   r*   r   r   r   r   S  s    z"HideRequesterMissingError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   W  s    z$HideRequesterMissingError.__reduce__r#   r   r   r   r   r  R  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚHistoryGetFailedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzFetching of history failedr)   r*   r   r   r   r   \  s    zHistoryGetFailedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   `  s    z HistoryGetFailedError.__reduce__r#   r   r   r   r   r  [  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚImageProcessFailedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzFailure while processing imager)   r*   r   r   r   r   e  s    z ImageProcessFailedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   i  s    z"ImageProcessFailedError.__reduce__r#   r   r   r   r   r  d  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚImportFileInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz$The file is too large to be importedr)   r*   r   r   r   r   n  s    zImportFileInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   r  s    z!ImportFileInvalidError.__reduce__r#   r   r   r   r   r  m  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚImportFormatUnrecognizedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzUnknown import formatr)   r*   r   r   r   r   w  s    z&ImportFormatUnrecognizedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   {  s    z(ImportFormatUnrecognizedError.__reduce__r#   r   r   r   r   r  v  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚImportIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz"The specified import ID is invalidr)   r*   r   r   r   r     s    zImportIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zImportIdInvalidError.__reduce__r#   r   r   r   r   r	    s   r	  c                       s$   e Zd Z fddZdd Z  ZS )ÚInlineBotRequiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz;The action must be performed through an inline bot callbackr)   r*   r   r   r   r     s    zInlineBotRequiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z!InlineBotRequiredError.__reduce__r#   r   r   r   r   r
    s   r
  c                       s$   e Zd Z fddZdd Z  ZS )ÚInlineResultExpiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe inline query expiredr)   r*   r   r   r   r     s    z!InlineResultExpiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z#InlineResultExpiredError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚInputConstructorInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz#The provided constructor is invalidr)   r*   r   r   r   r     s    z%InputConstructorInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z'InputConstructorInvalidError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚInputFetchErrorErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz3An error occurred while deserializing TL parametersr)   r*   r   r   r   r   €  s    zInputFetchErrorError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   š  s    zInputFetchErrorError.__reduce__r#   r   r   r   r   r  £  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚInputFetchFailErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzFailed deserializing TL payloadr)   r*   r   r   r   r   ­  s    zInputFetchFailError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ±  s    zInputFetchFailError.__reduce__r#   r   r   r   r   r  ¬  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚInputFilterInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz"The search query filter is invalidr)   r*   r   r   r   r   ¶  s    z InputFilterInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   º  s    z"InputFilterInvalidError.__reduce__r#   r   r   r   r   r  µ  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚInputLayerInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe provided layer is invalidr)   r*   r   r   r   r   ¿  s    zInputLayerInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ã  s    z!InputLayerInvalidError.__reduce__r#   r   r   r   r   r  Ÿ  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚInputMethodInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz>The invoked method does not exist anymore or has never existedr)   r*   r   r   r   r   È  s    z InputMethodInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ì  s    z"InputMethodInvalidError.__reduce__r#   r   r   r   r   r  Ç  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚInputRequestTooLongErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzÀThe input request was too long. This may be a bug in the library as it can occur when serializing more bytes than it should (like appending the vector constructor code at the end of a message)r)   r*   r   r   r   r   Ñ  s    z!InputRequestTooLongError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Õ  s    z#InputRequestTooLongError.__reduce__r#   r   r   r   r   r  Ð  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚInputTextEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe specified text is emptyr)   r*   r   r   r   r   Ú  s    zInputTextEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Þ  s    zInputTextEmptyError.__reduce__r#   r   r   r   r   r  Ù  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚInputUserDeactivatedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe specified user was deletedr)   r*   r   r   r   r   ã  s    z"InputUserDeactivatedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ç  s    z$InputUserDeactivatedError.__reduce__r#   r   r   r   r   r  â  s   r  c                       s&   e Zd Zd fdd	Zdd Z  ZS )ÚInterdcCallErrorErrorr   c                    s:   || _ t|| _tt|  dj| jd|  | j ¡ ¡ d S )Nz2An error occurred while communicating with DC {dc}©Údc©r   r   r  r   r   r   r   r   r   r   r   r   r   ì  s    
zInterdcCallErrorError.__init__c                 C   s   t | | j| jffS r   ©r    r   r  r!   r   r   r   r"   ñ  s    z InterdcCallErrorError.__reduce__)r   r#   r   r   r   r   r  ë  s   r  c                       s&   e Zd Zd fdd	Zdd Z  ZS )ÚInterdcCallRichErrorErrorr   c                    s:   || _ t|| _tt|  dj| jd|  | j ¡ ¡ d S )Nz6A rich error occurred while communicating with DC {dc}r  r  r   r   r   r   r   ö  s    
z"InterdcCallRichErrorError.__init__c                 C   s   t | | j| jffS r   r  r!   r   r   r   r"   û  s    z$InterdcCallRichErrorError.__reduce__)r   r#   r   r   r   r   r  õ  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚInviteForbiddenWithJoinasErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzòIf the user has anonymously joined a group call as a channel, they can't invite other users to the group call because that would cause deanonymization, because the invite would be sent using the original user ID, not the anonymized channel IDr)   r*   r   r   r   r      s    z'InviteForbiddenWithJoinasError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z)InviteForbiddenWithJoinasError.__reduce__r#   r   r   r   r   r  ÿ  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚInviteHashEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe invite hash is emptyr)   r*   r   r   r   r   	  s    zInviteHashEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zInviteHashEmptyError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚInviteHashExpiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzDThe chat the user tried to join has expired and is not valid anymorer)   r*   r   r   r   r     s    zInviteHashExpiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z!InviteHashExpiredError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚInviteHashInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe invite hash is invalidr)   r*   r   r   r   r     s    zInviteHashInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z!InviteHashInvalidError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚInviteRequestSentErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz<You have successfully requested to join this chat or channelr)   r*   r   r   r   r   $  s    zInviteRequestSentError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   (  s    z!InviteRequestSentError.__reduce__r#   r   r   r   r   r  #  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚInviteRevokedMissingErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz;The specified invite link was already revoked or is invalidr)   r*   r   r   r   r   -  s    z"InviteRevokedMissingError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   1  s    z$InviteRevokedMissingError.__reduce__r#   r   r   r   r   r   ,  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚInvoicePayloadInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz(The specified invoice payload is invalidr)   r*   r   r   r   r   6  s    z#InvoicePayloadInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   :  s    z%InvoicePayloadInvalidError.__reduce__r#   r   r   r   r   r!  5  s   r!  c                       s$   e Zd Z fddZdd Z  ZS )ÚJoinAsPeerInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz6The specified peer cannot be used to join a group callr)   r*   r   r   r   r   ?  s    zJoinAsPeerInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   C  s    z!JoinAsPeerInvalidError.__reduce__r#   r   r   r   r   r"  >  s   r"  c                       s$   e Zd Z fddZdd Z  ZS )ÚLangCodeInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz&The specified language code is invalidr)   r*   r   r   r   r   H  s    zLangCodeInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   L  s    zLangCodeInvalidError.__reduce__r#   r   r   r   r   r#  G  s   r#  c                       s$   e Zd Z fddZdd Z  ZS )ÚLangCodeNotSupportedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz,The specified language code is not supportedr)   r*   r   r   r   r   Q  s    z"LangCodeNotSupportedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   U  s    z$LangCodeNotSupportedError.__reduce__r#   r   r   r   r   r$  P  s   r$  c                       s$   e Zd Z fddZdd Z  ZS )ÚLangPackInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz%The provided language pack is invalidr)   r*   r   r   r   r   Z  s    zLangPackInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ^  s    zLangPackInvalidError.__reduce__r#   r   r   r   r   r%  Y  s   r%  c                       s$   e Zd Z fddZdd Z  ZS )ÚLastnameInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe last name is invalidr)   r*   r   r   r   r   c  s    zLastnameInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   g  s    zLastnameInvalidError.__reduce__r#   r   r   r   r   r&  b  s   r&  c                       s$   e Zd Z fddZdd Z  ZS )ÚLimitInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzXAn invalid limit was provided. See https://core.telegram.org/api/files#downloading-filesr)   r*   r   r   r   r   l  s    zLimitInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   p  s    zLimitInvalidError.__reduce__r#   r   r   r   r   r'  k  s   r'  c                       s$   e Zd Z fddZdd Z  ZS )ÚLinkNotModifiedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz+The channel is already linked to this groupr)   r*   r   r   r   r   u  s    zLinkNotModifiedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   y  s    zLinkNotModifiedError.__reduce__r#   r   r   r   r   r(  t  s   r(  c                       s$   e Zd Z fddZdd Z  ZS )ÚLocationInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzdThe location given for a file was invalid. See https://core.telegram.org/api/files#downloading-filesr)   r*   r   r   r   r   ~  s    zLocationInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zLocationInvalidError.__reduce__r#   r   r   r   r   r)  }  s   r)  c                       s$   e Zd Z fddZdd Z  ZS )ÚMaxDateInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz%The specified maximum date is invalidr)   r*   r   r   r   r     s    zMaxDateInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zMaxDateInvalidError.__reduce__r#   r   r   r   r   r*    s   r*  c                       s$   e Zd Z fddZdd Z  ZS )ÚMaxIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe provided max ID is invalidr)   r*   r   r   r   r     s    zMaxIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zMaxIdInvalidError.__reduce__r#   r   r   r   r   r+    s   r+  c                       s$   e Zd Z fddZdd Z  ZS )ÚMaxQtsInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe provided QTS were invalidr)   r*   r   r   r   r     s    zMaxQtsInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zMaxQtsInvalidError.__reduce__r#   r   r   r   r   r,    s   r,  c                       s$   e Zd Z fddZdd Z  ZS )ÚMd5ChecksumInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe MD5 check-sums do not matchr)   r*   r   r   r   r   ¢  s    z Md5ChecksumInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Š  s    z"Md5ChecksumInvalidError.__reduce__r#   r   r   r   r   r-  ¡  s   r-  c                       s$   e Zd Z fddZdd Z  ZS )ÚMediaCaptionTooLongErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe caption is too longr)   r*   r   r   r   r   «  s    z!MediaCaptionTooLongError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ¯  s    z#MediaCaptionTooLongError.__reduce__r#   r   r   r   r   r.  ª  s   r.  c                       s$   e Zd Z fddZdd Z  ZS )ÚMediaEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzoThe provided media object is invalid or the current account may not be able to send it (such as games as users)r)   r*   r   r   r   r   Ž  s    zMediaEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ž  s    zMediaEmptyError.__reduce__r#   r   r   r   r   r/  ³  s   r/  c                       s$   e Zd Z fddZdd Z  ZS )ÚMediaGroupedInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz6You tried to send media of different types in an albumr)   r*   r   r   r   r   œ  s    z!MediaGroupedInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Á  s    z#MediaGroupedInvalidError.__reduce__r#   r   r   r   r   r0  Œ  s   r0  c                       s$   e Zd Z fddZdd Z  ZS )ÚMediaInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzMedia invalidr)   r*   r   r   r   r   Æ  s    zMediaInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ê  s    zMediaInvalidError.__reduce__r#   r   r   r   r   r1  Å  s   r1  c                       s$   e Zd Z fddZdd Z  ZS )ÚMediaNewInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzSThe new media to edit the message with is invalid (such as stickers or voice notes)r)   r*   r   r   r   r   Ï  s    zMediaNewInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ó  s    zMediaNewInvalidError.__reduce__r#   r   r   r   r   r2  Î  s   r2  c                       s$   e Zd Z fddZdd Z  ZS )ÚMediaPrevInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzSThe old media cannot be edited with anything else (such as stickers or voice notes)r)   r*   r   r   r   r   Ø  s    zMediaPrevInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ü  s    z MediaPrevInvalidError.__reduce__r#   r   r   r   r   r3  ×  s   r3  c                       s$   e Zd Z fddZdd Z  ZS )ÚMediaTtlInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S r]   r)   r*   r   r   r   r   á  s    zMediaTtlInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   å  s    zMediaTtlInvalidError.__reduce__r#   r   r   r   r   r4  à  s   r4  c                       s$   e Zd Z fddZdd Z  ZS )ÚMegagroupIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe group is invalidr)   r*   r   r   r   r   ê  s    z MegagroupIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   î  s    z"MegagroupIdInvalidError.__reduce__r#   r   r   r   r   r5  é  s   r5  c                       s$   e Zd Z fddZdd Z  ZS )ÚMegagroupPrehistoryHiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzBYou can't set this discussion group because it's history is hiddenr)   r*   r   r   r   r   ó  s    z'MegagroupPrehistoryHiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ÷  s    z)MegagroupPrehistoryHiddenError.__reduce__r#   r   r   r   r   r6  ò  s   r6  c                       s$   e Zd Z fddZdd Z  ZS )ÚMegagroupRequiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz5The request can only be used with a megagroup channelr)   r*   r   r   r   r   ü  s    zMegagroupRequiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"    	  s    z!MegagroupRequiredError.__reduce__r#   r   r   r   r   r7  û  s   r7  c                       s$   e Zd Z fddZdd Z  ZS )ÚMemberNoLocationErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzNAn internal failure occurred while fetching user info (couldn't find location)r)   r*   r   r   r   r   	  s    zMemberNoLocationError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   		  s    z MemberNoLocationError.__reduce__r#   r   r   r   r   r8  	  s   r8  c                       s$   e Zd Z fddZdd Z  ZS )Ú!MemberOccupyPrimaryLocFailedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz,Occupation of primary member location failedr)   r*   r   r   r   r   	  s    z*MemberOccupyPrimaryLocFailedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   	  s    z,MemberOccupyPrimaryLocFailedError.__reduce__r#   r   r   r   r   r9  	  s   r9  c                       s$   e Zd Z fddZdd Z  ZS )ÚMessageAuthorRequiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzMessage author requiredr)   r*   r   r   r   r   	  s    z#MessageAuthorRequiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   	  s    z%MessageAuthorRequiredError.__reduce__r#   r   r   r   r   r:  	  s   r:  c                       s$   e Zd Z fddZdd Z  ZS )ÚMessageDeleteForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzfYou can't delete one of the messages you tried to delete, most likely because it is a service message.r)   r*   r   r   r   r    	  s    z$MessageDeleteForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   $	  s    z&MessageDeleteForbiddenError.__reduce__r#   r   r   r   r   r;  	  s   r;  c                       s$   e Zd Z fddZdd Z  ZS )ÚMessageEditTimeExpiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzQYou can't edit this message anymore, too much time has passed since its creation.r)   r*   r   r   r   r   )	  s    z$MessageEditTimeExpiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   -	  s    z&MessageEditTimeExpiredError.__reduce__r#   r   r   r   r   r<  (	  s   r<  c                       s$   e Zd Z fddZdd Z  ZS )ÚMessageEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz'Empty or invalid UTF-8 message was sentr)   r*   r   r   r   r   2	  s    zMessageEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   6	  s    zMessageEmptyError.__reduce__r#   r   r   r   r   r=  1	  s   r=  c                       s$   e Zd Z fddZdd Z  ZS )ÚMessageIdsEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzNo message ids were providedr)   r*   r   r   r   r   ;	  s    zMessageIdsEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ?	  s    zMessageIdsEmptyError.__reduce__r#   r   r   r   r   r>  :	  s   r>  c                       s$   e Zd Z fddZdd Z  ZS )ÚMessageIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzRThe specified message ID is invalid or you can't do that operation on such messager)   r*   r   r   r   r   D	  s    zMessageIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   H	  s    z MessageIdInvalidError.__reduce__r#   r   r   r   r   r?  C	  s   r?  c                       s$   e Zd Z fddZdd Z  ZS )ÚMessageNotModifiedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz'Content of the message was not modifiedr)   r*   r   r   r   r   M	  s    z MessageNotModifiedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Q	  s    z"MessageNotModifiedError.__reduce__r#   r   r   r   r   r@  L	  s   r@  c                       s$   e Zd Z fddZdd Z  ZS )ÚMessagePollClosedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz1The poll was closed and can no longer be voted onr)   r*   r   r   r   r   V	  s    zMessagePollClosedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Z	  s    z!MessagePollClosedError.__reduce__r#   r   r   r   r   rA  U	  s   rA  c                       s$   e Zd Z fddZdd Z  ZS )ÚMessageTooLongErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzMessage was too longr)   r*   r   r   r   r   _	  s    zMessageTooLongError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   c	  s    zMessageTooLongError.__reduce__r#   r   r   r   r   rB  ^	  s   rB  c                       s$   e Zd Z fddZdd Z  ZS )ÚMethodInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz,The API method is invalid and cannot be usedr)   r*   r   r   r   r   h	  s    zMethodInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   l	  s    zMethodInvalidError.__reduce__r#   r   r   r   r   rC  g	  s   rC  c                       s$   e Zd Z fddZdd Z  ZS )ÚMinDateInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz%The specified minimum date is invalidr)   r*   r   r   r   r   q	  s    zMinDateInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   u	  s    zMinDateInvalidError.__reduce__r#   r   r   r   r   rD  p	  s   rD  c                       s$   e Zd Z fddZdd Z  ZS )ÚMsgidDecreaseRetryErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz5The request should be retried with a lower message IDr)   r*   r   r   r   r   z	  s    z MsgidDecreaseRetryError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ~	  s    z"MsgidDecreaseRetryError.__reduce__r#   r   r   r   r   rE  y	  s   rE  c                       s$   e Zd Z fddZdd Z  ZS )ÚMsgIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz+The message ID used in the peer was invalidr)   r*   r   r   r   r   	  s    zMsgIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   	  s    zMsgIdInvalidError.__reduce__r#   r   r   r   r   rF  	  s   rF  c                       s$   e Zd Z fddZdd Z  ZS )ÚMsgTooOldErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz®[`chat_read_mark_expire_period` seconds](https://core.telegram.org/api/config#chat-read-mark-expire-period) have passed since the message was sent, read receipts were deletedr)   r*   r   r   r   r   	  s    zMsgTooOldError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   	  s    zMsgTooOldError.__reduce__r#   r   r   r   r   rG  	  s   rG  c                       s$   e Zd Z fddZdd Z  ZS )ÚMsgWaitFailedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz A waiting call returned an errorr)   r*   r   r   r   r   	  s    zMsgWaitFailedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   	  s    zMsgWaitFailedError.__reduce__r#   r   r   r   r   rH  	  s   rH  c                       s$   e Zd Z fddZdd Z  ZS )ÚMtSendQueueTooLongErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S r]   r)   r*   r   r   r   r   	  s    z MtSendQueueTooLongError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ¢	  s    z"MtSendQueueTooLongError.__reduce__r#   r   r   r   r   rI  	  s   rI  c                       s$   e Zd Z fddZdd Z  ZS )ÚMultiMediaTooLongErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz4Too many media files were included in the same albumr)   r*   r   r   r   r   §	  s    zMultiMediaTooLongError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   «	  s    z!MultiMediaTooLongError.__reduce__r#   r   r   r   r   rJ  Š	  s   rJ  c                       s$   e Zd Z fddZdd Z  ZS )ÚNeedChatInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe provided chat is invalidr)   r*   r   r   r   r   °	  s    zNeedChatInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ž	  s    zNeedChatInvalidError.__reduce__r#   r   r   r   r   rK  ¯	  s   rK  c                       s$   e Zd Z fddZdd Z  ZS )ÚNeedMemberInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzKThe provided member is invalid or does not exist (for example a thumb size)r)   r*   r   r   r   r   ¹	  s    zNeedMemberInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   œ	  s    z!NeedMemberInvalidError.__reduce__r#   r   r   r   r   rL  ž	  s   rL  c                       s&   e Zd Zd fdd	Zdd Z  ZS )ÚNetworkMigrateErrorr   c                    s:   || _ t|| _tt|  dj| jd|  | j ¡ ¡ d S )Nz4The source IP address is associated with DC {new_dc}rÑ   rÓ   r   r   r   r   r   Â	  s    
zNetworkMigrateError.__init__c                 C   s   t | | j| jffS r   rÔ   r!   r   r   r   r"   Ç	  s    zNetworkMigrateError.__reduce__)r   r#   r   r   r   r   rM  Á	  s   rM  c                       s$   e Zd Z fddZdd Z  ZS )ÚNewSaltInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe new salt is invalidr)   r*   r   r   r   r   Ì	  s    zNewSaltInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ð	  s    zNewSaltInvalidError.__reduce__r#   r   r   r   r   rN  Ë	  s   rN  c                       s$   e Zd Z fddZdd Z  ZS )ÚNewSettingsEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz^No password is set on the current account, and no new password was specified in `new_settings`r)   r*   r   r   r   r   Õ	  s    zNewSettingsEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ù	  s    z NewSettingsEmptyError.__reduce__r#   r   r   r   r   rO  Ô	  s   rO  c                       s$   e Zd Z fddZdd Z  ZS )ÚNewSettingsInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe new settings are invalidr)   r*   r   r   r   r   Þ	  s    z NewSettingsInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   â	  s    z"NewSettingsInvalidError.__reduce__r#   r   r   r   r   rP  Ý	  s   rP  c                       s$   e Zd Z fddZdd Z  ZS )ÚNextOffsetInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz]The value for next_offset is invalid. Check that it has normal characters and is not too longr)   r*   r   r   r   r   ç	  s    zNextOffsetInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ë	  s    z!NextOffsetInvalidError.__reduce__r#   r   r   r   r   rQ  æ	  s   rQ  c                       s$   e Zd Z fddZdd Z  ZS )ÚNotAllowedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S r]   r)   r*   r   r   r   r   ð	  s    zNotAllowedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ô	  s    zNotAllowedError.__reduce__r#   r   r   r   r   rR  ï	  s   rR  c                       s$   e Zd Z fddZdd Z  ZS )ÚOffsetInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NztThe given offset was invalid, it must be divisible by 1KB. See https://core.telegram.org/api/files#downloading-filesr)   r*   r   r   r   r   ù	  s    zOffsetInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ý	  s    zOffsetInvalidError.__reduce__r#   r   r   r   r   rS  ø	  s   rS  c                       s$   e Zd Z fddZdd Z  ZS )ÚOffsetPeerIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz#The provided offset peer is invalidr)   r*   r   r   r   r   
  s    z!OffsetPeerIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   
  s    z#OffsetPeerIdInvalidError.__reduce__r#   r   r   r   r   rT  
  s   rT  c                       s$   e Zd Z fddZdd Z  ZS )ÚOptionsTooMuchErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz)You defined too many options for the pollr)   r*   r   r   r   r   
  s    zOptionsTooMuchError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   
  s    zOptionsTooMuchError.__reduce__r#   r   r   r   r   rU  

  s   rU  c                       s$   e Zd Z fddZdd Z  ZS )ÚOptionInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzEThe option specified is invalid and does not exist in the target pollr)   r*   r   r   r   r   
  s    zOptionInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   
  s    zOptionInvalidError.__reduce__r#   r   r   r   r   rV  
  s   rV  c                       s$   e Zd Z fddZdd Z  ZS )ÚPackShortNameInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzInvalid sticker pack name. It must begin with a letter, can't contain consecutive underscores and must end in "_by_<bot username>".r)   r*   r   r   r   r   
  s    z"PackShortNameInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   !
  s    z$PackShortNameInvalidError.__reduce__r#   r   r   r   r   rW  
  s   rW  c                       s$   e Zd Z fddZdd Z  ZS )ÚPackShortNameOccupiedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz+A stickerpack with this name already existsr)   r*   r   r   r   r   &
  s    z#PackShortNameOccupiedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   *
  s    z%PackShortNameOccupiedError.__reduce__r#   r   r   r   r   rX  %
  s   rX  c                       s$   e Zd Z fddZdd Z  ZS )ÚPackTitleInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz The stickerpack title is invalidr)   r*   r   r   r   r   /
  s    zPackTitleInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   3
  s    z PackTitleInvalidError.__reduce__r#   r   r   r   r   rY  .
  s   rY  c                       s$   e Zd Z fddZdd Z  ZS )ÚParticipantsTooFewErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzNot enough participantsr)   r*   r   r   r   r   8
  s    z ParticipantsTooFewError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   <
  s    z"ParticipantsTooFewError.__reduce__r#   r   r   r   r   rZ  7
  s   rZ  c                       s$   e Zd Z fddZdd Z  ZS )ÚParticipantCallFailedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzFailure while making callr)   r*   r   r   r   r   A
  s    z#ParticipantCallFailedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   E
  s    z%ParticipantCallFailedError.__reduce__r#   r   r   r   r   r[  @
  s   r[  c                       s$   e Zd Z fddZdd Z  ZS )ÚParticipantIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz'The specified participant ID is invalidr)   r*   r   r   r   r   J
  s    z"ParticipantIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   N
  s    z$ParticipantIdInvalidError.__reduce__r#   r   r   r   r   r\  I
  s   r\  c                       s$   e Zd Z fddZdd Z  ZS )ÚParticipantJoinMissingErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzTrying to enable a presentation, when the user hasn't joined the Video Chat with [phone.joinGroupCall](https://core.telegram.org/method/phone.joinGroupCall)r)   r*   r   r   r   r   S
  s    z$ParticipantJoinMissingError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   W
  s    z&ParticipantJoinMissingError.__reduce__r#   r   r   r   r   r]  R
  s   r]  c                       s$   e Zd Z fddZdd Z  ZS )ÚParticipantVersionOutdatedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzWThe other participant does not use an up to date telegram client with support for callsr)   r*   r   r   r   r   \
  s    z(ParticipantVersionOutdatedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   `
  s    z*ParticipantVersionOutdatedError.__reduce__r#   r   r   r   r   r^  [
  s   r^  c                       s$   e Zd Z fddZdd Z  ZS )ÚPasswordEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe provided password is emptyr)   r*   r   r   r   r   e
  s    zPasswordEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   i
  s    zPasswordEmptyError.__reduce__r#   r   r   r   r   r_  d
  s   r_  c                       s$   e Zd Z fddZdd Z  ZS )ÚPasswordHashInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz=The password (and thus its hash value) you entered is invalidr)   r*   r   r   r   r   n
  s    z!PasswordHashInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   r
  s    z#PasswordHashInvalidError.__reduce__r#   r   r   r   r   r`  m
  s   r`  c                       s$   e Zd Z fddZdd Z  ZS )ÚPasswordMissingErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S ©NzaThe account must have 2-factor authentication enabled (a password) before this method can be usedr)   r*   r   r   r   r   w
  s    zPasswordMissingError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   {
  s    zPasswordMissingError.__reduce__r#   r   r   r   r   ra  v
  s   ra  c                       s$   e Zd Z fddZdd Z  ZS )ÚPasswordRecoveryExpiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe recovery code has expiredr)   r*   r   r   r   r   
  s    z%PasswordRecoveryExpiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   
  s    z'PasswordRecoveryExpiredError.__reduce__r#   r   r   r   r   rc  
  s   rc  c                       s$   e Zd Z fddZdd Z  ZS )ÚPasswordRecoveryNaErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz2No email was set, can't recover password via emailr)   r*   r   r   r   r   
  s    z PasswordRecoveryNaError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   
  s    z"PasswordRecoveryNaError.__reduce__r#   r   r   r   r   rd  
  s   rd  c                       s$   e Zd Z fddZdd Z  ZS )ÚPasswordRequiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S rb  r)   r*   r   r   r   r   
  s    zPasswordRequiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   
  s    z PasswordRequiredError.__reduce__r#   r   r   r   r   re  
  s   re  c                       s&   e Zd Zd fdd	Zdd Z  ZS )ÚPasswordTooFreshErrorr   c                    s:   || _ t|| _tt|  dj| jd|  | j ¡ ¡ d S )Nz[The password was added too recently and {seconds} seconds must pass before using the methodr   r   r   r   r   r   r   
  s    
zPasswordTooFreshError.__init__c                 C   s   t | | j| jffS r   r   r!   r   r   r   r"    
  s    z PasswordTooFreshError.__reduce__)r   r#   r   r   r   r   rf  
  s   rf  c                       s$   e Zd Z fddZdd Z  ZS )ÚPaymentProviderInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz@The payment provider was not recognised or its token was invalidr)   r*   r   r   r   r   ¥
  s    z$PaymentProviderInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ©
  s    z&PaymentProviderInvalidError.__reduce__r#   r   r   r   r   rg  €
  s   rg  c                       s$   e Zd Z fddZdd Z  ZS )ÚPeerFloodErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzToo many requestsr)   r*   r   r   r   r   ®
  s    zPeerFloodError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ²
  s    zPeerFloodError.__reduce__r#   r   r   r   r   rh  ­
  s   rh  c                       s$   e Zd Z fddZdd Z  ZS )ÚPeerHistoryEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S r]   r)   r*   r   r   r   r   ·
  s    zPeerHistoryEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   »
  s    z PeerHistoryEmptyError.__reduce__r#   r   r   r   r   ri  ¶
  s   ri  c                       s$   e Zd Z fddZdd Z  ZS )ÚPeerIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzAn invalid Peer was used. Make sure to pass the right peer type and that the value is valid (for instance, bots cannot start conversations)r)   r*   r   r   r   r   À
  s    zPeerIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ä
  s    zPeerIdInvalidError.__reduce__r#   r   r   r   r   rj  ¿
  s   rj  c                       s$   e Zd Z fddZdd Z  ZS )ÚPeerIdNotSupportedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz%The provided peer ID is not supportedr)   r*   r   r   r   r   É
  s    z PeerIdNotSupportedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Í
  s    z"PeerIdNotSupportedError.__reduce__r#   r   r   r   r   rk  È
  s   rk  c                       s$   e Zd Z fddZdd Z  ZS )ÚPersistentTimestampEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzPersistent timestamp emptyr)   r*   r   r   r   r   Ò
  s    z&PersistentTimestampEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ö
  s    z(PersistentTimestampEmptyError.__reduce__r#   r   r   r   r   rl  Ñ
  s   rl  c                       s$   e Zd Z fddZdd Z  ZS )ÚPersistentTimestampInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzPersistent timestamp invalidr)   r*   r   r   r   r   Û
  s    z(PersistentTimestampInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ß
  s    z*PersistentTimestampInvalidError.__reduce__r#   r   r   r   r   rm  Ú
  s   rm  c                       s$   e Zd Z fddZdd Z  ZS )Ú PersistentTimestampOutdatedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzPersistent timestamp outdatedr)   r*   r   r   r   r   ä
  s    z)PersistentTimestampOutdatedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   è
  s    z+PersistentTimestampOutdatedError.__reduce__r#   r   r   r   r   rn  ã
  s   rn  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhoneCodeEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe phone code is missingr)   r*   r   r   r   r   í
  s    zPhoneCodeEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ñ
  s    zPhoneCodeEmptyError.__reduce__r#   r   r   r   r   ro  ì
  s   ro  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhoneCodeExpiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz!The confirmation code has expiredr)   r*   r   r   r   r   ö
  s    zPhoneCodeExpiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ú
  s    z PhoneCodeExpiredError.__reduce__r#   r   r   r   r   rp  õ
  s   rp  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhoneCodeHashEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe phone code hash is missingr)   r*   r   r   r   r   ÿ
  s    z PhoneCodeHashEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z"PhoneCodeHashEmptyError.__reduce__r#   r   r   r   r   rq  þ
  s   rq  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhoneCodeInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz"The phone code entered was invalidr)   r*   r   r   r   r     s    zPhoneCodeInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z PhoneCodeInvalidError.__reduce__r#   r   r   r   r   rr    s   rr  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhoneHashExpiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz4An invalid or expired `phone_code_hash` was providedr)   r*   r   r   r   r     s    zPhoneHashExpiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z PhoneHashExpiredError.__reduce__r#   r   r   r   r   rs    s   rs  c                       s&   e Zd Zd fdd	Zdd Z  ZS )ÚPhoneMigrateErrorr   c                    s:   || _ t|| _tt|  dj| jd|  | j ¡ ¡ d S )NzYThe phone number a user is trying to use for authorization is associated with DC {new_dc}rÑ   rÓ   r   r   r   r   r     s    
zPhoneMigrateError.__init__c                 C   s   t | | j| jffS r   rÔ   r!   r   r   r   r"     s    zPhoneMigrateError.__reduce__)r   r#   r   r   r   r   rt    s   rt  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhoneNotOccupiedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz3No user is associated to the specified phone numberr)   r*   r   r   r   r   $  s    zPhoneNotOccupiedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   (  s    z PhoneNotOccupiedError.__reduce__r#   r   r   r   r   ru  #  s   ru  c                       s$   e Zd Z fddZdd Z  ZS )Ú"PhoneNumberAppSignupForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz You can't sign up using this appr)   r*   r   r   r   r   -  s    z+PhoneNumberAppSignupForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   1  s    z-PhoneNumberAppSignupForbiddenError.__reduce__r#   r   r   r   r   rv  ,  s   rv  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhoneNumberBannedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz}The used phone number has been banned from Telegram and cannot be used anymore. Maybe check https://www.telegram.org/faq_spamr)   r*   r   r   r   r   6  s    zPhoneNumberBannedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   :  s    z!PhoneNumberBannedError.__reduce__r#   r   r   r   r   rw  5  s   rw  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhoneNumberFloodErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz&You asked for the code too many times.r)   r*   r   r   r   r   ?  s    zPhoneNumberFloodError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   C  s    z PhoneNumberFloodError.__reduce__r#   r   r   r   r   rx  >  s   rx  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhoneNumberInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe phone number is invalidr)   r*   r   r   r   r   H  s    z PhoneNumberInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   L  s    z"PhoneNumberInvalidError.__reduce__r#   r   r   r   r   ry  G  s   ry  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhoneNumberOccupiedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz"The phone number is already in user)   r*   r   r   r   r   Q  s    z!PhoneNumberOccupiedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   U  s    z#PhoneNumberOccupiedError.__reduce__r#   r   r   r   r   rz  P  s   rz  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhoneNumberUnoccupiedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz&The phone number is not yet being usedr)   r*   r   r   r   r   Z  s    z#PhoneNumberUnoccupiedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ^  s    z%PhoneNumberUnoccupiedError.__reduce__r#   r   r   r   r   r{  Y  s   r{  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhonePasswordFloodErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz(You have tried logging in too many timesr)   r*   r   r   r   r   c  s    z PhonePasswordFloodError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   g  s    z"PhonePasswordFloodError.__reduce__r#   r   r   r   r   r|  b  s   r|  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhonePasswordProtectedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz This phone is password protectedr)   r*   r   r   r   r   l  s    z$PhonePasswordProtectedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   p  s    z&PhonePasswordProtectedError.__reduce__r#   r   r   r   r   r}  k  s   r}  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhotoContentTypeInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzPhoto mime-type invalidr)   r*   r   r   r   r   u  s    z%PhotoContentTypeInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   y  s    z'PhotoContentTypeInvalidError.__reduce__r#   r   r   r   r   r~  t  s   r~  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhotoContentUrlEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz]The content from the URL used as a photo appears to be empty or has caused another HTTP errorr)   r*   r   r   r   r   ~  s    z"PhotoContentUrlEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z$PhotoContentUrlEmptyError.__reduce__r#   r   r   r   r   r  }  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhotoCropFileMissingErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzPhoto crop file missingr)   r*   r   r   r   r     s    z"PhotoCropFileMissingError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z$PhotoCropFileMissingError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhotoCropSizeSmallErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzPhoto is too smallr)   r*   r   r   r   r     s    z PhotoCropSizeSmallError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z"PhotoCropSizeSmallError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhotoExtInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz%The extension of the photo is invalidr)   r*   r   r   r   r     s    zPhotoExtInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zPhotoExtInvalidError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhotoFileMissingErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzProfile photo file missingr)   r*   r   r   r   r   ¢  s    zPhotoFileMissingError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Š  s    z PhotoFileMissingError.__reduce__r#   r   r   r   r   r  ¡  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhotoIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzPhoto id is invalidr)   r*   r   r   r   r   «  s    zPhotoIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ¯  s    zPhotoIdInvalidError.__reduce__r#   r   r   r   r   r  ª  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhotoInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzPhoto invalidr)   r*   r   r   r   r   Ž  s    zPhotoInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ž  s    zPhotoInvalidError.__reduce__r#   r   r   r   r   r  ³  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhotoInvalidDimensionsErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz^The photo dimensions are invalid (hint: `pip install pillow` for `send_file` to resize images)r)   r*   r   r   r   r   œ  s    z$PhotoInvalidDimensionsError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Á  s    z&PhotoInvalidDimensionsError.__reduce__r#   r   r   r   r   r  Œ  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhotoSaveFileInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzvThe photo you tried to send cannot be saved by Telegram. A reason may be that it exceeds 10MB. Try resizing it locallyr)   r*   r   r   r   r   Æ  s    z"PhotoSaveFileInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ê  s    z$PhotoSaveFileInvalidError.__reduce__r#   r   r   r   r   r  Å  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPhotoThumbUrlEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzPThe URL used as a thumbnail appears to be empty or has caused another HTTP errorr)   r*   r   r   r   r   Ï  s    z PhotoThumbUrlEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ó  s    z"PhotoThumbUrlEmptyError.__reduce__r#   r   r   r   r   r  Î  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPinnedDialogsTooMuchErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzToo many pinned dialogsr)   r*   r   r   r   r   Ø  s    z"PinnedDialogsTooMuchError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ü  s    z$PinnedDialogsTooMuchError.__reduce__r#   r   r   r   r   r  ×  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPinRestrictedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz9You can't pin messages in private chats with other peopler)   r*   r   r   r   r   á  s    zPinRestrictedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   å  s    zPinRestrictedError.__reduce__r#   r   r   r   r   r  à  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPollAnswersInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz4The poll did not have enough answers or had too manyr)   r*   r   r   r   r   ê  s    z PollAnswersInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   î  s    z"PollAnswersInvalidError.__reduce__r#   r   r   r   r   r  é  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPollAnswerInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz)One of the poll answers is not acceptabler)   r*   r   r   r   r   ó  s    zPollAnswerInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ÷  s    z!PollAnswerInvalidError.__reduce__r#   r   r   r   r   r  ò  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPollOptionDuplicateErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz,A duplicate option was sent in the same pollr)   r*   r   r   r   r   ü  s    z!PollOptionDuplicateError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"      s    z#PollOptionDuplicateError.__reduce__r#   r   r   r   r   r  û  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPollOptionInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz:A poll option used invalid data (the data may be too long)r)   r*   r   r   r   r     s    zPollOptionInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   	  s    z!PollOptionInvalidError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPollQuestionInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz.The poll question was either empty or too longr)   r*   r   r   r   r     s    z!PollQuestionInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z#PollQuestionInvalidError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPollUnsupportedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz6This layer does not support polls in the issued methodr)   r*   r   r   r   r     s    zPollUnsupportedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zPollUnsupportedError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPollVoteRequiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz2Cast a vote in the poll before calling this methodr)   r*   r   r   r   r      s    zPollVoteRequiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   $  s    z PollVoteRequiredError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPostponedTimeoutErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz The postponed call has timed outr)   r*   r   r   r   r   )  s    zPostponedTimeoutError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   -  s    z PostponedTimeoutError.__reduce__r#   r   r   r   r   r  (  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPremiumAccountRequiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz4A premium account is required to execute this actionr)   r*   r   r   r   r   2  s    z$PremiumAccountRequiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   6  s    z&PremiumAccountRequiredError.__reduce__r#   r   r   r   r   r  1  s   r  c                       s$   e Zd Z fddZdd Z  ZS )Ú PremiumCurrentlyUnavailableErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S r]   r)   r*   r   r   r   r   ;  s    z)PremiumCurrentlyUnavailableError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ?  s    z+PremiumCurrentlyUnavailableError.__reduce__r#   r   r   r   r   r  :  s   r  c                       s&   e Zd Zd fdd	Zdd Z  ZS )Ú$PreviousChatImportActiveWaitMinErrorr   c                    s:   || _ t|| _tt|  dj| jd|  | j ¡ ¡ d S )Nz4Similar to a flood wait, must wait {minutes} minutes)Úminutes)r   r   r  r   r   r   r   r   r   r   r   r   r   D  s    
z-PreviousChatImportActiveWaitMinError.__init__c                 C   s   t | | j| jffS r   )r    r   r  r!   r   r   r   r"   I  s    z/PreviousChatImportActiveWaitMinError.__reduce__)r   r#   r   r   r   r   r  C  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPrivacyKeyInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe privacy key is invalidr)   r*   r   r   r   r   N  s    zPrivacyKeyInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   R  s    z!PrivacyKeyInvalidError.__reduce__r#   r   r   r   r   r  M  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPrivacyTooLongErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz1Cannot add that many entities in a single requestr)   r*   r   r   r   r   W  s    zPrivacyTooLongError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   [  s    zPrivacyTooLongError.__reduce__r#   r   r   r   r   r  V  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPrivacyValueInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe privacy value is invalidr)   r*   r   r   r   r   `  s    z!PrivacyValueInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   d  s    z#PrivacyValueInvalidError.__reduce__r#   r   r   r   r   r  _  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPtsChangeEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzNo PTS changer)   r*   r   r   r   r   i  s    zPtsChangeEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   m  s    zPtsChangeEmptyError.__reduce__r#   r   r   r   r   r  h  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPublicChannelMissingErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzHYou can only export group call invite links for public chats or channelsr)   r*   r   r   r   r   r  s    z"PublicChannelMissingError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   v  s    z$PublicChannelMissingError.__reduce__r#   r   r   r   r   r  q  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚPublicKeyRequiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzA public key is requiredr)   r*   r   r   r   r   {  s    zPublicKeyRequiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z!PublicKeyRequiredError.__reduce__r#   r   r   r   r   r  z  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚQueryIdEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe query ID is emptyr)   r*   r   r   r   r     s    zQueryIdEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zQueryIdEmptyError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚQueryIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe query ID is invalidr)   r*   r   r   r   r     s    zQueryIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zQueryIdInvalidError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚQueryTooShortErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe query string is too shortr)   r*   r   r   r   r     s    zQueryTooShortError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zQueryTooShortError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚQuizAnswerMissingErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzaYou can forward a quiz while hiding the original author only after choosing an option in the quizr)   r*   r   r   r   r     s    zQuizAnswerMissingError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   £  s    z!QuizAnswerMissingError.__reduce__r#   r   r   r   r   r     s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚQuizCorrectAnswersEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz&A quiz must specify one correct answerr)   r*   r   r   r   r   š  s    z%QuizCorrectAnswersEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ¬  s    z'QuizCorrectAnswersEmptyError.__reduce__r#   r   r   r   r   r¡  §  s   r¡  c                       s$   e Zd Z fddZdd Z  ZS )ÚQuizCorrectAnswersTooMuchErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz$There can only be one correct answerr)   r*   r   r   r   r   ±  s    z'QuizCorrectAnswersTooMuchError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   µ  s    z)QuizCorrectAnswersTooMuchError.__reduce__r#   r   r   r   r   r¢  °  s   r¢  c                       s$   e Zd Z fddZdd Z  ZS )ÚQuizCorrectAnswerInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz,The correct answer is not an existing answerr)   r*   r   r   r   r   º  s    z&QuizCorrectAnswerInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ÿ  s    z(QuizCorrectAnswerInvalidError.__reduce__r#   r   r   r   r   r£  ¹  s   r£  c                       s$   e Zd Z fddZdd Z  ZS )ÚQuizMultipleInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz.A poll cannot be both multiple choice and quizr)   r*   r   r   r   r   Ã  s    z!QuizMultipleInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ç  s    z#QuizMultipleInvalidError.__reduce__r#   r   r   r   r   r€  Â  s   r€  c                       s$   e Zd Z fddZdd Z  ZS )ÚRandomIdDuplicateErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz.You provided a random ID that was already usedr)   r*   r   r   r   r   Ì  s    zRandomIdDuplicateError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ð  s    z!RandomIdDuplicateError.__reduce__r#   r   r   r   r   r¥  Ë  s   r¥  c                       s$   e Zd Z fddZdd Z  ZS )ÚRandomIdEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzRandom ID emptyr)   r*   r   r   r   r   Õ  s    zRandomIdEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ù  s    zRandomIdEmptyError.__reduce__r#   r   r   r   r   rŠ  Ô  s   rŠ  c                       s$   e Zd Z fddZdd Z  ZS )ÚRandomIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzA provided random ID is invalidr)   r*   r   r   r   r   Þ  s    zRandomIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   â  s    zRandomIdInvalidError.__reduce__r#   r   r   r   r   r§  Ý  s   r§  c                       s$   e Zd Z fddZdd Z  ZS )ÚRandomLengthInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzRandom length invalidr)   r*   r   r   r   r   ç  s    z!RandomLengthInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ë  s    z#RandomLengthInvalidError.__reduce__r#   r   r   r   r   rš  æ  s   rš  c                       s$   e Zd Z fddZdd Z  ZS )ÚRangesInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzInvalid range providedr)   r*   r   r   r   r   ð  s    zRangesInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ô  s    zRangesInvalidError.__reduce__r#   r   r   r   r   r©  ï  s   r©  c                       s$   e Zd Z fddZdd Z  ZS )ÚReactionsTooManyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzŠThe message already has exactly `reactions_uniq_max` reaction emojis, you can't react with a new emoji, see [the docs for more info](/api/config#client-configuration)r)   r*   r   r   r   r   ù  s    zReactionsTooManyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ý  s    z ReactionsTooManyError.__reduce__r#   r   r   r   r   rª  ø  s   rª  c                       s$   e Zd Z fddZdd Z  ZS )ÚReactionEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzNo reaction providedr)   r*   r   r   r   r     s    zReactionEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zReactionEmptyError.__reduce__r#   r   r   r   r   r«    s   r«  c                       s$   e Zd Z fddZdd Z  ZS )ÚReactionInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz2Invalid reaction provided (only emoji are allowed)r)   r*   r   r   r   r     s    zReactionInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zReactionInvalidError.__reduce__r#   r   r   r   r   r¬  
  s   r¬  c                       s$   e Zd Z fddZdd Z  ZS )ÚReflectorNotAvailableErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzInvalid call reflector serverr)   r*   r   r   r   r     s    z#ReflectorNotAvailableError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z%ReflectorNotAvailableError.__reduce__r#   r   r   r   r   r­    s   r­  c                       s$   e Zd Z fddZdd Z  ZS )ÚRegIdGenerateFailedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz(Failure while generating registration IDr)   r*   r   r   r   r     s    z!RegIdGenerateFailedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   !  s    z#RegIdGenerateFailedError.__reduce__r#   r   r   r   r   r®    s   r®  c                       s$   e Zd Z fddZdd Z  ZS )ÚReplyMarkupBuyEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz!Reply markup for buy button emptyr)   r*   r   r   r   r   &  s    z!ReplyMarkupBuyEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   *  s    z#ReplyMarkupBuyEmptyError.__reduce__r#   r   r   r   r   r¯  %  s   r¯  c                       s$   e Zd Z fddZdd Z  ZS )ÚReplyMarkupGameEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz/The provided reply markup for the game is emptyr)   r*   r   r   r   r   /  s    z"ReplyMarkupGameEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   3  s    z$ReplyMarkupGameEmptyError.__reduce__r#   r   r   r   r   r°  .  s   r°  c                       s$   e Zd Z fddZdd Z  ZS )ÚReplyMarkupInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz$The provided reply markup is invalidr)   r*   r   r   r   r   8  s    z ReplyMarkupInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   <  s    z"ReplyMarkupInvalidError.__reduce__r#   r   r   r   r   r±  7  s   r±  c                       s$   e Zd Z fddZdd Z  ZS )ÚReplyMarkupTooLongErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz:The data embedded in the reply markup buttons was too muchr)   r*   r   r   r   r   A  s    z ReplyMarkupTooLongError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   E  s    z"ReplyMarkupTooLongError.__reduce__r#   r   r   r   r   r²  @  s   r²  c                       s$   e Zd Z fddZdd Z  ZS )ÚResetRequestMissingErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz No password reset is in progressr)   r*   r   r   r   r   J  s    z!ResetRequestMissingError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   N  s    z#ResetRequestMissingError.__reduce__r#   r   r   r   r   r³  I  s   r³  c                       s$   e Zd Z fddZdd Z  ZS )ÚResultsTooMuchErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NziYou sent too many results, see https://core.telegram.org/bots/api#answerinlinequery for the current limitr)   r*   r   r   r   r   S  s    zResultsTooMuchError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   W  s    zResultsTooMuchError.__reduce__r#   r   r   r   r   rŽ  R  s   rŽ  c                       s$   e Zd Z fddZdd Z  ZS )ÚResultIdDuplicateErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz?Duplicated IDs on the sent results. Make sure to use unique IDsr)   r*   r   r   r   r   \  s    zResultIdDuplicateError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   `  s    z!ResultIdDuplicateError.__reduce__r#   r   r   r   r   rµ  [  s   rµ  c                       s$   e Zd Z fddZdd Z  ZS )ÚResultIdEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzResult ID emptyr)   r*   r   r   r   r   e  s    zResultIdEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   i  s    zResultIdEmptyError.__reduce__r#   r   r   r   r   r¶  d  s   r¶  c                       s$   e Zd Z fddZdd Z  ZS )ÚResultIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz@The given result cannot be used to send the selection to the botr)   r*   r   r   r   r   n  s    zResultIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   r  s    zResultIdInvalidError.__reduce__r#   r   r   r   r   r·  m  s   r·  c                       s$   e Zd Z fddZdd Z  ZS )ÚResultTypeInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzResult type invalidr)   r*   r   r   r   r   w  s    zResultTypeInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   {  s    z!ResultTypeInvalidError.__reduce__r#   r   r   r   r   rž  v  s   rž  c                       s$   e Zd Z fddZdd Z  ZS )ÚRevoteNotAllowedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzYou cannot change your voter)   r*   r   r   r   r     s    zRevoteNotAllowedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z RevoteNotAllowedError.__reduce__r#   r   r   r   r   r¹    s   r¹  c                       s$   e Zd Z fddZdd Z  ZS )ÚRightsNotModifiedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzDThe new admin rights are equal to the old rights, no change was mader)   r*   r   r   r   r     s    zRightsNotModifiedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z!RightsNotModifiedError.__reduce__r#   r   r   r   r   rº    s   rº  c                       s$   e Zd Z fddZdd Z  ZS )ÚRightForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzEither your admin rights do not allow you to do this or you passed the wrong rights combination (some rights only apply to channels and vice versa)r)   r*   r   r   r   r     s    zRightForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zRightForbiddenError.__reduce__r#   r   r   r   r   r»    s   r»  c                       s$   e Zd Z fddZdd Z  ZS )ÚRpcCallFailErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S ©Nz;Telegram is having internal issues, please try again later.r)   r*   r   r   r   r     s    zRpcCallFailError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zRpcCallFailError.__reduce__r#   r   r   r   r   rŒ    s   rŒ  c                       s$   e Zd Z fddZdd Z  ZS )ÚRpcMcgetFailErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S rœ  r)   r*   r   r   r   r   €  s    zRpcMcgetFailError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   š  s    zRpcMcgetFailError.__reduce__r#   r   r   r   r   rŸ  £  s   rŸ  c                       s$   e Zd Z fddZdd Z  ZS )ÚRsaDecryptFailedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzInternal RSA decryption failedr)   r*   r   r   r   r   ­  s    zRsaDecryptFailedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ±  s    z RsaDecryptFailedError.__reduce__r#   r   r   r   r   r¿  ¬  s   r¿  c                       s$   e Zd Z fddZdd Z  ZS )ÚScheduleBotNotAllowedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz)Bots are not allowed to schedule messagesr)   r*   r   r   r   r   ¶  s    z#ScheduleBotNotAllowedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   º  s    z%ScheduleBotNotAllowedError.__reduce__r#   r   r   r   r   rÀ  µ  s   rÀ  c                       s$   e Zd Z fddZdd Z  ZS )ÚScheduleDateInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzInvalid schedule date providedr)   r*   r   r   r   r   ¿  s    z!ScheduleDateInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ã  s    z#ScheduleDateInvalidError.__reduce__r#   r   r   r   r   rÁ  Ÿ  s   rÁ  c                       s$   e Zd Z fddZdd Z  ZS )ÚScheduleDateTooLateErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzdThe date you tried to schedule is too far in the future (last known limit of 1 year and a few hours)r)   r*   r   r   r   r   È  s    z!ScheduleDateTooLateError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ì  s    z#ScheduleDateTooLateError.__reduce__r#   r   r   r   r   rÂ  Ç  s   rÂ  c                       s$   e Zd Z fddZdd Z  ZS )ÚScheduleStatusPrivateErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzkYou cannot schedule a message until the person comes online if their privacy does not show this informationr)   r*   r   r   r   r   Ñ  s    z#ScheduleStatusPrivateError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Õ  s    z%ScheduleStatusPrivateError.__reduce__r#   r   r   r   r   rÃ  Ð  s   rÃ  c                       s$   e Zd Z fddZdd Z  ZS )ÚScheduleTooMuchErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzQYou cannot schedule more messages in this chat (last known limit of 100 per chat)r)   r*   r   r   r   r   Ú  s    zScheduleTooMuchError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Þ  s    zScheduleTooMuchError.__reduce__r#   r   r   r   r   rÄ  Ù  s   rÄ  c                       s$   e Zd Z fddZdd Z  ZS )ÚScoreInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz#The specified game score is invalidr)   r*   r   r   r   r   ã  s    zScoreInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ç  s    zScoreInvalidError.__reduce__r#   r   r   r   r   rÅ  â  s   rÅ  c                       s$   e Zd Z fddZdd Z  ZS )ÚSearchQueryEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe search query is emptyr)   r*   r   r   r   r   ì  s    zSearchQueryEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ð  s    z SearchQueryEmptyError.__reduce__r#   r   r   r   r   rÆ  ë  s   rÆ  c                       s$   e Zd Z fddZdd Z  ZS )ÚSearchWithLinkNotSupportedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzEYou cannot provide a search query and an invite link at the same timer)   r*   r   r   r   r   õ  s    z(SearchWithLinkNotSupportedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ù  s    z*SearchWithLinkNotSupportedError.__reduce__r#   r   r   r   r   rÇ  ô  s   rÇ  c                       s$   e Zd Z fddZdd Z  ZS )ÚSecondsInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzMSlow mode only supports certain values (e.g. 0, 10s, 30s, 1m, 5m, 15m and 1h)r)   r*   r   r   r   r   þ  s    zSecondsInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zSecondsInvalidError.__reduce__r#   r   r   r   r   rÈ  ý  s   rÈ  c                       s$   e Zd Z fddZdd Z  ZS )ÚSendAsPeerInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz-You can't send messages as the specified peerr)   r*   r   r   r   r     s    zSendAsPeerInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z!SendAsPeerInvalidError.__reduce__r#   r   r   r   r   rÉ    s   rÉ  c                       s$   e Zd Z fddZdd Z  ZS )ÚSendCodeUnavailableErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz§Returned when all available options for this type of number were already used (e.g. flash-call, then SMS, then this error might be returned to trigger a second resend)r)   r*   r   r   r   r     s    z!SendCodeUnavailableError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z#SendCodeUnavailableError.__reduce__r#   r   r   r   r   rÊ    s   rÊ  c                       s$   e Zd Z fddZdd Z  ZS )ÚSendMessageMediaInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz.The message media was invalid or not specifiedr)   r*   r   r   r   r     s    z%SendMessageMediaInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z'SendMessageMediaInvalidError.__reduce__r#   r   r   r   r   rË    s   rË  c                       s$   e Zd Z fddZdd Z  ZS )ÚSendMessageTypeInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe message type is invalidr)   r*   r   r   r   r   "  s    z$SendMessageTypeInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   &  s    z&SendMessageTypeInvalidError.__reduce__r#   r   r   r   r   rÌ  !  s   rÌ  c                       s$   e Zd Z fddZdd Z  ZS )ÚSensitiveChangeForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz>Your sensitive content settings cannot be changed at this timer)   r*   r   r   r   r   +  s    z&SensitiveChangeForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   /  s    z(SensitiveChangeForbiddenError.__reduce__r#   r   r   r   r   rÍ  *  s   rÍ  c                       s$   e Zd Z fddZdd Z  ZS )ÚSessionExpiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe authorization has expiredr)   r*   r   r   r   r   4  s    zSessionExpiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   8  s    zSessionExpiredError.__reduce__r#   r   r   r   r   rÎ  3  s   rÎ  c                       s$   e Zd Z fddZdd Z  ZS )ÚSessionPasswordNeededErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz<Two-steps verification is enabled and a password is requiredr)   r*   r   r   r   r   =  s    z#SessionPasswordNeededError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   A  s    z%SessionPasswordNeededError.__reduce__r#   r   r   r   r   rÏ  <  s   rÏ  c                       s$   e Zd Z fddZdd Z  ZS )ÚSessionRevokedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzTThe authorization has been invalidated, because of the user terminating all sessionsr)   r*   r   r   r   r   F  s    zSessionRevokedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   J  s    zSessionRevokedError.__reduce__r#   r   r   r   r   rÐ  E  s   rÐ  c                       s&   e Zd Zd fdd	Zdd Z  ZS )ÚSessionTooFreshErrorr   c                    s:   || _ t|| _tt|  dj| jd|  | j ¡ ¡ d S )Nz\The session logged in too recently and {seconds} seconds must pass before calling the methodr   r   r   r   r   r   r   O  s    
zSessionTooFreshError.__init__c                 C   s   t | | j| jffS r   r   r!   r   r   r   r"   T  s    zSessionTooFreshError.__reduce__)r   r#   r   r   r   r   rÑ  N  s   rÑ  c                       s$   e Zd Z fddZdd Z  ZS )ÚSettingsInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzInvalid settings were providedr)   r*   r   r   r   r   Y  s    zSettingsInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ]  s    zSettingsInvalidError.__reduce__r#   r   r   r   r   rÒ  X  s   rÒ  c                       s$   e Zd Z fddZdd Z  ZS )ÚSha256HashInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz#The provided SHA256 hash is invalidr)   r*   r   r   r   r   b  s    zSha256HashInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   f  s    z!Sha256HashInvalidError.__reduce__r#   r   r   r   r   rÓ  a  s   rÓ  c                       s$   e Zd Z fddZdd Z  ZS )ÚShortnameOccupyFailedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzhAn error occurred when trying to register the short-name used for the sticker pack. Try a different namer)   r*   r   r   r   r   k  s    z#ShortnameOccupyFailedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   o  s    z%ShortnameOccupyFailedError.__reduce__r#   r   r   r   r   rÔ  j  s   rÔ  c                       s$   e Zd Z fddZdd Z  ZS )ÚShortNameInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz#The specified short name is invalidr)   r*   r   r   r   r   t  s    zShortNameInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   x  s    z ShortNameInvalidError.__reduce__r#   r   r   r   r   rÕ  s  s   rÕ  c                       s$   e Zd Z fddZdd Z  ZS )ÚShortNameOccupiedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz*The specified short name is already in user)   r*   r   r   r   r   }  s    zShortNameOccupiedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z!ShortNameOccupiedError.__reduce__r#   r   r   r   r   rÖ  |  s   rÖ  c                       s$   e Zd Z fddZdd Z  ZS )ÚSignInFailedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzFailure while signing inr)   r*   r   r   r   r     s    zSignInFailedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zSignInFailedError.__reduce__r#   r   r   r   r   r×    s   r×  c                       s$   e Zd Z fddZdd Z  ZS )ÚSlowModeMultiMsgsDisabledErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzGSlowmode is enabled, you cannot forward multiple messages to this groupr)   r*   r   r   r   r     s    z'SlowModeMultiMsgsDisabledError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z)SlowModeMultiMsgsDisabledError.__reduce__r#   r   r   r   r   rØ    s   rØ  c                       s&   e Zd Zd fdd	Zdd Z  ZS )ÚSlowModeWaitErrorr   c                    s:   || _ t|| _tt|  dj| jd|  | j ¡ ¡ d S )NzSA wait of {seconds} seconds is required before sending another message in this chatr   r   r   r   r   r   r     s    
zSlowModeWaitError.__init__c                 C   s   t | | j| jffS r   r   r!   r   r   r   r"     s    zSlowModeWaitError.__reduce__)r   r#   r   r   r   r   rÙ    s   rÙ  c                       s$   e Zd Z fddZdd Z  ZS )ÚSmsCodeCreateFailedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz-An error occurred while creating the SMS coder)   r*   r   r   r   r   ¢  s    z!SmsCodeCreateFailedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Š  s    z#SmsCodeCreateFailedError.__reduce__r#   r   r   r   r   rÚ  ¡  s   rÚ  c                       s$   e Zd Z fddZdd Z  ZS )ÚSrpIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzInvalid SRP ID providedr)   r*   r   r   r   r   «  s    zSrpIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ¯  s    zSrpIdInvalidError.__reduce__r#   r   r   r   r   rÛ  ª  s   rÛ  c                       s$   e Zd Z fddZdd Z  ZS )ÚSrpPasswordChangedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzPassword has changedr)   r*   r   r   r   r   Ž  s    z SrpPasswordChangedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ž  s    z"SrpPasswordChangedError.__reduce__r#   r   r   r   r   rÜ  ³  s   rÜ  c                       s$   e Zd Z fddZdd Z  ZS )ÚStartParamEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe start parameter is emptyr)   r*   r   r   r   r   œ  s    zStartParamEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Á  s    zStartParamEmptyError.__reduce__r#   r   r   r   r   rÝ  Œ  s   rÝ  c                       s$   e Zd Z fddZdd Z  ZS )ÚStartParamInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzStart parameter invalidr)   r*   r   r   r   r   Æ  s    zStartParamInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ê  s    z!StartParamInvalidError.__reduce__r#   r   r   r   r   rÞ  Å  s   rÞ  c                       s$   e Zd Z fddZdd Z  ZS )ÚStartParamTooLongErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzStart parameter is too longr)   r*   r   r   r   r   Ï  s    zStartParamTooLongError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ó  s    z!StartParamTooLongError.__reduce__r#   r   r   r   r   rß  Î  s   rß  c                       s&   e Zd Zd fdd	Zdd Z  ZS )ÚStatsMigrateErrorr   c                    s:   || _ t|| _tt|  dj| jd|  | j ¡ ¡ d S )Nz3The channel statistics must be fetched from DC {dc}r  r  r   r   r   r   r   Ø  s    
zStatsMigrateError.__init__c                 C   s   t | | j| jffS r   r  r!   r   r   r   r"   Ý  s    zStatsMigrateError.__reduce__)r   r#   r   r   r   r   rà  ×  s   rà  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickerpackStickersTooMuchErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S ©NzGThere are too many stickers in this stickerpack, you can't add any morer)   r*   r   r   r   r   â  s    z(StickerpackStickersTooMuchError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   æ  s    z*StickerpackStickersTooMuchError.__reduce__r#   r   r   r   r   rá  á  s   rá  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickersetInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz#The provided sticker set is invalidr)   r*   r   r   r   r   ë  s    zStickersetInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ï  s    z!StickersetInvalidError.__reduce__r#   r   r   r   r   rã  ê  s   rã  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickersetOwnerAnonymousErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzuThis sticker set can't be used as the group's official stickers because it was created by one of its anonymous adminsr)   r*   r   r   r   r   ô  s    z&StickersetOwnerAnonymousError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ø  s    z(StickersetOwnerAnonymousError.__reduce__r#   r   r   r   r   rä  ó  s   rä  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickersEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzNo sticker providedr)   r*   r   r   r   r   ý  s    zStickersEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zStickersEmptyError.__reduce__r#   r   r   r   r   rå  ü  s   rå  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickersTooMuchErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S râ  r)   r*   r   r   r   r     s    zStickersTooMuchError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   
  s    zStickersTooMuchError.__reduce__r#   r   r   r   r   ræ    s   ræ  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickerDocumentInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz­The sticker file was invalid (this file has failed Telegram internal checks, make sure to use the correct format and comply with https://core.telegram.org/animated_stickers)r)   r*   r   r   r   r     s    z$StickerDocumentInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z&StickerDocumentInvalidError.__reduce__r#   r   r   r   r   rç    s   rç  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickerEmojiInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzSticker emoji invalidr)   r*   r   r   r   r     s    z!StickerEmojiInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z#StickerEmojiInvalidError.__reduce__r#   r   r   r   r   rè    s   rè  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickerFileInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzSticker file invalidr)   r*   r   r   r   r   !  s    z StickerFileInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   %  s    z"StickerFileInvalidError.__reduce__r#   r   r   r   r   ré     s   ré  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickerGifDimensionsErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz2The specified video sticker has invalid dimensionsr)   r*   r   r   r   r   *  s    z"StickerGifDimensionsError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   .  s    z$StickerGifDimensionsError.__reduce__r#   r   r   r   r   rê  )  s   rê  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickerIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz"The provided sticker ID is invalidr)   r*   r   r   r   r   3  s    zStickerIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   7  s    z StickerIdInvalidError.__reduce__r#   r   r   r   r   rë  2  s   rë  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickerInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe provided sticker is invalidr)   r*   r   r   r   r   <  s    zStickerInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   @  s    zStickerInvalidError.__reduce__r#   r   r   r   r   rì  ;  s   rì  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickerMimeInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzFMake sure to pass a valid image file for the right InputFile parameterr)   r*   r   r   r   r   E  s    z StickerMimeInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   I  s    z"StickerMimeInvalidError.__reduce__r#   r   r   r   r   rí  D  s   rí  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickerPngDimensionsErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzSticker png dimensions invalidr)   r*   r   r   r   r   N  s    z"StickerPngDimensionsError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   R  s    z$StickerPngDimensionsError.__reduce__r#   r   r   r   r   rî  M  s   rî  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickerPngNopngErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz<Stickers must be a png file but the used image was not a pngr)   r*   r   r   r   r   W  s    zStickerPngNopngError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   [  s    zStickerPngNopngError.__reduce__r#   r   r   r   r   rï  V  s   rï  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickerTgsNodocErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz0You must send the animated sticker as a documentr)   r*   r   r   r   r   `  s    zStickerTgsNodocError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   d  s    zStickerTgsNodocError.__reduce__r#   r   r   r   r   rð  _  s   rð  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickerTgsNotgsErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz;Stickers must be a tgs file but the used file was not a tgsr)   r*   r   r   r   r   i  s    zStickerTgsNotgsError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   m  s    zStickerTgsNotgsError.__reduce__r#   r   r   r   r   rñ  h  s   rñ  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickerThumbPngNopngErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzAStickerset thumb must be a png file but the used file was not pngr)   r*   r   r   r   r   r  s    z"StickerThumbPngNopngError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   v  s    z$StickerThumbPngNopngError.__reduce__r#   r   r   r   r   rò  q  s   rò  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickerThumbTgsNotgsErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzAStickerset thumb must be a tgs file but the used file was not tgsr)   r*   r   r   r   r   {  s    z"StickerThumbTgsNotgsError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z$StickerThumbTgsNotgsError.__reduce__r#   r   r   r   r   ró  z  s   ró  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickerVideoBigErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz&The specified video sticker is too bigr)   r*   r   r   r   r     s    zStickerVideoBigError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zStickerVideoBigError.__reduce__r#   r   r   r   r   rô    s   rô  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickerVideoNodocErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz-You must send the video sticker as a documentr)   r*   r   r   r   r     s    zStickerVideoNodocError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z!StickerVideoNodocError.__reduce__r#   r   r   r   r   rõ    s   rõ  c                       s$   e Zd Z fddZdd Z  ZS )ÚStickerVideoNowebmErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz1The specified video sticker is not in webm formatr)   r*   r   r   r   r     s    z StickerVideoNowebmError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z"StickerVideoNowebmError.__reduce__r#   r   r   r   r   rö    s   rö  c                       s$   e Zd Z fddZdd Z  ZS )ÚStorageCheckFailedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzServer storage check failedr)   r*   r   r   r   r     s    z StorageCheckFailedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   £  s    z"StorageCheckFailedError.__reduce__r#   r   r   r   r   r÷    s   r÷  c                       s$   e Zd Z fddZdd Z  ZS )ÚStoreInvalidScalarTypeErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S r]   r)   r*   r   r   r   r   š  s    z$StoreInvalidScalarTypeError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ¬  s    z&StoreInvalidScalarTypeError.__reduce__r#   r   r   r   r   rø  §  s   rø  c                       s$   e Zd Z fddZdd Z  ZS )ÚSwitchPmTextEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz"The switch_pm.text field was emptyr)   r*   r   r   r   r   ±  s    zSwitchPmTextEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   µ  s    z!SwitchPmTextEmptyError.__reduce__r#   r   r   r   r   rù  °  s   rù  c                       s&   e Zd Zd fdd	Zdd Z  ZS )ÚTakeoutInitDelayErrorr   c                    s:   || _ t|| _tt|  dj| jd|  | j ¡ ¡ d S )NzQA wait of {seconds} seconds is required before being able to initiate the takeoutr   r   r   r   r   r   r   º  s    
zTakeoutInitDelayError.__init__c                 C   s   t | | j| jffS r   r   r!   r   r   r   r"   ¿  s    z TakeoutInitDelayError.__reduce__)r   r#   r   r   r   r   rú  ¹  s   rú  c                       s$   e Zd Z fddZdd Z  ZS )ÚTakeoutInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzGThe takeout session has been invalidated by another data export sessionr)   r*   r   r   r   r   Ä  s    zTakeoutInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   È  s    zTakeoutInvalidError.__reduce__r#   r   r   r   r   rû  Ã  s   rû  c                       s$   e Zd Z fddZdd Z  ZS )ÚTakeoutRequiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz+You must initialize a takeout request firstr)   r*   r   r   r   r   Í  s    zTakeoutRequiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ñ  s    zTakeoutRequiredError.__reduce__r#   r   r   r   r   rü  Ì  s   rü  c                       s$   e Zd Z fddZdd Z  ZS )ÚTempAuthKeyAlreadyBoundErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzIThe passed temporary key is already bound to another **perm_auth_key_id**r)   r*   r   r   r   r   Ö  s    z%TempAuthKeyAlreadyBoundError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ú  s    z'TempAuthKeyAlreadyBoundError.__reduce__r#   r   r   r   r   rý  Õ  s   rý  c                       s$   e Zd Z fddZdd Z  ZS )ÚTempAuthKeyEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzNo temporary auth key providedr)   r*   r   r   r   r   ß  s    zTempAuthKeyEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ã  s    z TempAuthKeyEmptyError.__reduce__r#   r   r   r   r   rþ  Þ  s   rþ  c                       s$   e Zd Z fddZdd Z  ZS )ÚThemeFileInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzInvalid theme file providedr)   r*   r   r   r   r   è  s    zThemeFileInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ì  s    z ThemeFileInvalidError.__reduce__r#   r   r   r   r   rÿ  ç  s   rÿ  c                       s$   e Zd Z fddZdd Z  ZS )ÚThemeFormatInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzInvalid theme format providedr)   r*   r   r   r   r   ñ  s    z ThemeFormatInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   õ  s    z"ThemeFormatInvalidError.__reduce__r#   r   r   r   r   r   ð  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚThemeInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzTheme invalidr)   r*   r   r   r   r   ú  s    zThemeInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   þ  s    zThemeInvalidError.__reduce__r#   r   r   r   r   r  ù  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚThemeMimeInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz6You cannot create this theme, the mime-type is invalidr)   r*   r   r   r   r     s    zThemeMimeInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z ThemeMimeInvalidError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚThemeTitleInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz$The specified theme title is invalidr)   r*   r   r   r   r     s    zThemeTitleInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z!ThemeTitleInvalidError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚTimeoutErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz6A timeout occurred while fetching data from the workerr)   r*   r   r   r   r     s    úTimeoutError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    úTimeoutError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚTitleInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz*The specified stickerpack title is invalidr)   r*   r   r   r   r     s    zTitleInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   "  s    zTitleInvalidError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚTmpPasswordDisabledErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz"The temporary password is disabledr)   r*   r   r   r   r   '  s    z!TmpPasswordDisabledError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   +  s    z#TmpPasswordDisabledError.__reduce__r#   r   r   r   r   r  &  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚTmpPasswordInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz%Password auth needs to be regeneratedr)   r*   r   r   r   r   0  s    z TmpPasswordInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   4  s    z"TmpPasswordInvalidError.__reduce__r#   r   r   r   r   r	  /  s   r	  c                       s$   e Zd Z fddZdd Z  ZS )ÚTokenInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe provided token is invalidr)   r*   r   r   r   r   9  s    zTokenInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   =  s    zTokenInvalidError.__reduce__r#   r   r   r   r   r
  8  s   r
  c                       s$   e Zd Z fddZdd Z  ZS )ÚTopicDeletedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe topic was deletedr)   r*   r   r   r   r   B  s    zTopicDeletedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   F  s    zTopicDeletedError.__reduce__r#   r   r   r   r   r  A  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚToLangInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz-The specified destination language is invalidr)   r*   r   r   r   r   K  s    zToLangInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   O  s    zToLangInvalidError.__reduce__r#   r   r   r   r   r  J  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚTtlDaysInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe provided TTL is invalidr)   r*   r   r   r   r   T  s    zTtlDaysInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   X  s    zTtlDaysInvalidError.__reduce__r#   r   r   r   r   r  S  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚTtlMediaInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz,The provided media cannot be used with a TTLr)   r*   r   r   r   r   ]  s    zTtlMediaInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   a  s    zTtlMediaInvalidError.__reduce__r#   r   r   r   r   r  \  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚTtlPeriodInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz"The provided TTL Period is invalidr)   r*   r   r   r   r   f  s    zTtlPeriodInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   j  s    z TtlPeriodInvalidError.__reduce__r#   r   r   r   r   r  e  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚTypesEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe types field is emptyr)   r*   r   r   r   r   o  s    zTypesEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   s  s    zTypesEmptyError.__reduce__r#   r   r   r   r   r  n  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚTypeConstructorInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe type constructor is invalidr)   r*   r   r   r   r   x  s    z$TypeConstructorInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   |  s    z&TypeConstructorInvalidError.__reduce__r#   r   r   r   r   r  w  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚTimedoutErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S ©NzTimeout while fetching datar)   r*   r   r   r   r     s    zTimedoutError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zTimedoutError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )r  c                    s&   || _ tt|  d|  | j ¡ ¡ d S r  r)   r*   r   r   r   r     s    r  c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    r  r#   r   r   r   r   r    s   c                       s$   e Zd Z fddZdd Z  ZS )ÚUnknownErrorErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S r]   r)   r*   r   r   r   r     s    zUnknownErrorError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zUnknownErrorError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚUnknownMethodErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz<The method you tried to call cannot be called on non-CDN DCsr)   r*   r   r   r   r     s    zUnknownMethodError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"      s    zUnknownMethodError.__reduce__r#   r   r   r   r   r    s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚUntilDateInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz>That date cannot be specified in this request (try using None)r)   r*   r   r   r   r   ¥  s    zUntilDateInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ©  s    z UntilDateInvalidError.__reduce__r#   r   r   r   r   r  €  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚUpdateAppToLoginErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S r]   r)   r*   r   r   r   r   ®  s    zUpdateAppToLoginError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ²  s    z UpdateAppToLoginError.__reduce__r#   r   r   r   r   r  ­  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚUrlInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzoThe URL used was invalid (e.g. when answering a callback with a URL that's not t.me/yourbot or your game's URL)r)   r*   r   r   r   r   ·  s    zUrlInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   »  s    zUrlInvalidError.__reduce__r#   r   r   r   r   r  ¶  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚUsageLimitInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz$The specified usage limit is invalidr)   r*   r   r   r   r   À  s    zUsageLimitInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ä  s    z!UsageLimitInvalidError.__reduce__r#   r   r   r   r   r  ¿  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚUsernameInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz~Nobody is using this username, or the username is unacceptable. If the latter, it must match r"[a-zA-Z][\w\d]{3,30}[a-zA-Z\d]"r)   r*   r   r   r   r   É  s    zUsernameInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Í  s    zUsernameInvalidError.__reduce__r#   r   r   r   r   r  È  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚUsernameNotModifiedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz7The username is not different from the current usernamer)   r*   r   r   r   r   Ò  s    z!UsernameNotModifiedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ö  s    z#UsernameNotModifiedError.__reduce__r#   r   r   r   r   r  Ñ  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚUsernameNotOccupiedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz-The username is not in use by anyone else yetr)   r*   r   r   r   r   Û  s    z!UsernameNotOccupiedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ß  s    z#UsernameNotOccupiedError.__reduce__r#   r   r   r   r   r  Ú  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚUsernameOccupiedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe username is already takenr)   r*   r   r   r   r   ä  s    zUsernameOccupiedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   è  s    z UsernameOccupiedError.__reduce__r#   r   r   r   r   r  ã  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚUsernamePurchaseAvailableErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S r]   r)   r*   r   r   r   r   í  s    z'UsernamePurchaseAvailableError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ñ  s    z)UsernamePurchaseAvailableError.__reduce__r#   r   r   r   r   r  ì  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserpicPrivacyRequiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzfYou need to disable privacy settings for your profile picture in order to make your geolocation publicr)   r*   r   r   r   r   ö  s    z$UserpicPrivacyRequiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ú  s    z&UserpicPrivacyRequiredError.__reduce__r#   r   r   r   r   r  õ  s   r  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserpicUploadRequiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz8You must have a profile picture before using this methodr)   r*   r   r   r   r   ÿ  s    z#UserpicUploadRequiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z%UserpicUploadRequiredError.__reduce__r#   r   r   r   r   r   þ  s   r   c                       s$   e Zd Z fddZdd Z  ZS )ÚUsersTooFewErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz0Not enough users (to create a chat, for example)r)   r*   r   r   r   r     s    zUsersTooFewError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zUsersTooFewError.__reduce__r#   r   r   r   r   r!    s   r!  c                       s$   e Zd Z fddZdd Z  ZS )ÚUsersTooMuchErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzMThe maximum number of users has been exceeded (to create a chat, for example)r)   r*   r   r   r   r     s    zUsersTooMuchError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zUsersTooMuchError.__reduce__r#   r   r   r   r   r"    s   r"  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserAdminInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzOEither you're not an admin or you tried to ban an admin that you didn't promoter)   r*   r   r   r   r     s    zUserAdminInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z UserAdminInvalidError.__reduce__r#   r   r   r   r   r#    s   r#  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserAlreadyInvitedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz"You have already invited this userr)   r*   r   r   r   r   #  s    z UserAlreadyInvitedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   '  s    z"UserAlreadyInvitedError.__reduce__r#   r   r   r   r   r$  "  s   r$  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserAlreadyParticipantErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz;The authenticated user is already a participant of the chatr)   r*   r   r   r   r   ,  s    z$UserAlreadyParticipantError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   0  s    z&UserAlreadyParticipantError.__reduce__r#   r   r   r   r   r%  +  s   r%  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserBannedInChannelErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz;You're banned from sending messages in supergroups/channelsr)   r*   r   r   r   r   5  s    z!UserBannedInChannelError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   9  s    z#UserBannedInChannelError.__reduce__r#   r   r   r   r   r&  4  s   r&  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserBlockedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzUser blockedr)   r*   r   r   r   r   >  s    zUserBlockedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   B  s    zUserBlockedError.__reduce__r#   r   r   r   r   r'  =  s   r'  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserBotErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz$Bots can only be admins in channels.r)   r*   r   r   r   r   G  s    zUserBotError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   K  s    zUserBotError.__reduce__r#   r   r   r   r   r(  F  s   r(  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserBotInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S ©Nz'This method can only be called by a botr)   r*   r   r   r   r   P  s    zUserBotInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   T  s    zUserBotInvalidError.__reduce__r#   r   r   r   r   r)  O  s   r)  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserBotRequiredErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S r*  r)   r*   r   r   r   r   Y  s    zUserBotRequiredError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ]  s    zUserBotRequiredError.__reduce__r#   r   r   r   r   r+  X  s   r+  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserChannelsTooMuchErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzMOne of the users you tried to add is already in too many channels/supergroupsr)   r*   r   r   r   r   b  s    z!UserChannelsTooMuchError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   f  s    z#UserChannelsTooMuchError.__reduce__r#   r   r   r   r   r,  a  s   r,  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserCreatorErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz8You can't leave this channel, because you're its creatorr)   r*   r   r   r   r   k  s    zUserCreatorError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   o  s    zUserCreatorError.__reduce__r#   r   r   r   r   r-  j  s   r-  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserDeactivatedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S ©Nz%The user has been deleted/deactivatedr)   r*   r   r   r   r   t  s    zUserDeactivatedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   x  s    zUserDeactivatedError.__reduce__r#   r   r   r   r   r.  s  s   r.  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserDeactivatedBanErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S r/  r)   r*   r   r   r   r   }  s    z UserDeactivatedBanError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z"UserDeactivatedBanError.__reduce__r#   r   r   r   r   r0  |  s   r0  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserDeletedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzVYou can't send this secret message because the other participant deleted their accountr)   r*   r   r   r   r     s    zUserDeletedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zUserDeletedError.__reduce__r#   r   r   r   r   r1    s   r1  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserIdInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz²Invalid object ID for a user. Make sure to pass the right types, for instance making sure that the request is designed for users or otherwise look for a different one more suitedr)   r*   r   r   r   r     s    zUserIdInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zUserIdInvalidError.__reduce__r#   r   r   r   r   r2    s   r2  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe given user was invalidr)   r*   r   r   r   r     s    zUserInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zUserInvalidError.__reduce__r#   r   r   r   r   r3    s   r3  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserIsBlockedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzUser is blockedr)   r*   r   r   r   r   ¡  s    zUserIsBlockedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ¥  s    zUserIsBlockedError.__reduce__r#   r   r   r   r   r4     s   r4  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserIsBotErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz&Bots can't send messages to other botsr)   r*   r   r   r   r   ª  s    zUserIsBotError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ®  s    zUserIsBotError.__reduce__r#   r   r   r   r   r5  ©  s   r5  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserKickedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz1This user was kicked from this supergroup/channelr)   r*   r   r   r   r   ³  s    zUserKickedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ·  s    zUserKickedError.__reduce__r#   r   r   r   r   r6  ²  s   r6  c                       s&   e Zd Zd fdd	Zdd Z  ZS )ÚUserMigrateErrorr   c                    s:   || _ t|| _tt|  dj| jd|  | j ¡ ¡ d S )NzWThe user whose identity is being used to execute queries is associated with DC {new_dc}rÑ   rÓ   r   r   r   r   r   Œ  s    
zUserMigrateError.__init__c                 C   s   t | | j| jffS r   rÔ   r!   r   r   r   r"   Á  s    zUserMigrateError.__reduce__)r   r#   r   r   r   r   r7  »  s   r7  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserNotMutualContactErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz)The provided user is not a mutual contactr)   r*   r   r   r   r   Æ  s    z"UserNotMutualContactError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ê  s    z$UserNotMutualContactError.__reduce__r#   r   r   r   r   r8  Å  s   r8  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserNotParticipantErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzEThe target user is not a member of the specified megagroup or channelr)   r*   r   r   r   r   Ï  s    z UserNotParticipantError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ó  s    z"UserNotParticipantError.__reduce__r#   r   r   r   r   r9  Î  s   r9  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserPrivacyRestrictedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz7The user's privacy settings do not allow you to do thisr)   r*   r   r   r   r   Ø  s    z#UserPrivacyRestrictedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Ü  s    z%UserPrivacyRestrictedError.__reduce__r#   r   r   r   r   r:  ×  s   r:  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserRestrictedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz8You're spamreported, you can't create channels or chats.r)   r*   r   r   r   r   á  s    zUserRestrictedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   å  s    zUserRestrictedError.__reduce__r#   r   r   r   r   r;  à  s   r;  c                       s$   e Zd Z fddZdd Z  ZS )ÚUserVolumeInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz$The specified user volume is invalidr)   r*   r   r   r   r   ê  s    zUserVolumeInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   î  s    z!UserVolumeInvalidError.__reduce__r#   r   r   r   r   r<  é  s   r<  c                       s$   e Zd Z fddZdd Z  ZS )ÚVideoContentTypeInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz[The video content type is not supported with the given parameters (i.e. supports_streaming)r)   r*   r   r   r   r   ó  s    z%VideoContentTypeInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ÷  s    z'VideoContentTypeInvalidError.__reduce__r#   r   r   r   r   r=  ò  s   r=  c                       s$   e Zd Z fddZdd Z  ZS )ÚVideoFileInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe given video cannot be usedr)   r*   r   r   r   r   ü  s    zVideoFileInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"      s    z VideoFileInvalidError.__reduce__r#   r   r   r   r   r>  û  s   r>  c                       s$   e Zd Z fddZdd Z  ZS )ÚVideoTitleEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz"The specified video title is emptyr)   r*   r   r   r   r     s    zVideoTitleEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   	  s    zVideoTitleEmptyError.__reduce__r#   r   r   r   r   r?    s   r?  c                       s$   e Zd Z fddZdd Z  ZS )ÚVoiceMessagesForbiddenErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzCThis user's privacy settings forbid you from sending voice messagesr)   r*   r   r   r   r     s    z$VoiceMessagesForbiddenError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z&VoiceMessagesForbiddenError.__reduce__r#   r   r   r   r   r@    s   r@  c                       s$   e Zd Z fddZdd Z  ZS )ÚWallpaperFileInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz,The given file cannot be used as a wallpaperr)   r*   r   r   r   r     s    z"WallpaperFileInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z$WallpaperFileInvalidError.__reduce__r#   r   r   r   r   rA    s   rA  c                       s$   e Zd Z fddZdd Z  ZS )ÚWallpaperInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz!The input wallpaper was not validr)   r*   r   r   r   r      s    zWallpaperInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   $  s    z WallpaperInvalidError.__reduce__r#   r   r   r   r   rB    s   rB  c                       s$   e Zd Z fddZdd Z  ZS )ÚWallpaperMimeInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz,The specified wallpaper MIME type is invalidr)   r*   r   r   r   r   )  s    z"WallpaperMimeInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   -  s    z$WallpaperMimeInvalidError.__reduce__r#   r   r   r   r   rC  (  s   rC  c                       s$   e Zd Z fddZdd Z  ZS )ÚWcConvertUrlInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzWC convert URL invalidr)   r*   r   r   r   r   2  s    z!WcConvertUrlInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   6  s    z#WcConvertUrlInvalidError.__reduce__r#   r   r   r   r   rD  1  s   rD  c                       s$   e Zd Z fddZdd Z  ZS )ÚWebdocumentInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz Invalid webdocument URL providedr)   r*   r   r   r   r   ;  s    z WebdocumentInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ?  s    z"WebdocumentInvalidError.__reduce__r#   r   r   r   r   rE  :  s   rE  c                       s$   e Zd Z fddZdd Z  ZS )ÚWebdocumentMimeInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz&Invalid webdocument mime type providedr)   r*   r   r   r   r   D  s    z$WebdocumentMimeInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   H  s    z&WebdocumentMimeInvalidError.__reduce__r#   r   r   r   r   rF  C  s   rF  c                       s$   e Zd Z fddZdd Z  ZS )ÚWebdocumentSizeTooBigErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzWebdocument is too big!r)   r*   r   r   r   r   M  s    z#WebdocumentSizeTooBigError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Q  s    z%WebdocumentSizeTooBigError.__reduce__r#   r   r   r   r   rG  L  s   rG  c                       s$   e Zd Z fddZdd Z  ZS )ÚWebdocumentUrlInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzThe given URL cannot be usedr)   r*   r   r   r   r   V  s    z#WebdocumentUrlInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   Z  s    z%WebdocumentUrlInvalidError.__reduce__r#   r   r   r   r   rH  U  s   rH  c                       s$   e Zd Z fddZdd Z  ZS )ÚWebpageCurlFailedErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz,Failure while fetching the webpage with cURLr)   r*   r   r   r   r   _  s    zWebpageCurlFailedError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   c  s    z!WebpageCurlFailedError.__reduce__r#   r   r   r   r   rI  ^  s   rI  c                       s$   e Zd Z fddZdd Z  ZS )ÚWebpageMediaEmptyErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzWebpage media emptyr)   r*   r   r   r   r   h  s    zWebpageMediaEmptyError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   l  s    z!WebpageMediaEmptyError.__reduce__r#   r   r   r   r   rJ  g  s   rJ  c                       s$   e Zd Z fddZdd Z  ZS )ÚWebpushAuthInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz7The specified web push authentication secret is invalidr)   r*   r   r   r   r   q  s    z WebpushAuthInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   u  s    z"WebpushAuthInvalidError.__reduce__r#   r   r   r   r   rK  p  s   rK  c                       s$   e Zd Z fddZdd Z  ZS )ÚWebpushKeyInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzJThe specified web push elliptic curve Diffie-Hellman public key is invalidr)   r*   r   r   r   r   z  s    zWebpushKeyInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ~  s    z!WebpushKeyInvalidError.__reduce__r#   r   r   r   r   rL  y  s   rL  c                       s$   e Zd Z fddZdd Z  ZS )ÚWebpushTokenInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz'The specified web push token is invalidr)   r*   r   r   r   r     s    z!WebpushTokenInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z#WebpushTokenInvalidError.__reduce__r#   r   r   r   r   rM    s   rM  c                       s$   e Zd Z fddZdd Z  ZS )ÚWorkerBusyTooLongRetryErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz4Telegram workers are too busy to respond immediatelyr)   r*   r   r   r   r     s    z$WorkerBusyTooLongRetryError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    z&WorkerBusyTooLongRetryError.__reduce__r#   r   r   r   r   rN    s   rN  c                       s$   e Zd Z fddZdd Z  ZS )ÚYouBlockedUserErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzYou blocked this userr)   r*   r   r   r   r     s    zYouBlockedUserError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"     s    zYouBlockedUserError.__reduce__r#   r   r   r   r   rO    s   rO  c                       s$   e Zd Z fddZdd Z  ZS )ÚFrozenMethodInvalidErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )NzCYou tried to use a method that is not available for frozen accountsr)   r*   r   r   r   r     s    z!FrozenMethodInvalidError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   ¢  s    z#FrozenMethodInvalidError.__reduce__r#   r   r   r   r   rP    s   rP  c                       s$   e Zd Z fddZdd Z  ZS )ÚFrozenParticipantMissingErrorc                    s&   || _ tt|  d|  | j ¡ ¡ d S )Nz0Your account is frozen and can't access the chatr)   r*   r   r   r   r   §  s    z&FrozenParticipantMissingError.__init__c                 C   s   t | | jffS r   r+   r!   r   r   r   r"   «  s    z(FrozenParticipantMissingError.__reduce__r#   r   r   r   r   rQ  Š  s   rQ  (ÿ  ZABOUT_TOO_LONGZACCESS_TOKEN_EXPIREDZACCESS_TOKEN_INVALIDZACTIVE_USER_REQUIREDZADMINS_TOO_MUCHZADMIN_ID_INVALIDZADMIN_RANK_EMOJI_NOT_ALLOWEDZADMIN_RANK_INVALIDZALBUM_PHOTOS_TOO_MANYZAPI_ID_INVALIDZAPI_ID_PUBLISHED_FLOODZARTICLE_TITLE_EMPTYZAUDIO_CONTENT_URL_EMPTYZAUDIO_TITLE_EMPTYZAUTH_BYTES_INVALIDZAUTH_KEY_DUPLICATEDZAUTH_KEY_INVALIDZAUTH_KEY_PERM_EMPTYZAUTH_KEY_UNREGISTEREDZAUTH_RESTARTZAUTH_TOKEN_ALREADY_ACCEPTEDZAUTH_TOKEN_EXCEPTIONZAUTH_TOKEN_EXPIREDZAUTH_TOKEN_INVALIDZAUTH_TOKEN_INVALID2ZAUTH_TOKEN_INVALIDXZAUTOARCHIVE_NOT_AVAILABLEZBANK_CARD_NUMBER_INVALIDZBANNED_RIGHTS_INVALIDZBASE_PORT_LOC_INVALIDZBOTS_TOO_MUCHZBOT_CHANNELS_NAZBOT_COMMAND_DESCRIPTION_INVALIDZBOT_COMMAND_INVALIDZBOT_COMMANDS_TOO_MUCHZBOT_DOMAIN_INVALIDZBOT_GAMES_DISABLEDZBOT_GROUPS_BLOCKEDZBOT_INLINE_DISABLEDZBOT_INVALIDZBOT_METHOD_INVALIDZBOT_MISSINGZBOT_ONESIDE_NOT_AVAILZBOT_PAYMENTS_DISABLEDZBOT_POLLS_DISABLEDZBOT_RESPONSE_TIMEOUTZBOT_SCORE_NOT_MODIFIEDZBROADCAST_CALLS_DISABLEDZBROADCAST_FORBIDDENZBROADCAST_ID_INVALIDZ!BROADCAST_PUBLIC_VOTERS_FORBIDDENZBROADCAST_REQUIREDZBUTTON_DATA_INVALIDZBUTTON_TEXT_INVALIDZBUTTON_TYPE_INVALIDZBUTTON_URL_INVALIDZBUTTON_USER_PRIVACY_RESTRICTEDZCALL_ALREADY_ACCEPTEDZCALL_ALREADY_DECLINEDZCALL_OCCUPY_FAILEDZCALL_PEER_INVALIDZCALL_PROTOCOL_FLAGS_INVALIDZCDN_METHOD_INVALIDZCDN_UPLOAD_TIMEOUTZCHANNELS_ADMIN_LOCATED_TOO_MUCHZCHANNELS_ADMIN_PUBLIC_TOO_MUCHZCHANNELS_TOO_MUCHZCHANNEL_BANNEDZCHANNEL_FORUM_MISSINGZCHANNEL_ID_INVALIDZCHANNEL_INVALIDZCHANNEL_PARICIPANT_MISSINGZCHANNEL_PRIVATEZCHANNEL_PUBLIC_GROUP_NAZCHANNEL_TOO_BIGZCHANNEL_TOO_LARGEZCHAT_ABOUT_NOT_MODIFIEDZCHAT_ABOUT_TOO_LONGZCHAT_ADMIN_INVITE_REQUIREDZCHAT_ADMIN_REQUIREDZCHAT_DISCUSSION_UNALLOWEDZCHAT_FORBIDDENZCHAT_FORWARDS_RESTRICTEDZCHAT_GET_FAILEDZCHAT_GUEST_SEND_FORBIDDENZCHAT_ID_EMPTYZCHAT_ID_GENERATE_FAILEDZCHAT_ID_INVALIDZCHAT_INVALIDZCHAT_INVITE_PERMANENTZCHAT_LINK_EXISTSZCHAT_NOT_MODIFIEDZCHAT_RESTRICTEDZCHAT_REVOKE_DATE_UNSUPPORTEDZCHAT_SEND_GAME_FORBIDDENZCHAT_SEND_GIFS_FORBIDDENZCHAT_SEND_INLINE_FORBIDDENZCHAT_SEND_MEDIA_FORBIDDENZCHAT_SEND_POLL_FORBIDDENZCHAT_SEND_STICKERS_FORBIDDENZCHAT_TITLE_EMPTYZCHAT_TOO_BIGZCHAT_WRITE_FORBIDDENZCHP_CALL_FAILZ
CODE_EMPTYZCODE_HASH_INVALIDZCODE_INVALIDZCONNECTION_API_ID_INVALIDZCONNECTION_APP_VERSION_EMPTYZCONNECTION_DEVICE_MODEL_EMPTYZCONNECTION_LANG_PACK_INVALIDZCONNECTION_LAYER_INVALIDZCONNECTION_NOT_INITEDZCONNECTION_SYSTEM_EMPTYZ!CONNECTION_SYSTEM_LANG_CODE_EMPTYZCONTACT_ADD_MISSINGZCONTACT_ID_INVALIDZCONTACT_NAME_EMPTYZCONTACT_REQ_MISSINGZCREATE_CALL_FAILEDZCURRENCY_TOTAL_AMOUNT_INVALIDZDATA_INVALIDZDATA_JSON_INVALIDZDATA_TOO_LONGZ
DATE_EMPTYZDC_ID_INVALIDZDH_G_A_INVALIDZDOCUMENT_INVALIDZEDIT_BOT_INVITE_FORBIDDENZEMAIL_HASH_EXPIREDZEMAIL_INVALIDZEMAIL_UNCONFIRMEDZEMAIL_VERIFY_EXPIREDZEMOJI_INVALIDZEMOJI_NOT_MODIFIEDZEMOTICON_EMPTYZEMOTICON_INVALIDZEMOTICON_STICKERPACK_MISSINGZENCRYPTED_MESSAGE_INVALIDZENCRYPTION_ALREADY_ACCEPTEDZENCRYPTION_ALREADY_DECLINEDZENCRYPTION_DECLINEDZENCRYPTION_ID_INVALIDZENCRYPTION_OCCUPY_FAILEDZENTITIES_TOO_LONGZENTITY_BOUNDS_INVALIDZENTITY_MENTION_USER_INVALIDZERROR_TEXT_EMPTYZEXPIRE_DATE_INVALIDZEXPIRE_FORBIDDENZEXPORT_CARD_INVALIDZEXTERNAL_URL_INVALIDZFIELD_NAME_EMPTYZFIELD_NAME_INVALIDZFILEREF_UPGRADE_NEEDEDZFILE_CONTENT_TYPE_INVALIDZ
FILE_EMTPYZFILE_ID_INVALIDZFILE_PARTS_INVALIDZFILE_PART_0_MISSINGZFILE_PART_EMPTYZFILE_PART_INVALIDZFILE_PART_LENGTH_INVALIDZFILE_PART_SIZE_CHANGEDZFILE_PART_SIZE_INVALIDZFILE_PART_TOO_BIGZFILE_REFERENCE_EMPTYZFILE_REFERENCE_EXPIREDZFILE_REFERENCE_INVALIDZFILE_TITLE_EMPTYZFILTER_ID_INVALIDZFILTER_INCLUDE_EMPTYZFILTER_NOT_SUPPORTEDZFILTER_TITLE_EMPTYZFIRSTNAME_INVALIDZFOLDER_ID_EMPTYZFOLDER_ID_INVALIDZFRESH_CHANGE_ADMINS_FORBIDDENZFRESH_CHANGE_PHONE_FORBIDDENZ#FRESH_RESET_AUTHORISATION_FORBIDDENZFROM_MESSAGE_BOT_DISABLEDZFROM_PEER_INVALIDZGAME_BOT_INVALIDZGEO_POINT_INVALIDZGIF_CONTENT_TYPE_INVALIDZGIF_ID_INVALIDZGRAPH_EXPIRED_RELOADZGRAPH_INVALID_RELOADZGRAPH_OUTDATED_RELOADZ!GROUPCALL_ADD_PARTICIPANTS_FAILEDZGROUPCALL_ALREADY_DISCARDEDZGROUPCALL_ALREADY_STARTEDZGROUPCALL_FORBIDDENZGROUPCALL_INVALIDZGROUPCALL_JOIN_MISSINGZGROUPCALL_NOT_MODIFIEDZGROUPCALL_SSRC_DUPLICATE_MUCHZGROUPED_MEDIA_INVALIDZGROUP_CALL_INVALIDZHASH_INVALIDZHIDE_REQUESTER_MISSINGZHISTORY_GET_FAILEDZIMAGE_PROCESS_FAILEDZIMPORT_FILE_INVALIDZIMPORT_FORMAT_UNRECOGNIZEDZIMPORT_ID_INVALIDZINLINE_BOT_REQUIREDZINLINE_RESULT_EXPIREDZINPUT_CONSTRUCTOR_INVALIDZINPUT_FETCH_ERRORZINPUT_FETCH_FAILZINPUT_FILTER_INVALIDZINPUT_LAYER_INVALIDZINPUT_METHOD_INVALIDZINPUT_REQUEST_TOO_LONGZINPUT_TEXT_EMPTYZINPUT_USER_DEACTIVATEDZINVITE_FORBIDDEN_WITH_JOINASZINVITE_HASH_EMPTYZINVITE_HASH_EXPIREDZINVITE_HASH_INVALIDZINVITE_REQUEST_SENTZINVITE_REVOKED_MISSINGZINVOICE_PAYLOAD_INVALIDZJOIN_AS_PEER_INVALIDZLANG_CODE_INVALIDZLANG_CODE_NOT_SUPPORTEDZLANG_PACK_INVALIDZLASTNAME_INVALIDZLIMIT_INVALIDZLINK_NOT_MODIFIEDZLOCATION_INVALIDZMAX_DATE_INVALIDZMAX_ID_INVALIDZMAX_QTS_INVALIDZMD5_CHECKSUM_INVALIDZMEDIA_CAPTION_TOO_LONGZMEDIA_EMPTYZMEDIA_GROUPED_INVALIDZMEDIA_INVALIDZMEDIA_NEW_INVALIDZMEDIA_PREV_INVALIDZMEDIA_TTL_INVALIDZMEGAGROUP_ID_INVALIDZMEGAGROUP_PREHISTORY_HIDDENZMEGAGROUP_REQUIREDZMEMBER_NO_LOCATIONZ MEMBER_OCCUPY_PRIMARY_LOC_FAILEDZMESSAGE_AUTHOR_REQUIREDZMESSAGE_DELETE_FORBIDDENZMESSAGE_EDIT_TIME_EXPIREDZMESSAGE_EMPTYZMESSAGE_IDS_EMPTYZMESSAGE_ID_INVALIDZMESSAGE_NOT_MODIFIEDZMESSAGE_POLL_CLOSEDZMESSAGE_TOO_LONGZMETHOD_INVALIDZMIN_DATE_INVALIDZMSGID_DECREASE_RETRYZMSG_ID_INVALIDZMSG_TOO_OLDZMSG_WAIT_FAILEDZMT_SEND_QUEUE_TOO_LONGZMULTI_MEDIA_TOO_LONGZNEED_CHAT_INVALIDZNEED_MEMBER_INVALIDZNEW_SALT_INVALIDZNEW_SETTINGS_EMPTYZNEW_SETTINGS_INVALIDZNEXT_OFFSET_INVALIDÚNOT_ALLOWEDZOFFSET_INVALIDZOFFSET_PEER_ID_INVALIDZOPTIONS_TOO_MUCHZOPTION_INVALIDZPACK_SHORT_NAME_INVALIDZPACK_SHORT_NAME_OCCUPIEDZPACK_TITLE_INVALIDZPARTICIPANTS_TOO_FEWZPARTICIPANT_CALL_FAILEDZPARTICIPANT_ID_INVALIDZPARTICIPANT_JOIN_MISSINGZPARTICIPANT_VERSION_OUTDATEDZPASSWORD_EMPTYZPASSWORD_HASH_INVALIDZPASSWORD_MISSINGZPASSWORD_RECOVERY_EXPIREDZPASSWORD_RECOVERY_NAZPASSWORD_REQUIREDZPAYMENT_PROVIDER_INVALIDZ
PEER_FLOODZPEER_HISTORY_EMPTYZPEER_ID_INVALIDZPEER_ID_NOT_SUPPORTEDZPERSISTENT_TIMESTAMP_EMPTYZPERSISTENT_TIMESTAMP_INVALIDZPERSISTENT_TIMESTAMP_OUTDATEDZPHONE_CODE_EMPTYZPHONE_CODE_EXPIREDZPHONE_CODE_HASH_EMPTYZPHONE_CODE_INVALIDZPHONE_HASH_EXPIREDZPHONE_NOT_OCCUPIEDZ!PHONE_NUMBER_APP_SIGNUP_FORBIDDENZPHONE_NUMBER_BANNEDZPHONE_NUMBER_FLOODZPHONE_NUMBER_INVALIDZPHONE_NUMBER_OCCUPIEDZPHONE_NUMBER_UNOCCUPIEDZPHONE_PASSWORD_FLOODZPHONE_PASSWORD_PROTECTEDZPHOTO_CONTENT_TYPE_INVALIDZPHOTO_CONTENT_URL_EMPTYZPHOTO_CROP_FILE_MISSINGZPHOTO_CROP_SIZE_SMALLZPHOTO_EXT_INVALIDZPHOTO_FILE_MISSINGZPHOTO_ID_INVALIDZPHOTO_INVALIDZPHOTO_INVALID_DIMENSIONSZPHOTO_SAVE_FILE_INVALIDZPHOTO_THUMB_URL_EMPTYZPINNED_DIALOGS_TOO_MUCHZPIN_RESTRICTEDZPOLL_ANSWERS_INVALIDZPOLL_ANSWER_INVALIDZPOLL_OPTION_DUPLICATEZPOLL_OPTION_INVALIDZPOLL_QUESTION_INVALIDZPOLL_UNSUPPORTEDZPOLL_VOTE_REQUIREDZPOSTPONED_TIMEOUTZPREMIUM_ACCOUNT_REQUIREDZPREMIUM_CURRENTLY_UNAVAILABLEZPRIVACY_KEY_INVALIDZPRIVACY_TOO_LONGZPRIVACY_VALUE_INVALIDZPTS_CHANGE_EMPTYZPUBLIC_CHANNEL_MISSINGZPUBLIC_KEY_REQUIREDZQUERY_ID_EMPTYZQUERY_ID_INVALIDZQUERY_TOO_SHORTZQUIZ_ANSWER_MISSINGZQUIZ_CORRECT_ANSWERS_EMPTYZQUIZ_CORRECT_ANSWERS_TOO_MUCHZQUIZ_CORRECT_ANSWER_INVALIDZQUIZ_MULTIPLE_INVALIDZRANDOM_ID_DUPLICATEZRANDOM_ID_EMPTYZRANDOM_ID_INVALIDZRANDOM_LENGTH_INVALIDZRANGES_INVALIDZREACTIONS_TOO_MANYZREACTION_EMPTYZREACTION_INVALIDZREFLECTOR_NOT_AVAILABLEZREG_ID_GENERATE_FAILEDZREPLY_MARKUP_BUY_EMPTYZREPLY_MARKUP_GAME_EMPTYZREPLY_MARKUP_INVALIDZREPLY_MARKUP_TOO_LONGZRESET_REQUEST_MISSINGZRESULTS_TOO_MUCHZRESULT_ID_DUPLICATEZRESULT_ID_EMPTYZRESULT_ID_INVALIDZRESULT_TYPE_INVALIDZREVOTE_NOT_ALLOWEDZRIGHTS_NOT_MODIFIEDZRIGHT_FORBIDDENZRPC_CALL_FAILZRPC_MCGET_FAILZRSA_DECRYPT_FAILEDZSCHEDULE_BOT_NOT_ALLOWEDZSCHEDULE_DATE_INVALIDZSCHEDULE_DATE_TOO_LATEZSCHEDULE_STATUS_PRIVATEZSCHEDULE_TOO_MUCHZSCORE_INVALIDZSEARCH_QUERY_EMPTYZSEARCH_WITH_LINK_NOT_SUPPORTEDZSECONDS_INVALIDZSEND_AS_PEER_INVALIDZSEND_CODE_UNAVAILABLEZSEND_MESSAGE_MEDIA_INVALIDZSEND_MESSAGE_TYPE_INVALIDZSENSITIVE_CHANGE_FORBIDDENZSESSION_EXPIREDZSESSION_PASSWORD_NEEDEDZSESSION_REVOKEDZSETTINGS_INVALIDZSHA256_HASH_INVALIDZSHORTNAME_OCCUPY_FAILEDZSHORT_NAME_INVALIDZSHORT_NAME_OCCUPIEDZSIGN_IN_FAILEDZSLOWMODE_MULTI_MSGS_DISABLEDZSMS_CODE_CREATE_FAILEDZSRP_ID_INVALIDZSRP_PASSWORD_CHANGEDZSTART_PARAM_EMPTYZSTART_PARAM_INVALIDZSTART_PARAM_TOO_LONGZSTICKERPACK_STICKERS_TOO_MUCHZSTICKERSET_INVALIDZSTICKERSET_OWNER_ANONYMOUSZSTICKERS_EMPTYZSTICKERS_TOO_MUCHZSTICKER_DOCUMENT_INVALIDZSTICKER_EMOJI_INVALIDZSTICKER_FILE_INVALIDZSTICKER_GIF_DIMENSIONSZSTICKER_ID_INVALIDZSTICKER_INVALIDZSTICKER_MIME_INVALIDZSTICKER_PNG_DIMENSIONSZSTICKER_PNG_NOPNGZSTICKER_TGS_NODOCZSTICKER_TGS_NOTGSZSTICKER_THUMB_PNG_NOPNGZSTICKER_THUMB_TGS_NOTGSZSTICKER_VIDEO_BIGZSTICKER_VIDEO_NODOCZSTICKER_VIDEO_NOWEBMZSTORAGE_CHECK_FAILEDZSTORE_INVALID_SCALAR_TYPEZSWITCH_PM_TEXT_EMPTYZTAKEOUT_INVALIDZTAKEOUT_REQUIREDZTEMP_AUTH_KEY_ALREADY_BOUNDZTEMP_AUTH_KEY_EMPTYZTHEME_FILE_INVALIDZTHEME_FORMAT_INVALIDZTHEME_INVALIDZTHEME_MIME_INVALIDZTHEME_TITLE_INVALIDÚTIMEOUTZTITLE_INVALIDZTMP_PASSWORD_DISABLEDZTMP_PASSWORD_INVALIDZTOKEN_INVALIDZTOPIC_DELETEDZTO_LANG_INVALIDZTTL_DAYS_INVALIDZTTL_MEDIA_INVALIDZTTL_PERIOD_INVALIDZTYPES_EMPTYZTYPE_CONSTRUCTOR_INVALIDZTimedoutÚTimeoutÚUNKNOWN_ERRORZUNKNOWN_METHODZUNTIL_DATE_INVALIDZUPDATE_APP_TO_LOGINZURL_INVALIDZUSAGE_LIMIT_INVALIDZUSERNAME_INVALIDZUSERNAME_NOT_MODIFIEDZUSERNAME_NOT_OCCUPIEDZUSERNAME_OCCUPIEDZUSERNAME_PURCHASE_AVAILABLEZUSERPIC_PRIVACY_REQUIREDZUSERPIC_UPLOAD_REQUIREDZUSERS_TOO_FEWZUSERS_TOO_MUCHZUSER_ADMIN_INVALIDZUSER_ALREADY_INVITEDZUSER_ALREADY_PARTICIPANTZUSER_BANNED_IN_CHANNELZUSER_BLOCKEDZUSER_BOTZUSER_BOT_INVALIDZUSER_BOT_REQUIREDZUSER_CHANNELS_TOO_MUCHZUSER_CREATORZUSER_DEACTIVATEDZUSER_DEACTIVATED_BANZUSER_DELETEDZUSER_ID_INVALIDZUSER_INVALIDZUSER_IS_BLOCKEDZUSER_IS_BOTZUSER_KICKEDZUSER_NOT_MUTUAL_CONTACTZUSER_NOT_PARTICIPANTZUSER_PRIVACY_RESTRICTEDZUSER_RESTRICTEDZUSER_VOLUME_INVALIDZVIDEO_CONTENT_TYPE_INVALIDZVIDEO_FILE_INVALIDZVIDEO_TITLE_EMPTYZVOICE_MESSAGES_FORBIDDENZWALLPAPER_FILE_INVALIDZWALLPAPER_INVALIDZWALLPAPER_MIME_INVALIDZWC_CONVERT_URL_INVALIDZWEBDOCUMENT_INVALIDZWEBDOCUMENT_MIME_INVALIDZWEBDOCUMENT_SIZE_TOO_BIGZWEBDOCUMENT_URL_INVALIDZWEBPAGE_CURL_FAILEDZWEBPAGE_MEDIA_EMPTYZWEBPUSH_AUTH_INVALIDZWEBPUSH_KEY_INVALIDZWEBPUSH_TOKEN_INVALIDZWORKER_BUSY_TOO_LONG_RETRYZYOU_BLOCKED_USERZFROZEN_METHOD_INVALIDZFROZEN_PARTICIPANT_MISSINGz2FA_CONFIRM_WAIT_(\d+)zEMAIL_UNCONFIRMED_(\d+)zFILE_MIGRATE_(\d+)zFILE_PART_(\d+)_MISSINGzFLOOD_TEST_PHONE_WAIT_(\d+)zFLOOD_WAIT_(\d+)zFLOOD_PREMIUM_WAIT_(\d+)zINTERDC_(\d+)_CALL_ERRORzINTERDC_(\d+)_CALL_RICH_ERRORzNETWORK_MIGRATE_(\d+)zPASSWORD_TOO_FRESH_(\d+)zPHONE_MIGRATE_(\d+)z)PREVIOUS_CHAT_IMPORT_ACTIVE_WAIT_(\d+)MINzSESSION_TOO_FRESH_(\d+)zSLOWMODE_WAIT_(\d+)zSTATS_MIGRATE_(\d+)zTAKEOUT_INIT_DELAY_(\d+)zUSER_MIGRATE_(\d+)N(  Zrpcbaseerrorsr   r   r   r   r   r   r   r	   r
   r   r(   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rW   rX   rY   rZ   r[   r\   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   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®   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ê   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"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  r`  ra  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  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¯  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å  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  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r+  r,  r-  r.  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  Zrpc_errors_dictZrpc_errors_rer   r   r   r   Ú<module>   sV  ,
																																																																																																																																				
																										
								
									


																																										

																																																		
																							
													
																																
																																																									
							
						
																								
																																																								
																									
       








î