humanise: add package to print human-friendly errors

Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
This commit is contained in:
Sumner Evans
2024-11-25 17:05:48 -07:00
parent 6b6a6ba275
commit 4b5ae24a67
4 changed files with 1639 additions and 0 deletions
+1059
View File
File diff suppressed because it is too large Load Diff
+5
View File
@@ -0,0 +1,5 @@
// Package humanise turns things into human-readable strings.
package humanise
//go:generate go run ../../internal/gen
//go:generate goimports -w errors.go
+525
View File
@@ -0,0 +1,525 @@
2FA_CONFIRM_WAIT_X,420,The account is 2FA protected so it will be deleted in a week. Otherwise it can be reset in {seconds}
ABOUT_TOO_LONG,400,The provided bio is too long
ACCESS_TOKEN_EXPIRED,400,Bot token expired
ACCESS_TOKEN_INVALID,400,The provided token is not valid
ACTIVE_USER_REQUIRED,401,The method is only available to already activated users
ADMINS_TOO_MUCH,400,Too many admins
ADMIN_ID_INVALID,400,The specified admin ID is invalid
ADMIN_RANK_EMOJI_NOT_ALLOWED,400,Emoji are not allowed in admin titles or ranks
ADMIN_RANK_INVALID,400,The given admin title or rank was invalid (possibly larger than 16 characters)
ALBUM_PHOTOS_TOO_MANY,400,Too many photos were included in the album
API_ID_INVALID,400,The api_id/api_hash combination is invalid
API_ID_PUBLISHED_FLOOD,400,"This API id was published somewhere, you can't use it now"
ARTICLE_TITLE_EMPTY,400,The title of the article is empty
AUDIO_CONTENT_URL_EMPTY,400,The remote URL specified in the content field is empty
AUDIO_TITLE_EMPTY,400,The title attribute of the audio must be non-empty
AUTH_BYTES_INVALID,400,The provided authorization is invalid
AUTH_KEY_DUPLICATED,406,"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 sessions"
AUTH_KEY_INVALID,401,The key is invalid
AUTH_KEY_PERM_EMPTY,401,"The method is unavailable for temporary authorization key, not bound to permanent"
AUTH_KEY_UNREGISTERED,401,The key is not registered in the system
AUTH_RESTART,500,Restart the authorization process
AUTH_TOKEN_ALREADY_ACCEPTED,400,The authorization token was already used
AUTH_TOKEN_EXCEPTION,400,An error occurred while importing the auth token
AUTH_TOKEN_EXPIRED,400,The provided authorization token has expired and the updated QR-code must be re-scanned
AUTH_TOKEN_INVALID,400,An invalid authorization token was provided
AUTH_TOKEN_INVALID2,400,An invalid authorization token was provided
AUTH_TOKEN_INVALIDX,400,The specified auth token is invalid
AUTOARCHIVE_NOT_AVAILABLE,400,You cannot use this feature yet
BANK_CARD_NUMBER_INVALID,400,Incorrect credit card number
BANNED_RIGHTS_INVALID,400,"You cannot use that set of permissions in this request, i.e. restricting view_messages as a default"
BASE_PORT_LOC_INVALID,400,Base port location invalid
BOTS_TOO_MUCH,400,There are too many bots in this chat/channel
BOT_CHANNELS_NA,400,Bots can't edit admin privileges
BOT_COMMAND_DESCRIPTION_INVALID,400,"The command description was empty, too long or had invalid characters used"
BOT_COMMAND_INVALID,400,The specified command is invalid
BOT_DOMAIN_INVALID,400,The domain used for the auth button does not match the one configured in @BotFather
BOT_GAMES_DISABLED,400,Bot games cannot be used in this type of chat
BOT_GROUPS_BLOCKED,400,This bot can't be added to groups
BOT_INLINE_DISABLED,400,This bot can't be used in inline mode
BOT_INVALID,400,This is not a valid bot
BOT_METHOD_INVALID,400,The API access for bot users is restricted. The method you tried to invoke cannot be executed as a bot
BOT_MISSING,400,This method can only be run by a bot
BOT_ONESIDE_NOT_AVAIL,400,Bots can't pin messages in PM just for themselves
BOT_PAYMENTS_DISABLED,400,This method can only be run by a bot
BOT_POLLS_DISABLED,400,You cannot create polls under a bot account
BOT_RESPONSE_TIMEOUT,400,The bot did not answer to the callback query in time
BOT_SCORE_NOT_MODIFIED,400,The score wasn't modified
BROADCAST_CALLS_DISABLED,400,
BROADCAST_FORBIDDEN,403,The request cannot be used in broadcast channels
BROADCAST_ID_INVALID,400,The channel is invalid
BROADCAST_PUBLIC_VOTERS_FORBIDDEN,400,You cannot broadcast polls where the voters are public
BROADCAST_REQUIRED,400,The request can only be used with a broadcast channel
BUTTON_DATA_INVALID,400,The provided button data is invalid
BUTTON_TEXT_INVALID,400,The specified button text is invalid
BUTTON_TYPE_INVALID,400,The type of one of the buttons you provided is invalid
BUTTON_URL_INVALID,400,Button URL invalid
BUTTON_USER_PRIVACY_RESTRICTED,400,The privacy setting of the user specified in a [inputKeyboardButtonUserProfile](/constructor/inputKeyboardButtonUserProfile) button do not allow creating such a button
CALL_ALREADY_ACCEPTED,400,The call was already accepted
CALL_ALREADY_DECLINED,400,The call was already declined
CALL_OCCUPY_FAILED,500,The call failed because the user is already making another call
CALL_PEER_INVALID,400,The provided call peer object is invalid
CALL_PROTOCOL_FLAGS_INVALID,400,Call protocol flags invalid
CDN_METHOD_INVALID,400,This method cannot be invoked on a CDN server. Refer to https://core.telegram.org/cdn#schema for available methods
CDN_UPLOAD_TIMEOUT,500,A server-side timeout occurred while reuploading the file to the CDN DC
CHANNELS_ADMIN_LOCATED_TOO_MUCH,400,The user has reached the limit of public geogroups
CHANNELS_ADMIN_PUBLIC_TOO_MUCH,400,"You're admin of too many public channels, make some channels private to change the username of this channel"
CHANNELS_TOO_MUCH,400,You have joined too many channels/supergroups
CHANNEL_BANNED,400,The channel is banned
CHANNEL_FORUM_MISSING,400,
CHANNEL_ID_INVALID,400,The specified supergroup ID is invalid
CHANNEL_INVALID,400,"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 suited"
CHANNEL_PARICIPANT_MISSING,400,The current user is not in the channel
CHANNEL_PRIVATE,400 406,The channel specified is private and you lack permission to access it. Another reason may be that you were banned from it
CHANNEL_PUBLIC_GROUP_NA,403,channel/supergroup not available
CHANNEL_TOO_BIG,400,
CHANNEL_TOO_LARGE,400 406,Channel is too large to be deleted; this error is issued when trying to delete channels with more than 1000 members (subject to change)
CHAT_ABOUT_NOT_MODIFIED,400,About text has not changed
CHAT_ABOUT_TOO_LONG,400,Chat about too long
CHAT_ADMIN_INVITE_REQUIRED,403,You do not have the rights to do this
CHAT_ADMIN_REQUIRED,400 403,"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 group"
CHAT_DISCUSSION_UNALLOWED,400,
CHAT_FORBIDDEN,403,You cannot write in this chat
CHAT_FORWARDS_RESTRICTED,400 406,You can't forward messages from a protected chat
CHAT_GET_FAILED,500,
CHAT_GUEST_SEND_FORBIDDEN,403,"You join the discussion group before commenting, see [here](/api/discussion#requiring-users-to-join-the-group) for more info"
CHAT_ID_EMPTY,400,The provided chat ID is empty
CHAT_ID_GENERATE_FAILED,500,Failure while generating the chat ID
CHAT_ID_INVALID,400,"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 instead"
CHAT_INVALID,400,The chat is invalid for this request
CHAT_INVITE_PERMANENT,400,You can't set an expiration date on permanent invite links
CHAT_LINK_EXISTS,400,The chat is linked to a channel and cannot be used in that request
CHAT_NOT_MODIFIED,400,"The chat or channel wasn't modified (title, invites, username, admins, etc. are the same)"
CHAT_RESTRICTED,400,The chat is restricted and cannot be used in that request
CHAT_REVOKE_DATE_UNSUPPORTED,400,`min_date` and `max_date` are not available for using with non-user peers
CHAT_SEND_GAME_FORBIDDEN,403,You can't send a game to this chat
CHAT_SEND_GIFS_FORBIDDEN,403,You can't send gifs in this chat
CHAT_SEND_INLINE_FORBIDDEN,400 403,You cannot send inline results in this chat
CHAT_SEND_MEDIA_FORBIDDEN,403,You can't send media in this chat
CHAT_SEND_POLL_FORBIDDEN,403,You can't send polls in this chat
CHAT_SEND_STICKERS_FORBIDDEN,403,You can't send stickers in this chat
CHAT_TITLE_EMPTY,400,No chat title provided
CHAT_TOO_BIG,400,"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)"
CHAT_WRITE_FORBIDDEN,403,You can't write in this chat
CHP_CALL_FAIL,500,The statistics cannot be retrieved at this time
CODE_EMPTY,400,The provided code is empty
CODE_HASH_INVALID,400,Code hash invalid
CODE_INVALID,400,Code invalid (i.e. from email)
CONNECTION_API_ID_INVALID,400,The provided API id is invalid
CONNECTION_APP_VERSION_EMPTY,400,App version is empty
CONNECTION_DEVICE_MODEL_EMPTY,400,Device model empty
CONNECTION_LANG_PACK_INVALID,400,"The specified language pack is not valid. This is meant to be used by official applications only so far, leave it empty"
CONNECTION_LAYER_INVALID,400,The very first request must always be InvokeWithLayerRequest
CONNECTION_NOT_INITED,400,Connection not initialized
CONNECTION_SYSTEM_EMPTY,400,Connection system empty
CONNECTION_SYSTEM_LANG_CODE_EMPTY,400,The system language string was empty during connection
CONTACT_ADD_MISSING,400,Contact to add is missing
CONTACT_ID_INVALID,400,The provided contact ID is invalid
CONTACT_NAME_EMPTY,400,The provided contact name cannot be empty
CONTACT_REQ_MISSING,400,Missing contact request
CREATE_CALL_FAILED,400,An error occurred while creating the call
CURRENCY_TOTAL_AMOUNT_INVALID,400,The total amount of all prices is invalid
DATA_INVALID,400,Encrypted data invalid
DATA_JSON_INVALID,400,The provided JSON data is invalid
DATA_TOO_LONG,400,Data too long
DATE_EMPTY,400,Date empty
DC_ID_INVALID,400,This occurs when an authorization is tried to be exported for the same data center one is currently connected to
DH_G_A_INVALID,400,g_a invalid
DOCUMENT_INVALID,400,The document file was invalid and can't be used in inline mode
EDIT_BOT_INVITE_FORBIDDEN,403,Normal users can't edit invites that were created by bots
EMAIL_HASH_EXPIRED,400,The email hash expired and cannot be used to verify it
EMAIL_INVALID,400,The given email is invalid
EMAIL_UNCONFIRMED,400,Email unconfirmed
EMAIL_UNCONFIRMED_X,400,"Email unconfirmed, the length of the code must be {code_length}"
EMAIL_VERIFY_EXPIRED,400,The verification email has expired
EMOJI_INVALID,400,The specified theme emoji is valid
EMOJI_NOT_MODIFIED,400,The theme wasn't changed
EMOTICON_EMPTY,400,The emoticon field cannot be empty
EMOTICON_INVALID,400,The specified emoticon cannot be used or was not a emoticon
EMOTICON_STICKERPACK_MISSING,400,The emoticon sticker pack you are trying to get is missing
ENCRYPTED_MESSAGE_INVALID,400,Encrypted message invalid
ENCRYPTION_ALREADY_ACCEPTED,400,Secret chat already accepted
ENCRYPTION_ALREADY_DECLINED,400,The secret chat was already declined
ENCRYPTION_DECLINED,400,The secret chat was declined
ENCRYPTION_ID_INVALID,400,The provided secret chat ID is invalid
ENCRYPTION_OCCUPY_FAILED,500,TDLib developer claimed it is not an error while accepting secret chats and 500 is used instead of 420
ENTITIES_TOO_LONG,400,It is no longer possible to send such long data inside entity tags (for example inline text URLs)
ENTITY_BOUNDS_INVALID,400,Some of provided entities have invalid bounds (length is zero or out of the boundaries of the string)
ENTITY_MENTION_USER_INVALID,400,You can't use this entity
ERROR_TEXT_EMPTY,400,The provided error message is empty
EXPIRE_DATE_INVALID,400,The specified expiration date is invalid
EXPIRE_FORBIDDEN,400,
EXPORT_CARD_INVALID,400,Provided card is invalid
EXTERNAL_URL_INVALID,400,External URL invalid
FIELD_NAME_EMPTY,400,The field with the name FIELD_NAME is missing
FIELD_NAME_INVALID,400,The field with the name FIELD_NAME is invalid
FILEREF_UPGRADE_NEEDED,406,The file reference needs to be refreshed before being used again
FILE_CONTENT_TYPE_INVALID,400,File content-type is invalid
FILE_EMTPY,400,An empty file was provided
FILE_ID_INVALID,400,"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 ...)"
FILE_MIGRATE_X,303,The file to be accessed is currently stored in DC {new_dc}
FILE_PARTS_INVALID,400,The number of file parts is invalid
FILE_PART_0_MISSING,400,File part 0 missing
FILE_PART_EMPTY,400,The provided file part is empty
FILE_PART_INVALID,400,The file part number is invalid
FILE_PART_LENGTH_INVALID,400,The length of a file part is invalid
FILE_PART_SIZE_CHANGED,400,The file part size (chunk size) cannot change during upload
FILE_PART_SIZE_INVALID,400,The provided file part size is invalid
FILE_PART_TOO_BIG,400,The uploaded file part is too big
FILE_PART_X_MISSING,400,Part {which} of the file is missing from storage
FILE_REFERENCE_EMPTY,400,The file reference must exist to access the media and it cannot be empty
FILE_REFERENCE_EXPIRED,400,The file reference has expired and is no longer valid or it belongs to self-destructing media and cannot be resent
FILE_REFERENCE_INVALID,400,The file reference is invalid or you can't do that operation on such message
FILE_TITLE_EMPTY,400,An empty file title was specified
FILTER_ID_INVALID,400,The specified filter ID is invalid
FILTER_INCLUDE_EMPTY,400,The include_peers vector of the filter is empty
FILTER_NOT_SUPPORTED,400,The specified filter cannot be used in this context
FILTER_TITLE_EMPTY,400,The title field of the filter is empty
FIRSTNAME_INVALID,400,The first name is invalid
FLOOD_TEST_PHONE_WAIT_X,420,A wait of {seconds} seconds is required in the test servers
FLOOD_WAIT_X,420,A wait of {seconds} seconds is required
FOLDER_ID_EMPTY,400,The folder you tried to delete was already empty
FOLDER_ID_INVALID,400,The folder you tried to use was not valid
FRESH_CHANGE_ADMINS_FORBIDDEN,400 406,Recently logged-in users cannot add or change admins
FRESH_CHANGE_PHONE_FORBIDDEN,406,Recently logged-in users cannot use this request
FRESH_RESET_AUTHORISATION_FORBIDDEN,406,The current session is too new and cannot be used to reset other authorisations yet
FROM_MESSAGE_BOT_DISABLED,400,Bots can't use fromMessage min constructors
FROM_PEER_INVALID,400,The given from_user peer cannot be used for the parameter
GAME_BOT_INVALID,400,You cannot send that game with the current bot
GEO_POINT_INVALID,400,Invalid geoposition provided
GIF_CONTENT_TYPE_INVALID,400,GIF content-type invalid
GIF_ID_INVALID,400,The provided GIF ID is invalid
GRAPH_EXPIRED_RELOAD,400,"This graph has expired, please obtain a new graph token"
GRAPH_INVALID_RELOAD,400,"Invalid graph token provided, please reload the stats and provide the updated token"
GRAPH_OUTDATED_RELOAD,400,"Data can't be used for the channel statistics, graphs outdated"
GROUPCALL_ADD_PARTICIPANTS_FAILED,500,
GROUPCALL_ALREADY_DISCARDED,400,The group call was already discarded
GROUPCALL_ALREADY_STARTED,403,"The groupcall has already started, you can join directly using [phone.joinGroupCall](https://core.telegram.org/method/phone.joinGroupCall)"
GROUPCALL_FORBIDDEN,403,The group call has already ended
GROUPCALL_INVALID,400,The specified group call is invalid
GROUPCALL_JOIN_MISSING,400,You haven't joined this group call
GROUPCALL_NOT_MODIFIED,400,Group call settings weren't modified
GROUPCALL_SSRC_DUPLICATE_MUCH,400,The app needs to retry joining the group call with a new SSRC value
GROUPED_MEDIA_INVALID,400,Invalid grouped media
GROUP_CALL_INVALID,400,Group call invalid
HASH_INVALID,400,The provided hash is invalid
HIDE_REQUESTER_MISSING,400,The join request was missing or was already handled
HISTORY_GET_FAILED,500,Fetching of history failed
IMAGE_PROCESS_FAILED,400,Failure while processing image
IMPORT_FILE_INVALID,400,The file is too large to be imported
IMPORT_FORMAT_UNRECOGNIZED,400,Unknown import format
IMPORT_ID_INVALID,400,The specified import ID is invalid
INLINE_BOT_REQUIRED,403,The action must be performed through an inline bot callback
INLINE_RESULT_EXPIRED,400,The inline query expired
INPUT_CONSTRUCTOR_INVALID,400,The provided constructor is invalid
INPUT_FETCH_ERROR,400,An error occurred while deserializing TL parameters
INPUT_FETCH_FAIL,400,Failed deserializing TL payload
INPUT_FILTER_INVALID,400,The search query filter is invalid
INPUT_LAYER_INVALID,400,The provided layer is invalid
INPUT_METHOD_INVALID,400,The invoked method does not exist anymore or has never existed
INPUT_REQUEST_TOO_LONG,400,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)
INPUT_TEXT_EMPTY,400,The specified text is empty
INPUT_USER_DEACTIVATED,400,The specified user was deleted
INTERDC_X_CALL_ERROR,500,An error occurred while communicating with DC {dc}
INTERDC_X_CALL_RICH_ERROR,500,A rich error occurred while communicating with DC {dc}
INVITE_FORBIDDEN_WITH_JOINAS,400,"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 ID"
INVITE_HASH_EMPTY,400,The invite hash is empty
INVITE_HASH_EXPIRED,400 406,The chat the user tried to join has expired and is not valid anymore
INVITE_HASH_INVALID,400,The invite hash is invalid
INVITE_REQUEST_SENT,400,You have successfully requested to join this chat or channel
INVITE_REVOKED_MISSING,400,The specified invite link was already revoked or is invalid
INVOICE_PAYLOAD_INVALID,400,The specified invoice payload is invalid
JOIN_AS_PEER_INVALID,400,The specified peer cannot be used to join a group call
LANG_CODE_INVALID,400,The specified language code is invalid
LANG_CODE_NOT_SUPPORTED,400,The specified language code is not supported
LANG_PACK_INVALID,400,The provided language pack is invalid
LASTNAME_INVALID,400,The last name is invalid
LIMIT_INVALID,400,An invalid limit was provided. See https://core.telegram.org/api/files#downloading-files
LINK_NOT_MODIFIED,400,The channel is already linked to this group
LOCATION_INVALID,400,The location given for a file was invalid. See https://core.telegram.org/api/files#downloading-files
MAX_DATE_INVALID,400,The specified maximum date is invalid
MAX_ID_INVALID,400,The provided max ID is invalid
MAX_QTS_INVALID,400,The provided QTS were invalid
MD5_CHECKSUM_INVALID,400,The MD5 check-sums do not match
MEDIA_CAPTION_TOO_LONG,400,The caption is too long
MEDIA_EMPTY,400,The provided media object is invalid or the current account may not be able to send it (such as games as users)
MEDIA_GROUPED_INVALID,400,You tried to send media of different types in an album
MEDIA_INVALID,400,Media invalid
MEDIA_NEW_INVALID,400,The new media to edit the message with is invalid (such as stickers or voice notes)
MEDIA_PREV_INVALID,400,The old media cannot be edited with anything else (such as stickers or voice notes)
MEDIA_TTL_INVALID,400,
MEGAGROUP_ID_INVALID,400,The group is invalid
MEGAGROUP_PREHISTORY_HIDDEN,400,You can't set this discussion group because it's history is hidden
MEGAGROUP_REQUIRED,400,The request can only be used with a megagroup channel
MEMBER_NO_LOCATION,500,An internal failure occurred while fetching user info (couldn't find location)
MEMBER_OCCUPY_PRIMARY_LOC_FAILED,500,Occupation of primary member location failed
MESSAGE_AUTHOR_REQUIRED,403,Message author required
MESSAGE_DELETE_FORBIDDEN,403,"You can't delete one of the messages you tried to delete, most likely because it is a service message."
MESSAGE_EDIT_TIME_EXPIRED,400,"You can't edit this message anymore, too much time has passed since its creation."
MESSAGE_EMPTY,400,Empty or invalid UTF-8 message was sent
MESSAGE_IDS_EMPTY,400,No message ids were provided
MESSAGE_ID_INVALID,400,The specified message ID is invalid or you can't do that operation on such message
MESSAGE_NOT_MODIFIED,400,Content of the message was not modified
MESSAGE_POLL_CLOSED,400,The poll was closed and can no longer be voted on
MESSAGE_TOO_LONG,400,Message was too long. Current maximum length is 4096 UTF-8 characters
METHOD_INVALID,400,The API method is invalid and cannot be used
MIN_DATE_INVALID,400,The specified minimum date is invalid
MSGID_DECREASE_RETRY,500,The request should be retried with a lower message ID
MSG_ID_INVALID,400,The message ID used in the peer was invalid
MSG_TOO_OLD,400,"[`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 deleted"
MSG_WAIT_FAILED,400,A waiting call returned an error
MT_SEND_QUEUE_TOO_LONG,500,
MULTI_MEDIA_TOO_LONG,400,Too many media files were included in the same album
NEED_CHAT_INVALID,500,The provided chat is invalid
NEED_MEMBER_INVALID,500,The provided member is invalid or does not exist (for example a thumb size)
NETWORK_MIGRATE_X,303,The source IP address is associated with DC {new_dc}
NEW_SALT_INVALID,400,The new salt is invalid
NEW_SETTINGS_EMPTY,400,"No password is set on the current account, and no new password was specified in `new_settings`"
NEW_SETTINGS_INVALID,400,The new settings are invalid
NEXT_OFFSET_INVALID,400,The value for next_offset is invalid. Check that it has normal characters and is not too long
NOT_ALLOWED,403,
OFFSET_INVALID,400,"The given offset was invalid, it must be divisible by 1KB. See https://core.telegram.org/api/files#downloading-files"
OFFSET_PEER_ID_INVALID,400,The provided offset peer is invalid
OPTIONS_TOO_MUCH,400,You defined too many options for the poll
OPTION_INVALID,400,The option specified is invalid and does not exist in the target poll
PACK_SHORT_NAME_INVALID,400,"Invalid sticker pack name. It must begin with a letter, can't contain consecutive underscores and must end in ""_by_<bot username>""."
PACK_SHORT_NAME_OCCUPIED,400,A stickerpack with this name already exists
PACK_TITLE_INVALID,400,The stickerpack title is invalid
PARTICIPANTS_TOO_FEW,400,Not enough participants
PARTICIPANT_CALL_FAILED,500,Failure while making call
PARTICIPANT_ID_INVALID,400,The specified participant ID is invalid
PARTICIPANT_JOIN_MISSING,400 403,"Trying to enable a presentation, when the user hasn't joined the Video Chat with [phone.joinGroupCall](https://core.telegram.org/method/phone.joinGroupCall)"
PARTICIPANT_VERSION_OUTDATED,400,The other participant does not use an up to date telegram client with support for calls
PASSWORD_EMPTY,400,The provided password is empty
PASSWORD_HASH_INVALID,400,The password (and thus its hash value) you entered is invalid
PASSWORD_MISSING,400,The account must have 2-factor authentication enabled (a password) before this method can be used
PASSWORD_RECOVERY_EXPIRED,400,The recovery code has expired
PASSWORD_RECOVERY_NA,400,"No email was set, can't recover password via email"
PASSWORD_REQUIRED,400,The account must have 2-factor authentication enabled (a password) before this method can be used
PASSWORD_TOO_FRESH_X,400,The password was added too recently and {seconds} seconds must pass before using the method
PAYMENT_PROVIDER_INVALID,400,The payment provider was not recognised or its token was invalid
PEER_FLOOD,400,Too many requests
PEER_HISTORY_EMPTY,400,
PEER_ID_INVALID,400,"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)"
PEER_ID_NOT_SUPPORTED,400,The provided peer ID is not supported
PERSISTENT_TIMESTAMP_EMPTY,400,Persistent timestamp empty
PERSISTENT_TIMESTAMP_INVALID,400,Persistent timestamp invalid
PERSISTENT_TIMESTAMP_OUTDATED,500,Persistent timestamp outdated
PHONE_CODE_EMPTY,400,The phone code is missing
PHONE_CODE_EXPIRED,400,The confirmation code has expired
PHONE_CODE_HASH_EMPTY,400,The phone code hash is missing
PHONE_CODE_INVALID,400,The phone code entered was invalid
PHONE_HASH_EXPIRED,400,An invalid or expired `phone_code_hash` was provided
PHONE_MIGRATE_X,303,The phone number a user is trying to use for authorization is associated with DC {new_dc}
PHONE_NOT_OCCUPIED,400,No user is associated to the specified phone number
PHONE_NUMBER_APP_SIGNUP_FORBIDDEN,400,You can't sign up using this app
PHONE_NUMBER_BANNED,400,The used phone number has been banned from Telegram and cannot be used anymore. Maybe check https://www.telegram.org/faq_spam
PHONE_NUMBER_FLOOD,400,You asked for the code too many times.
PHONE_NUMBER_INVALID,400 406,The phone number is invalid
PHONE_NUMBER_OCCUPIED,400,The phone number is already in use
PHONE_NUMBER_UNOCCUPIED,400,The phone number is not yet being used
PHONE_PASSWORD_FLOOD,406,You have tried logging in too many times
PHONE_PASSWORD_PROTECTED,400,This phone is password protected
PHOTO_CONTENT_TYPE_INVALID,400,Photo mime-type invalid
PHOTO_CONTENT_URL_EMPTY,400,The content from the URL used as a photo appears to be empty or has caused another HTTP error
PHOTO_CROP_FILE_MISSING,400,Photo crop file missing
PHOTO_CROP_SIZE_SMALL,400,Photo is too small
PHOTO_EXT_INVALID,400,The extension of the photo is invalid
PHOTO_FILE_MISSING,400,Profile photo file missing
PHOTO_ID_INVALID,400,Photo id is invalid
PHOTO_INVALID,400,Photo invalid
PHOTO_INVALID_DIMENSIONS,400,The photo dimensions are invalid (hint: `pip install pillow` for `send_file` to resize images)
PHOTO_SAVE_FILE_INVALID,400,The photo you tried to send cannot be saved by Telegram. A reason may be that it exceeds 10MB. Try resizing it locally
PHOTO_THUMB_URL_EMPTY,400,The URL used as a thumbnail appears to be empty or has caused another HTTP error
PINNED_DIALOGS_TOO_MUCH,400,Too many pinned dialogs
PIN_RESTRICTED,400,You can't pin messages in private chats with other people
POLL_ANSWERS_INVALID,400,The poll did not have enough answers or had too many
POLL_ANSWER_INVALID,400,One of the poll answers is not acceptable
POLL_OPTION_DUPLICATE,400,A duplicate option was sent in the same poll
POLL_OPTION_INVALID,400,A poll option used invalid data (the data may be too long)
POLL_QUESTION_INVALID,400,The poll question was either empty or too long
POLL_UNSUPPORTED,400,This layer does not support polls in the issued method
POLL_VOTE_REQUIRED,403,Cast a vote in the poll before calling this method
POSTPONED_TIMEOUT,500,The postponed call has timed out
PREMIUM_ACCOUNT_REQUIRED,403,A premium account is required to execute this action
PREMIUM_CURRENTLY_UNAVAILABLE,406,
PREVIOUS_CHAT_IMPORT_ACTIVE_WAIT_XMIN,406,"Similar to a flood wait, must wait {minutes} minutes"
PRIVACY_KEY_INVALID,400,The privacy key is invalid
PRIVACY_TOO_LONG,400,Cannot add that many entities in a single request
PRIVACY_VALUE_INVALID,400,The privacy value is invalid
PTS_CHANGE_EMPTY,500,No PTS change
PUBLIC_CHANNEL_MISSING,403,You can only export group call invite links for public chats or channels
PUBLIC_KEY_REQUIRED,400,A public key is required
QUERY_ID_EMPTY,400,The query ID is empty
QUERY_ID_INVALID,400,The query ID is invalid
QUERY_TOO_SHORT,400,The query string is too short
QUIZ_ANSWER_MISSING,400,You can forward a quiz while hiding the original author only after choosing an option in the quiz
QUIZ_CORRECT_ANSWERS_EMPTY,400,A quiz must specify one correct answer
QUIZ_CORRECT_ANSWERS_TOO_MUCH,400,There can only be one correct answer
QUIZ_CORRECT_ANSWER_INVALID,400,The correct answer is not an existing answer
QUIZ_MULTIPLE_INVALID,400,A poll cannot be both multiple choice and quiz
RANDOM_ID_DUPLICATE,500,You provided a random ID that was already used
RANDOM_ID_EMPTY,400,Random ID empty
RANDOM_ID_INVALID,400,A provided random ID is invalid
RANDOM_LENGTH_INVALID,400,Random length invalid
RANGES_INVALID,400,Invalid range provided
REACTIONS_TOO_MANY,400,"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)"
REACTION_EMPTY,400,No reaction provided
REACTION_INVALID,400,Invalid reaction provided (only emoji are allowed)
REFLECTOR_NOT_AVAILABLE,400,Invalid call reflector server
REG_ID_GENERATE_FAILED,500,Failure while generating registration ID
REPLY_MARKUP_BUY_EMPTY,400,Reply markup for buy button empty
REPLY_MARKUP_GAME_EMPTY,400,The provided reply markup for the game is empty
REPLY_MARKUP_INVALID,400,The provided reply markup is invalid
REPLY_MARKUP_TOO_LONG,400,The data embedded in the reply markup buttons was too much
RESET_REQUEST_MISSING,400,No password reset is in progress
RESULTS_TOO_MUCH,400,"You sent too many results, see https://core.telegram.org/bots/api#answerinlinequery for the current limit"
RESULT_ID_DUPLICATE,400,Duplicated IDs on the sent results. Make sure to use unique IDs
RESULT_ID_EMPTY,400,Result ID empty
RESULT_ID_INVALID,400,The given result cannot be used to send the selection to the bot
RESULT_TYPE_INVALID,400,Result type invalid
REVOTE_NOT_ALLOWED,400,You cannot change your vote
RIGHTS_NOT_MODIFIED,400,"The new admin rights are equal to the old rights, no change was made"
RIGHT_FORBIDDEN,403,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)
RPC_CALL_FAIL,500,"Telegram is having internal issues, please try again later."
RPC_MCGET_FAIL,500,"Telegram is having internal issues, please try again later."
RSA_DECRYPT_FAILED,400,Internal RSA decryption failed
SCHEDULE_BOT_NOT_ALLOWED,400,Bots are not allowed to schedule messages
SCHEDULE_DATE_INVALID,400,Invalid schedule date provided
SCHEDULE_DATE_TOO_LATE,400,The date you tried to schedule is too far in the future (last known limit of 1 year and a few hours)
SCHEDULE_STATUS_PRIVATE,400,You cannot schedule a message until the person comes online if their privacy does not show this information
SCHEDULE_TOO_MUCH,400,You cannot schedule more messages in this chat (last known limit of 100 per chat)
SCORE_INVALID,400,The specified game score is invalid
SEARCH_QUERY_EMPTY,400,The search query is empty
SEARCH_WITH_LINK_NOT_SUPPORTED,400,You cannot provide a search query and an invite link at the same time
SECONDS_INVALID,400,"Slow mode only supports certain values (e.g. 0, 10s, 30s, 1m, 5m, 15m and 1h)"
SEND_AS_PEER_INVALID,400,You can't send messages as the specified peer
SEND_CODE_UNAVAILABLE,406,"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)"
SEND_MESSAGE_MEDIA_INVALID,400,The message media was invalid or not specified
SEND_MESSAGE_TYPE_INVALID,400,The message type is invalid
SENSITIVE_CHANGE_FORBIDDEN,403,Your sensitive content settings cannot be changed at this time
SESSION_EXPIRED,401,The authorization has expired
SESSION_PASSWORD_NEEDED,401,Two-steps verification is enabled and a password is required
SESSION_REVOKED,401,"The authorization has been invalidated, because of the user terminating all sessions"
SESSION_TOO_FRESH_X,400,The session logged in too recently and {seconds} seconds must pass before calling the method
SETTINGS_INVALID,400,Invalid settings were provided
SHA256_HASH_INVALID,400,The provided SHA256 hash is invalid
SHORTNAME_OCCUPY_FAILED,400,An error occurred when trying to register the short-name used for the sticker pack. Try a different name
SHORT_NAME_INVALID,400,The specified short name is invalid
SHORT_NAME_OCCUPIED,400,The specified short name is already in use
SIGN_IN_FAILED,500,Failure while signing in
SLOWMODE_MULTI_MSGS_DISABLED,400,"Slowmode is enabled, you cannot forward multiple messages to this group"
SLOWMODE_WAIT_X,420,A wait of {seconds} seconds is required before sending another message in this chat
SMS_CODE_CREATE_FAILED,400,An error occurred while creating the SMS code
SRP_ID_INVALID,400,Invalid SRP ID provided
SRP_PASSWORD_CHANGED,400,Password has changed
START_PARAM_EMPTY,400,The start parameter is empty
START_PARAM_INVALID,400,Start parameter invalid
START_PARAM_TOO_LONG,400,Start parameter is too long
STATS_MIGRATE_X,303,The channel statistics must be fetched from DC {dc}
STICKERPACK_STICKERS_TOO_MUCH,400,"There are too many stickers in this stickerpack, you can't add any more"
STICKERSET_INVALID,400 406,The provided sticker set is invalid
STICKERSET_OWNER_ANONYMOUS,406,This sticker set can't be used as the group's official stickers because it was created by one of its anonymous admins
STICKERS_EMPTY,400,No sticker provided
STICKERS_TOO_MUCH,400,"There are too many stickers in this stickerpack, you can't add any more"
STICKER_DOCUMENT_INVALID,400,"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)"
STICKER_EMOJI_INVALID,400,Sticker emoji invalid
STICKER_FILE_INVALID,400,Sticker file invalid
STICKER_GIF_DIMENSIONS,400,The specified video sticker has invalid dimensions
STICKER_ID_INVALID,400,The provided sticker ID is invalid
STICKER_INVALID,400,The provided sticker is invalid
STICKER_MIME_INVALID,400,Make sure to pass a valid image file for the right InputFile parameter
STICKER_PNG_DIMENSIONS,400,Sticker png dimensions invalid
STICKER_PNG_NOPNG,400,Stickers must be a png file but the used image was not a png
STICKER_TGS_NODOC,400,You must send the animated sticker as a document
STICKER_TGS_NOTGS,400,Stickers must be a tgs file but the used file was not a tgs
STICKER_THUMB_PNG_NOPNG,400,Stickerset thumb must be a png file but the used file was not png
STICKER_THUMB_TGS_NOTGS,400,Stickerset thumb must be a tgs file but the used file was not tgs
STICKER_VIDEO_BIG,400,The specified video sticker is too big
STICKER_VIDEO_NODOC,400,You must send the video sticker as a document
STICKER_VIDEO_NOWEBM,400,The specified video sticker is not in webm format
STORAGE_CHECK_FAILED,500,Server storage check failed
STORE_INVALID_SCALAR_TYPE,500,
SWITCH_PM_TEXT_EMPTY,400,The switch_pm.text field was empty
TAKEOUT_INIT_DELAY_X,420,A wait of {seconds} seconds is required before being able to initiate the takeout
TAKEOUT_INVALID,400,The takeout session has been invalidated by another data export session
TAKEOUT_REQUIRED,400 403,You must initialize a takeout request first
TEMP_AUTH_KEY_ALREADY_BOUND,400,The passed temporary key is already bound to another **perm_auth_key_id**
TEMP_AUTH_KEY_EMPTY,400,No temporary auth key provided
THEME_FILE_INVALID,400,Invalid theme file provided
THEME_FORMAT_INVALID,400,Invalid theme format provided
THEME_INVALID,400,Theme invalid
THEME_MIME_INVALID,400,"You cannot create this theme, the mime-type is invalid"
THEME_TITLE_INVALID,400,The specified theme title is invalid
TIMEOUT,500,A timeout occurred while fetching data from the worker
TITLE_INVALID,400,The specified stickerpack title is invalid
TMP_PASSWORD_DISABLED,400,The temporary password is disabled
TMP_PASSWORD_INVALID,400,Password auth needs to be regenerated
TOKEN_INVALID,400,The provided token is invalid
TOPIC_DELETED,400,The topic was deleted
TO_LANG_INVALID,400,The specified destination language is invalid
TTL_DAYS_INVALID,400,The provided TTL is invalid
TTL_MEDIA_INVALID,400,The provided media cannot be used with a TTL
TTL_PERIOD_INVALID,400,The provided TTL Period is invalid
TYPES_EMPTY,400,The types field is empty
TYPE_CONSTRUCTOR_INVALID,400,The type constructor is invalid
Timedout,-503,Timeout while fetching data
Timeout,-503,Timeout while fetching data
UNKNOWN_ERROR,400,
UNKNOWN_METHOD,500,The method you tried to call cannot be called on non-CDN DCs
UNTIL_DATE_INVALID,400,That date cannot be specified in this request (try using None)
UPDATE_APP_TO_LOGIN,406,
URL_INVALID,400,The URL used was invalid (e.g. when answering a callback with a URL that's not t.me/yourbot or your game's URL)
USAGE_LIMIT_INVALID,400,The specified usage limit is invalid
USERNAME_INVALID,400,"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]"""
USERNAME_NOT_MODIFIED,400,The username is not different from the current username
USERNAME_NOT_OCCUPIED,400,The username is not in use by anyone else yet
USERNAME_OCCUPIED,400,The username is already taken
USERNAME_PURCHASE_AVAILABLE,400,
USERPIC_PRIVACY_REQUIRED,406,You need to disable privacy settings for your profile picture in order to make your geolocation public
USERPIC_UPLOAD_REQUIRED,400 406,You must have a profile picture before using this method
USERS_TOO_FEW,400,"Not enough users (to create a chat, for example)"
USERS_TOO_MUCH,400,"The maximum number of users has been exceeded (to create a chat, for example)"
USER_ADMIN_INVALID,400,Either you're not an admin or you tried to ban an admin that you didn't promote
USER_ALREADY_INVITED,400,You have already invited this user
USER_ALREADY_PARTICIPANT,400,The authenticated user is already a participant of the chat
USER_BANNED_IN_CHANNEL,400,You're banned from sending messages in supergroups/channels
USER_BLOCKED,400,User blocked
USER_BOT,400,Bots can only be admins in channels.
USER_BOT_INVALID,400 403,This method can only be called by a bot
USER_BOT_REQUIRED,400,This method can only be called by a bot
USER_CHANNELS_TOO_MUCH,400 403,One of the users you tried to add is already in too many channels/supergroups
USER_CREATOR,400,"You can't leave this channel, because you're its creator"
USER_DEACTIVATED,401,The user has been deleted/deactivated
USER_DEACTIVATED_BAN,401,The user has been deleted/deactivated
USER_DELETED,403,You can't send this secret message because the other participant deleted their account
USER_ID_INVALID,400,"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 suited"
USER_INVALID,400 403,The given user was invalid
USER_IS_BLOCKED,400 403,User is blocked
USER_IS_BOT,400,Bots can't send messages to other bots
USER_KICKED,400,This user was kicked from this supergroup/channel
USER_MIGRATE_X,303,The user whose identity is being used to execute queries is associated with DC {new_dc}
USER_NOT_MUTUAL_CONTACT,400 403,The provided user is not a mutual contact
USER_NOT_PARTICIPANT,400,The target user is not a member of the specified megagroup or channel
USER_PRIVACY_RESTRICTED,403,The user's privacy settings do not allow you to do this
USER_RESTRICTED,403 406,"You're spamreported, you can't create channels or chats."
USER_VOLUME_INVALID,400,The specified user volume is invalid
VIDEO_CONTENT_TYPE_INVALID,400,The video content type is not supported with the given parameters (i.e. supports_streaming)
VIDEO_FILE_INVALID,400,The given video cannot be used
VIDEO_TITLE_EMPTY,400,The specified video title is empty
VOICE_MESSAGES_FORBIDDEN,400,This user's privacy settings forbid you from sending voice messages
WALLPAPER_FILE_INVALID,400,The given file cannot be used as a wallpaper
WALLPAPER_INVALID,400,The input wallpaper was not valid
WALLPAPER_MIME_INVALID,400,The specified wallpaper MIME type is invalid
WC_CONVERT_URL_INVALID,400,WC convert URL invalid
WEBDOCUMENT_INVALID,400,Invalid webdocument URL provided
WEBDOCUMENT_MIME_INVALID,400,Invalid webdocument mime type provided
WEBDOCUMENT_SIZE_TOO_BIG,400,Webdocument is too big!
WEBDOCUMENT_URL_INVALID,400,The given URL cannot be used
WEBPAGE_CURL_FAILED,400,Failure while fetching the webpage with cURL
WEBPAGE_MEDIA_EMPTY,400,Webpage media empty
WEBPUSH_AUTH_INVALID,400,The specified web push authentication secret is invalid
WEBPUSH_KEY_INVALID,400,The specified web push elliptic curve Diffie-Hellman public key is invalid
WEBPUSH_TOKEN_INVALID,400,The specified web push token is invalid
WORKER_BUSY_TOO_LONG_RETRY,500,Telegram workers are too busy to respond immediately
YOU_BLOCKED_USER,400,You blocked this user
1 2FA_CONFIRM_WAIT_X 420 The account is 2FA protected so it will be deleted in a week. Otherwise it can be reset in {seconds}
2 ABOUT_TOO_LONG 400 The provided bio is too long
3 ACCESS_TOKEN_EXPIRED 400 Bot token expired
4 ACCESS_TOKEN_INVALID 400 The provided token is not valid
5 ACTIVE_USER_REQUIRED 401 The method is only available to already activated users
6 ADMINS_TOO_MUCH 400 Too many admins
7 ADMIN_ID_INVALID 400 The specified admin ID is invalid
8 ADMIN_RANK_EMOJI_NOT_ALLOWED 400 Emoji are not allowed in admin titles or ranks
9 ADMIN_RANK_INVALID 400 The given admin title or rank was invalid (possibly larger than 16 characters)
10 ALBUM_PHOTOS_TOO_MANY 400 Too many photos were included in the album
11 API_ID_INVALID 400 The api_id/api_hash combination is invalid
12 API_ID_PUBLISHED_FLOOD 400 This API id was published somewhere, you can't use it now
13 ARTICLE_TITLE_EMPTY 400 The title of the article is empty
14 AUDIO_CONTENT_URL_EMPTY 400 The remote URL specified in the content field is empty
15 AUDIO_TITLE_EMPTY 400 The title attribute of the audio must be non-empty
16 AUTH_BYTES_INVALID 400 The provided authorization is invalid
17 AUTH_KEY_DUPLICATED 406 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 sessions
18 AUTH_KEY_INVALID 401 The key is invalid
19 AUTH_KEY_PERM_EMPTY 401 The method is unavailable for temporary authorization key, not bound to permanent
20 AUTH_KEY_UNREGISTERED 401 The key is not registered in the system
21 AUTH_RESTART 500 Restart the authorization process
22 AUTH_TOKEN_ALREADY_ACCEPTED 400 The authorization token was already used
23 AUTH_TOKEN_EXCEPTION 400 An error occurred while importing the auth token
24 AUTH_TOKEN_EXPIRED 400 The provided authorization token has expired and the updated QR-code must be re-scanned
25 AUTH_TOKEN_INVALID 400 An invalid authorization token was provided
26 AUTH_TOKEN_INVALID2 400 An invalid authorization token was provided
27 AUTH_TOKEN_INVALIDX 400 The specified auth token is invalid
28 AUTOARCHIVE_NOT_AVAILABLE 400 You cannot use this feature yet
29 BANK_CARD_NUMBER_INVALID 400 Incorrect credit card number
30 BANNED_RIGHTS_INVALID 400 You cannot use that set of permissions in this request, i.e. restricting view_messages as a default
31 BASE_PORT_LOC_INVALID 400 Base port location invalid
32 BOTS_TOO_MUCH 400 There are too many bots in this chat/channel
33 BOT_CHANNELS_NA 400 Bots can't edit admin privileges
34 BOT_COMMAND_DESCRIPTION_INVALID 400 The command description was empty, too long or had invalid characters used
35 BOT_COMMAND_INVALID 400 The specified command is invalid
36 BOT_DOMAIN_INVALID 400 The domain used for the auth button does not match the one configured in @BotFather
37 BOT_GAMES_DISABLED 400 Bot games cannot be used in this type of chat
38 BOT_GROUPS_BLOCKED 400 This bot can't be added to groups
39 BOT_INLINE_DISABLED 400 This bot can't be used in inline mode
40 BOT_INVALID 400 This is not a valid bot
41 BOT_METHOD_INVALID 400 The API access for bot users is restricted. The method you tried to invoke cannot be executed as a bot
42 BOT_MISSING 400 This method can only be run by a bot
43 BOT_ONESIDE_NOT_AVAIL 400 Bots can't pin messages in PM just for themselves
44 BOT_PAYMENTS_DISABLED 400 This method can only be run by a bot
45 BOT_POLLS_DISABLED 400 You cannot create polls under a bot account
46 BOT_RESPONSE_TIMEOUT 400 The bot did not answer to the callback query in time
47 BOT_SCORE_NOT_MODIFIED 400 The score wasn't modified
48 BROADCAST_CALLS_DISABLED 400
49 BROADCAST_FORBIDDEN 403 The request cannot be used in broadcast channels
50 BROADCAST_ID_INVALID 400 The channel is invalid
51 BROADCAST_PUBLIC_VOTERS_FORBIDDEN 400 You cannot broadcast polls where the voters are public
52 BROADCAST_REQUIRED 400 The request can only be used with a broadcast channel
53 BUTTON_DATA_INVALID 400 The provided button data is invalid
54 BUTTON_TEXT_INVALID 400 The specified button text is invalid
55 BUTTON_TYPE_INVALID 400 The type of one of the buttons you provided is invalid
56 BUTTON_URL_INVALID 400 Button URL invalid
57 BUTTON_USER_PRIVACY_RESTRICTED 400 The privacy setting of the user specified in a [inputKeyboardButtonUserProfile](/constructor/inputKeyboardButtonUserProfile) button do not allow creating such a button
58 CALL_ALREADY_ACCEPTED 400 The call was already accepted
59 CALL_ALREADY_DECLINED 400 The call was already declined
60 CALL_OCCUPY_FAILED 500 The call failed because the user is already making another call
61 CALL_PEER_INVALID 400 The provided call peer object is invalid
62 CALL_PROTOCOL_FLAGS_INVALID 400 Call protocol flags invalid
63 CDN_METHOD_INVALID 400 This method cannot be invoked on a CDN server. Refer to https://core.telegram.org/cdn#schema for available methods
64 CDN_UPLOAD_TIMEOUT 500 A server-side timeout occurred while reuploading the file to the CDN DC
65 CHANNELS_ADMIN_LOCATED_TOO_MUCH 400 The user has reached the limit of public geogroups
66 CHANNELS_ADMIN_PUBLIC_TOO_MUCH 400 You're admin of too many public channels, make some channels private to change the username of this channel
67 CHANNELS_TOO_MUCH 400 You have joined too many channels/supergroups
68 CHANNEL_BANNED 400 The channel is banned
69 CHANNEL_FORUM_MISSING 400
70 CHANNEL_ID_INVALID 400 The specified supergroup ID is invalid
71 CHANNEL_INVALID 400 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 suited
72 CHANNEL_PARICIPANT_MISSING 400 The current user is not in the channel
73 CHANNEL_PRIVATE 400 406 The channel specified is private and you lack permission to access it. Another reason may be that you were banned from it
74 CHANNEL_PUBLIC_GROUP_NA 403 channel/supergroup not available
75 CHANNEL_TOO_BIG 400
76 CHANNEL_TOO_LARGE 400 406 Channel is too large to be deleted; this error is issued when trying to delete channels with more than 1000 members (subject to change)
77 CHAT_ABOUT_NOT_MODIFIED 400 About text has not changed
78 CHAT_ABOUT_TOO_LONG 400 Chat about too long
79 CHAT_ADMIN_INVITE_REQUIRED 403 You do not have the rights to do this
80 CHAT_ADMIN_REQUIRED 400 403 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 group
81 CHAT_DISCUSSION_UNALLOWED 400
82 CHAT_FORBIDDEN 403 You cannot write in this chat
83 CHAT_FORWARDS_RESTRICTED 400 406 You can't forward messages from a protected chat
84 CHAT_GET_FAILED 500
85 CHAT_GUEST_SEND_FORBIDDEN 403 You join the discussion group before commenting, see [here](/api/discussion#requiring-users-to-join-the-group) for more info
86 CHAT_ID_EMPTY 400 The provided chat ID is empty
87 CHAT_ID_GENERATE_FAILED 500 Failure while generating the chat ID
88 CHAT_ID_INVALID 400 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 instead
89 CHAT_INVALID 400 The chat is invalid for this request
90 CHAT_INVITE_PERMANENT 400 You can't set an expiration date on permanent invite links
91 CHAT_LINK_EXISTS 400 The chat is linked to a channel and cannot be used in that request
92 CHAT_NOT_MODIFIED 400 The chat or channel wasn't modified (title, invites, username, admins, etc. are the same)
93 CHAT_RESTRICTED 400 The chat is restricted and cannot be used in that request
94 CHAT_REVOKE_DATE_UNSUPPORTED 400 `min_date` and `max_date` are not available for using with non-user peers
95 CHAT_SEND_GAME_FORBIDDEN 403 You can't send a game to this chat
96 CHAT_SEND_GIFS_FORBIDDEN 403 You can't send gifs in this chat
97 CHAT_SEND_INLINE_FORBIDDEN 400 403 You cannot send inline results in this chat
98 CHAT_SEND_MEDIA_FORBIDDEN 403 You can't send media in this chat
99 CHAT_SEND_POLL_FORBIDDEN 403 You can't send polls in this chat
100 CHAT_SEND_STICKERS_FORBIDDEN 403 You can't send stickers in this chat
101 CHAT_TITLE_EMPTY 400 No chat title provided
102 CHAT_TOO_BIG 400 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)
103 CHAT_WRITE_FORBIDDEN 403 You can't write in this chat
104 CHP_CALL_FAIL 500 The statistics cannot be retrieved at this time
105 CODE_EMPTY 400 The provided code is empty
106 CODE_HASH_INVALID 400 Code hash invalid
107 CODE_INVALID 400 Code invalid (i.e. from email)
108 CONNECTION_API_ID_INVALID 400 The provided API id is invalid
109 CONNECTION_APP_VERSION_EMPTY 400 App version is empty
110 CONNECTION_DEVICE_MODEL_EMPTY 400 Device model empty
111 CONNECTION_LANG_PACK_INVALID 400 The specified language pack is not valid. This is meant to be used by official applications only so far, leave it empty
112 CONNECTION_LAYER_INVALID 400 The very first request must always be InvokeWithLayerRequest
113 CONNECTION_NOT_INITED 400 Connection not initialized
114 CONNECTION_SYSTEM_EMPTY 400 Connection system empty
115 CONNECTION_SYSTEM_LANG_CODE_EMPTY 400 The system language string was empty during connection
116 CONTACT_ADD_MISSING 400 Contact to add is missing
117 CONTACT_ID_INVALID 400 The provided contact ID is invalid
118 CONTACT_NAME_EMPTY 400 The provided contact name cannot be empty
119 CONTACT_REQ_MISSING 400 Missing contact request
120 CREATE_CALL_FAILED 400 An error occurred while creating the call
121 CURRENCY_TOTAL_AMOUNT_INVALID 400 The total amount of all prices is invalid
122 DATA_INVALID 400 Encrypted data invalid
123 DATA_JSON_INVALID 400 The provided JSON data is invalid
124 DATA_TOO_LONG 400 Data too long
125 DATE_EMPTY 400 Date empty
126 DC_ID_INVALID 400 This occurs when an authorization is tried to be exported for the same data center one is currently connected to
127 DH_G_A_INVALID 400 g_a invalid
128 DOCUMENT_INVALID 400 The document file was invalid and can't be used in inline mode
129 EDIT_BOT_INVITE_FORBIDDEN 403 Normal users can't edit invites that were created by bots
130 EMAIL_HASH_EXPIRED 400 The email hash expired and cannot be used to verify it
131 EMAIL_INVALID 400 The given email is invalid
132 EMAIL_UNCONFIRMED 400 Email unconfirmed
133 EMAIL_UNCONFIRMED_X 400 Email unconfirmed, the length of the code must be {code_length}
134 EMAIL_VERIFY_EXPIRED 400 The verification email has expired
135 EMOJI_INVALID 400 The specified theme emoji is valid
136 EMOJI_NOT_MODIFIED 400 The theme wasn't changed
137 EMOTICON_EMPTY 400 The emoticon field cannot be empty
138 EMOTICON_INVALID 400 The specified emoticon cannot be used or was not a emoticon
139 EMOTICON_STICKERPACK_MISSING 400 The emoticon sticker pack you are trying to get is missing
140 ENCRYPTED_MESSAGE_INVALID 400 Encrypted message invalid
141 ENCRYPTION_ALREADY_ACCEPTED 400 Secret chat already accepted
142 ENCRYPTION_ALREADY_DECLINED 400 The secret chat was already declined
143 ENCRYPTION_DECLINED 400 The secret chat was declined
144 ENCRYPTION_ID_INVALID 400 The provided secret chat ID is invalid
145 ENCRYPTION_OCCUPY_FAILED 500 TDLib developer claimed it is not an error while accepting secret chats and 500 is used instead of 420
146 ENTITIES_TOO_LONG 400 It is no longer possible to send such long data inside entity tags (for example inline text URLs)
147 ENTITY_BOUNDS_INVALID 400 Some of provided entities have invalid bounds (length is zero or out of the boundaries of the string)
148 ENTITY_MENTION_USER_INVALID 400 You can't use this entity
149 ERROR_TEXT_EMPTY 400 The provided error message is empty
150 EXPIRE_DATE_INVALID 400 The specified expiration date is invalid
151 EXPIRE_FORBIDDEN 400
152 EXPORT_CARD_INVALID 400 Provided card is invalid
153 EXTERNAL_URL_INVALID 400 External URL invalid
154 FIELD_NAME_EMPTY 400 The field with the name FIELD_NAME is missing
155 FIELD_NAME_INVALID 400 The field with the name FIELD_NAME is invalid
156 FILEREF_UPGRADE_NEEDED 406 The file reference needs to be refreshed before being used again
157 FILE_CONTENT_TYPE_INVALID 400 File content-type is invalid
158 FILE_EMTPY 400 An empty file was provided
159 FILE_ID_INVALID 400 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 ...)
160 FILE_MIGRATE_X 303 The file to be accessed is currently stored in DC {new_dc}
161 FILE_PARTS_INVALID 400 The number of file parts is invalid
162 FILE_PART_0_MISSING 400 File part 0 missing
163 FILE_PART_EMPTY 400 The provided file part is empty
164 FILE_PART_INVALID 400 The file part number is invalid
165 FILE_PART_LENGTH_INVALID 400 The length of a file part is invalid
166 FILE_PART_SIZE_CHANGED 400 The file part size (chunk size) cannot change during upload
167 FILE_PART_SIZE_INVALID 400 The provided file part size is invalid
168 FILE_PART_TOO_BIG 400 The uploaded file part is too big
169 FILE_PART_X_MISSING 400 Part {which} of the file is missing from storage
170 FILE_REFERENCE_EMPTY 400 The file reference must exist to access the media and it cannot be empty
171 FILE_REFERENCE_EXPIRED 400 The file reference has expired and is no longer valid or it belongs to self-destructing media and cannot be resent
172 FILE_REFERENCE_INVALID 400 The file reference is invalid or you can't do that operation on such message
173 FILE_TITLE_EMPTY 400 An empty file title was specified
174 FILTER_ID_INVALID 400 The specified filter ID is invalid
175 FILTER_INCLUDE_EMPTY 400 The include_peers vector of the filter is empty
176 FILTER_NOT_SUPPORTED 400 The specified filter cannot be used in this context
177 FILTER_TITLE_EMPTY 400 The title field of the filter is empty
178 FIRSTNAME_INVALID 400 The first name is invalid
179 FLOOD_TEST_PHONE_WAIT_X 420 A wait of {seconds} seconds is required in the test servers
180 FLOOD_WAIT_X 420 A wait of {seconds} seconds is required
181 FOLDER_ID_EMPTY 400 The folder you tried to delete was already empty
182 FOLDER_ID_INVALID 400 The folder you tried to use was not valid
183 FRESH_CHANGE_ADMINS_FORBIDDEN 400 406 Recently logged-in users cannot add or change admins
184 FRESH_CHANGE_PHONE_FORBIDDEN 406 Recently logged-in users cannot use this request
185 FRESH_RESET_AUTHORISATION_FORBIDDEN 406 The current session is too new and cannot be used to reset other authorisations yet
186 FROM_MESSAGE_BOT_DISABLED 400 Bots can't use fromMessage min constructors
187 FROM_PEER_INVALID 400 The given from_user peer cannot be used for the parameter
188 GAME_BOT_INVALID 400 You cannot send that game with the current bot
189 GEO_POINT_INVALID 400 Invalid geoposition provided
190 GIF_CONTENT_TYPE_INVALID 400 GIF content-type invalid
191 GIF_ID_INVALID 400 The provided GIF ID is invalid
192 GRAPH_EXPIRED_RELOAD 400 This graph has expired, please obtain a new graph token
193 GRAPH_INVALID_RELOAD 400 Invalid graph token provided, please reload the stats and provide the updated token
194 GRAPH_OUTDATED_RELOAD 400 Data can't be used for the channel statistics, graphs outdated
195 GROUPCALL_ADD_PARTICIPANTS_FAILED 500
196 GROUPCALL_ALREADY_DISCARDED 400 The group call was already discarded
197 GROUPCALL_ALREADY_STARTED 403 The groupcall has already started, you can join directly using [phone.joinGroupCall](https://core.telegram.org/method/phone.joinGroupCall)
198 GROUPCALL_FORBIDDEN 403 The group call has already ended
199 GROUPCALL_INVALID 400 The specified group call is invalid
200 GROUPCALL_JOIN_MISSING 400 You haven't joined this group call
201 GROUPCALL_NOT_MODIFIED 400 Group call settings weren't modified
202 GROUPCALL_SSRC_DUPLICATE_MUCH 400 The app needs to retry joining the group call with a new SSRC value
203 GROUPED_MEDIA_INVALID 400 Invalid grouped media
204 GROUP_CALL_INVALID 400 Group call invalid
205 HASH_INVALID 400 The provided hash is invalid
206 HIDE_REQUESTER_MISSING 400 The join request was missing or was already handled
207 HISTORY_GET_FAILED 500 Fetching of history failed
208 IMAGE_PROCESS_FAILED 400 Failure while processing image
209 IMPORT_FILE_INVALID 400 The file is too large to be imported
210 IMPORT_FORMAT_UNRECOGNIZED 400 Unknown import format
211 IMPORT_ID_INVALID 400 The specified import ID is invalid
212 INLINE_BOT_REQUIRED 403 The action must be performed through an inline bot callback
213 INLINE_RESULT_EXPIRED 400 The inline query expired
214 INPUT_CONSTRUCTOR_INVALID 400 The provided constructor is invalid
215 INPUT_FETCH_ERROR 400 An error occurred while deserializing TL parameters
216 INPUT_FETCH_FAIL 400 Failed deserializing TL payload
217 INPUT_FILTER_INVALID 400 The search query filter is invalid
218 INPUT_LAYER_INVALID 400 The provided layer is invalid
219 INPUT_METHOD_INVALID 400 The invoked method does not exist anymore or has never existed
220 INPUT_REQUEST_TOO_LONG 400 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)
221 INPUT_TEXT_EMPTY 400 The specified text is empty
222 INPUT_USER_DEACTIVATED 400 The specified user was deleted
223 INTERDC_X_CALL_ERROR 500 An error occurred while communicating with DC {dc}
224 INTERDC_X_CALL_RICH_ERROR 500 A rich error occurred while communicating with DC {dc}
225 INVITE_FORBIDDEN_WITH_JOINAS 400 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 ID
226 INVITE_HASH_EMPTY 400 The invite hash is empty
227 INVITE_HASH_EXPIRED 400 406 The chat the user tried to join has expired and is not valid anymore
228 INVITE_HASH_INVALID 400 The invite hash is invalid
229 INVITE_REQUEST_SENT 400 You have successfully requested to join this chat or channel
230 INVITE_REVOKED_MISSING 400 The specified invite link was already revoked or is invalid
231 INVOICE_PAYLOAD_INVALID 400 The specified invoice payload is invalid
232 JOIN_AS_PEER_INVALID 400 The specified peer cannot be used to join a group call
233 LANG_CODE_INVALID 400 The specified language code is invalid
234 LANG_CODE_NOT_SUPPORTED 400 The specified language code is not supported
235 LANG_PACK_INVALID 400 The provided language pack is invalid
236 LASTNAME_INVALID 400 The last name is invalid
237 LIMIT_INVALID 400 An invalid limit was provided. See https://core.telegram.org/api/files#downloading-files
238 LINK_NOT_MODIFIED 400 The channel is already linked to this group
239 LOCATION_INVALID 400 The location given for a file was invalid. See https://core.telegram.org/api/files#downloading-files
240 MAX_DATE_INVALID 400 The specified maximum date is invalid
241 MAX_ID_INVALID 400 The provided max ID is invalid
242 MAX_QTS_INVALID 400 The provided QTS were invalid
243 MD5_CHECKSUM_INVALID 400 The MD5 check-sums do not match
244 MEDIA_CAPTION_TOO_LONG 400 The caption is too long
245 MEDIA_EMPTY 400 The provided media object is invalid or the current account may not be able to send it (such as games as users)
246 MEDIA_GROUPED_INVALID 400 You tried to send media of different types in an album
247 MEDIA_INVALID 400 Media invalid
248 MEDIA_NEW_INVALID 400 The new media to edit the message with is invalid (such as stickers or voice notes)
249 MEDIA_PREV_INVALID 400 The old media cannot be edited with anything else (such as stickers or voice notes)
250 MEDIA_TTL_INVALID 400
251 MEGAGROUP_ID_INVALID 400 The group is invalid
252 MEGAGROUP_PREHISTORY_HIDDEN 400 You can't set this discussion group because it's history is hidden
253 MEGAGROUP_REQUIRED 400 The request can only be used with a megagroup channel
254 MEMBER_NO_LOCATION 500 An internal failure occurred while fetching user info (couldn't find location)
255 MEMBER_OCCUPY_PRIMARY_LOC_FAILED 500 Occupation of primary member location failed
256 MESSAGE_AUTHOR_REQUIRED 403 Message author required
257 MESSAGE_DELETE_FORBIDDEN 403 You can't delete one of the messages you tried to delete, most likely because it is a service message.
258 MESSAGE_EDIT_TIME_EXPIRED 400 You can't edit this message anymore, too much time has passed since its creation.
259 MESSAGE_EMPTY 400 Empty or invalid UTF-8 message was sent
260 MESSAGE_IDS_EMPTY 400 No message ids were provided
261 MESSAGE_ID_INVALID 400 The specified message ID is invalid or you can't do that operation on such message
262 MESSAGE_NOT_MODIFIED 400 Content of the message was not modified
263 MESSAGE_POLL_CLOSED 400 The poll was closed and can no longer be voted on
264 MESSAGE_TOO_LONG 400 Message was too long. Current maximum length is 4096 UTF-8 characters
265 METHOD_INVALID 400 The API method is invalid and cannot be used
266 MIN_DATE_INVALID 400 The specified minimum date is invalid
267 MSGID_DECREASE_RETRY 500 The request should be retried with a lower message ID
268 MSG_ID_INVALID 400 The message ID used in the peer was invalid
269 MSG_TOO_OLD 400 [`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 deleted
270 MSG_WAIT_FAILED 400 A waiting call returned an error
271 MT_SEND_QUEUE_TOO_LONG 500
272 MULTI_MEDIA_TOO_LONG 400 Too many media files were included in the same album
273 NEED_CHAT_INVALID 500 The provided chat is invalid
274 NEED_MEMBER_INVALID 500 The provided member is invalid or does not exist (for example a thumb size)
275 NETWORK_MIGRATE_X 303 The source IP address is associated with DC {new_dc}
276 NEW_SALT_INVALID 400 The new salt is invalid
277 NEW_SETTINGS_EMPTY 400 No password is set on the current account, and no new password was specified in `new_settings`
278 NEW_SETTINGS_INVALID 400 The new settings are invalid
279 NEXT_OFFSET_INVALID 400 The value for next_offset is invalid. Check that it has normal characters and is not too long
280 NOT_ALLOWED 403
281 OFFSET_INVALID 400 The given offset was invalid, it must be divisible by 1KB. See https://core.telegram.org/api/files#downloading-files
282 OFFSET_PEER_ID_INVALID 400 The provided offset peer is invalid
283 OPTIONS_TOO_MUCH 400 You defined too many options for the poll
284 OPTION_INVALID 400 The option specified is invalid and does not exist in the target poll
285 PACK_SHORT_NAME_INVALID 400 Invalid sticker pack name. It must begin with a letter, can't contain consecutive underscores and must end in "_by_<bot username>".
286 PACK_SHORT_NAME_OCCUPIED 400 A stickerpack with this name already exists
287 PACK_TITLE_INVALID 400 The stickerpack title is invalid
288 PARTICIPANTS_TOO_FEW 400 Not enough participants
289 PARTICIPANT_CALL_FAILED 500 Failure while making call
290 PARTICIPANT_ID_INVALID 400 The specified participant ID is invalid
291 PARTICIPANT_JOIN_MISSING 400 403 Trying to enable a presentation, when the user hasn't joined the Video Chat with [phone.joinGroupCall](https://core.telegram.org/method/phone.joinGroupCall)
292 PARTICIPANT_VERSION_OUTDATED 400 The other participant does not use an up to date telegram client with support for calls
293 PASSWORD_EMPTY 400 The provided password is empty
294 PASSWORD_HASH_INVALID 400 The password (and thus its hash value) you entered is invalid
295 PASSWORD_MISSING 400 The account must have 2-factor authentication enabled (a password) before this method can be used
296 PASSWORD_RECOVERY_EXPIRED 400 The recovery code has expired
297 PASSWORD_RECOVERY_NA 400 No email was set, can't recover password via email
298 PASSWORD_REQUIRED 400 The account must have 2-factor authentication enabled (a password) before this method can be used
299 PASSWORD_TOO_FRESH_X 400 The password was added too recently and {seconds} seconds must pass before using the method
300 PAYMENT_PROVIDER_INVALID 400 The payment provider was not recognised or its token was invalid
301 PEER_FLOOD 400 Too many requests
302 PEER_HISTORY_EMPTY 400
303 PEER_ID_INVALID 400 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)
304 PEER_ID_NOT_SUPPORTED 400 The provided peer ID is not supported
305 PERSISTENT_TIMESTAMP_EMPTY 400 Persistent timestamp empty
306 PERSISTENT_TIMESTAMP_INVALID 400 Persistent timestamp invalid
307 PERSISTENT_TIMESTAMP_OUTDATED 500 Persistent timestamp outdated
308 PHONE_CODE_EMPTY 400 The phone code is missing
309 PHONE_CODE_EXPIRED 400 The confirmation code has expired
310 PHONE_CODE_HASH_EMPTY 400 The phone code hash is missing
311 PHONE_CODE_INVALID 400 The phone code entered was invalid
312 PHONE_HASH_EXPIRED 400 An invalid or expired `phone_code_hash` was provided
313 PHONE_MIGRATE_X 303 The phone number a user is trying to use for authorization is associated with DC {new_dc}
314 PHONE_NOT_OCCUPIED 400 No user is associated to the specified phone number
315 PHONE_NUMBER_APP_SIGNUP_FORBIDDEN 400 You can't sign up using this app
316 PHONE_NUMBER_BANNED 400 The used phone number has been banned from Telegram and cannot be used anymore. Maybe check https://www.telegram.org/faq_spam
317 PHONE_NUMBER_FLOOD 400 You asked for the code too many times.
318 PHONE_NUMBER_INVALID 400 406 The phone number is invalid
319 PHONE_NUMBER_OCCUPIED 400 The phone number is already in use
320 PHONE_NUMBER_UNOCCUPIED 400 The phone number is not yet being used
321 PHONE_PASSWORD_FLOOD 406 You have tried logging in too many times
322 PHONE_PASSWORD_PROTECTED 400 This phone is password protected
323 PHOTO_CONTENT_TYPE_INVALID 400 Photo mime-type invalid
324 PHOTO_CONTENT_URL_EMPTY 400 The content from the URL used as a photo appears to be empty or has caused another HTTP error
325 PHOTO_CROP_FILE_MISSING 400 Photo crop file missing
326 PHOTO_CROP_SIZE_SMALL 400 Photo is too small
327 PHOTO_EXT_INVALID 400 The extension of the photo is invalid
328 PHOTO_FILE_MISSING 400 Profile photo file missing
329 PHOTO_ID_INVALID 400 Photo id is invalid
330 PHOTO_INVALID 400 Photo invalid
331 PHOTO_INVALID_DIMENSIONS 400 The photo dimensions are invalid (hint: `pip install pillow` for `send_file` to resize images)
332 PHOTO_SAVE_FILE_INVALID 400 The photo you tried to send cannot be saved by Telegram. A reason may be that it exceeds 10MB. Try resizing it locally
333 PHOTO_THUMB_URL_EMPTY 400 The URL used as a thumbnail appears to be empty or has caused another HTTP error
334 PINNED_DIALOGS_TOO_MUCH 400 Too many pinned dialogs
335 PIN_RESTRICTED 400 You can't pin messages in private chats with other people
336 POLL_ANSWERS_INVALID 400 The poll did not have enough answers or had too many
337 POLL_ANSWER_INVALID 400 One of the poll answers is not acceptable
338 POLL_OPTION_DUPLICATE 400 A duplicate option was sent in the same poll
339 POLL_OPTION_INVALID 400 A poll option used invalid data (the data may be too long)
340 POLL_QUESTION_INVALID 400 The poll question was either empty or too long
341 POLL_UNSUPPORTED 400 This layer does not support polls in the issued method
342 POLL_VOTE_REQUIRED 403 Cast a vote in the poll before calling this method
343 POSTPONED_TIMEOUT 500 The postponed call has timed out
344 PREMIUM_ACCOUNT_REQUIRED 403 A premium account is required to execute this action
345 PREMIUM_CURRENTLY_UNAVAILABLE 406
346 PREVIOUS_CHAT_IMPORT_ACTIVE_WAIT_XMIN 406 Similar to a flood wait, must wait {minutes} minutes
347 PRIVACY_KEY_INVALID 400 The privacy key is invalid
348 PRIVACY_TOO_LONG 400 Cannot add that many entities in a single request
349 PRIVACY_VALUE_INVALID 400 The privacy value is invalid
350 PTS_CHANGE_EMPTY 500 No PTS change
351 PUBLIC_CHANNEL_MISSING 403 You can only export group call invite links for public chats or channels
352 PUBLIC_KEY_REQUIRED 400 A public key is required
353 QUERY_ID_EMPTY 400 The query ID is empty
354 QUERY_ID_INVALID 400 The query ID is invalid
355 QUERY_TOO_SHORT 400 The query string is too short
356 QUIZ_ANSWER_MISSING 400 You can forward a quiz while hiding the original author only after choosing an option in the quiz
357 QUIZ_CORRECT_ANSWERS_EMPTY 400 A quiz must specify one correct answer
358 QUIZ_CORRECT_ANSWERS_TOO_MUCH 400 There can only be one correct answer
359 QUIZ_CORRECT_ANSWER_INVALID 400 The correct answer is not an existing answer
360 QUIZ_MULTIPLE_INVALID 400 A poll cannot be both multiple choice and quiz
361 RANDOM_ID_DUPLICATE 500 You provided a random ID that was already used
362 RANDOM_ID_EMPTY 400 Random ID empty
363 RANDOM_ID_INVALID 400 A provided random ID is invalid
364 RANDOM_LENGTH_INVALID 400 Random length invalid
365 RANGES_INVALID 400 Invalid range provided
366 REACTIONS_TOO_MANY 400 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)
367 REACTION_EMPTY 400 No reaction provided
368 REACTION_INVALID 400 Invalid reaction provided (only emoji are allowed)
369 REFLECTOR_NOT_AVAILABLE 400 Invalid call reflector server
370 REG_ID_GENERATE_FAILED 500 Failure while generating registration ID
371 REPLY_MARKUP_BUY_EMPTY 400 Reply markup for buy button empty
372 REPLY_MARKUP_GAME_EMPTY 400 The provided reply markup for the game is empty
373 REPLY_MARKUP_INVALID 400 The provided reply markup is invalid
374 REPLY_MARKUP_TOO_LONG 400 The data embedded in the reply markup buttons was too much
375 RESET_REQUEST_MISSING 400 No password reset is in progress
376 RESULTS_TOO_MUCH 400 You sent too many results, see https://core.telegram.org/bots/api#answerinlinequery for the current limit
377 RESULT_ID_DUPLICATE 400 Duplicated IDs on the sent results. Make sure to use unique IDs
378 RESULT_ID_EMPTY 400 Result ID empty
379 RESULT_ID_INVALID 400 The given result cannot be used to send the selection to the bot
380 RESULT_TYPE_INVALID 400 Result type invalid
381 REVOTE_NOT_ALLOWED 400 You cannot change your vote
382 RIGHTS_NOT_MODIFIED 400 The new admin rights are equal to the old rights, no change was made
383 RIGHT_FORBIDDEN 403 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)
384 RPC_CALL_FAIL 500 Telegram is having internal issues, please try again later.
385 RPC_MCGET_FAIL 500 Telegram is having internal issues, please try again later.
386 RSA_DECRYPT_FAILED 400 Internal RSA decryption failed
387 SCHEDULE_BOT_NOT_ALLOWED 400 Bots are not allowed to schedule messages
388 SCHEDULE_DATE_INVALID 400 Invalid schedule date provided
389 SCHEDULE_DATE_TOO_LATE 400 The date you tried to schedule is too far in the future (last known limit of 1 year and a few hours)
390 SCHEDULE_STATUS_PRIVATE 400 You cannot schedule a message until the person comes online if their privacy does not show this information
391 SCHEDULE_TOO_MUCH 400 You cannot schedule more messages in this chat (last known limit of 100 per chat)
392 SCORE_INVALID 400 The specified game score is invalid
393 SEARCH_QUERY_EMPTY 400 The search query is empty
394 SEARCH_WITH_LINK_NOT_SUPPORTED 400 You cannot provide a search query and an invite link at the same time
395 SECONDS_INVALID 400 Slow mode only supports certain values (e.g. 0, 10s, 30s, 1m, 5m, 15m and 1h)
396 SEND_AS_PEER_INVALID 400 You can't send messages as the specified peer
397 SEND_CODE_UNAVAILABLE 406 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)
398 SEND_MESSAGE_MEDIA_INVALID 400 The message media was invalid or not specified
399 SEND_MESSAGE_TYPE_INVALID 400 The message type is invalid
400 SENSITIVE_CHANGE_FORBIDDEN 403 Your sensitive content settings cannot be changed at this time
401 SESSION_EXPIRED 401 The authorization has expired
402 SESSION_PASSWORD_NEEDED 401 Two-steps verification is enabled and a password is required
403 SESSION_REVOKED 401 The authorization has been invalidated, because of the user terminating all sessions
404 SESSION_TOO_FRESH_X 400 The session logged in too recently and {seconds} seconds must pass before calling the method
405 SETTINGS_INVALID 400 Invalid settings were provided
406 SHA256_HASH_INVALID 400 The provided SHA256 hash is invalid
407 SHORTNAME_OCCUPY_FAILED 400 An error occurred when trying to register the short-name used for the sticker pack. Try a different name
408 SHORT_NAME_INVALID 400 The specified short name is invalid
409 SHORT_NAME_OCCUPIED 400 The specified short name is already in use
410 SIGN_IN_FAILED 500 Failure while signing in
411 SLOWMODE_MULTI_MSGS_DISABLED 400 Slowmode is enabled, you cannot forward multiple messages to this group
412 SLOWMODE_WAIT_X 420 A wait of {seconds} seconds is required before sending another message in this chat
413 SMS_CODE_CREATE_FAILED 400 An error occurred while creating the SMS code
414 SRP_ID_INVALID 400 Invalid SRP ID provided
415 SRP_PASSWORD_CHANGED 400 Password has changed
416 START_PARAM_EMPTY 400 The start parameter is empty
417 START_PARAM_INVALID 400 Start parameter invalid
418 START_PARAM_TOO_LONG 400 Start parameter is too long
419 STATS_MIGRATE_X 303 The channel statistics must be fetched from DC {dc}
420 STICKERPACK_STICKERS_TOO_MUCH 400 There are too many stickers in this stickerpack, you can't add any more
421 STICKERSET_INVALID 400 406 The provided sticker set is invalid
422 STICKERSET_OWNER_ANONYMOUS 406 This sticker set can't be used as the group's official stickers because it was created by one of its anonymous admins
423 STICKERS_EMPTY 400 No sticker provided
424 STICKERS_TOO_MUCH 400 There are too many stickers in this stickerpack, you can't add any more
425 STICKER_DOCUMENT_INVALID 400 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)
426 STICKER_EMOJI_INVALID 400 Sticker emoji invalid
427 STICKER_FILE_INVALID 400 Sticker file invalid
428 STICKER_GIF_DIMENSIONS 400 The specified video sticker has invalid dimensions
429 STICKER_ID_INVALID 400 The provided sticker ID is invalid
430 STICKER_INVALID 400 The provided sticker is invalid
431 STICKER_MIME_INVALID 400 Make sure to pass a valid image file for the right InputFile parameter
432 STICKER_PNG_DIMENSIONS 400 Sticker png dimensions invalid
433 STICKER_PNG_NOPNG 400 Stickers must be a png file but the used image was not a png
434 STICKER_TGS_NODOC 400 You must send the animated sticker as a document
435 STICKER_TGS_NOTGS 400 Stickers must be a tgs file but the used file was not a tgs
436 STICKER_THUMB_PNG_NOPNG 400 Stickerset thumb must be a png file but the used file was not png
437 STICKER_THUMB_TGS_NOTGS 400 Stickerset thumb must be a tgs file but the used file was not tgs
438 STICKER_VIDEO_BIG 400 The specified video sticker is too big
439 STICKER_VIDEO_NODOC 400 You must send the video sticker as a document
440 STICKER_VIDEO_NOWEBM 400 The specified video sticker is not in webm format
441 STORAGE_CHECK_FAILED 500 Server storage check failed
442 STORE_INVALID_SCALAR_TYPE 500
443 SWITCH_PM_TEXT_EMPTY 400 The switch_pm.text field was empty
444 TAKEOUT_INIT_DELAY_X 420 A wait of {seconds} seconds is required before being able to initiate the takeout
445 TAKEOUT_INVALID 400 The takeout session has been invalidated by another data export session
446 TAKEOUT_REQUIRED 400 403 You must initialize a takeout request first
447 TEMP_AUTH_KEY_ALREADY_BOUND 400 The passed temporary key is already bound to another **perm_auth_key_id**
448 TEMP_AUTH_KEY_EMPTY 400 No temporary auth key provided
449 THEME_FILE_INVALID 400 Invalid theme file provided
450 THEME_FORMAT_INVALID 400 Invalid theme format provided
451 THEME_INVALID 400 Theme invalid
452 THEME_MIME_INVALID 400 You cannot create this theme, the mime-type is invalid
453 THEME_TITLE_INVALID 400 The specified theme title is invalid
454 TIMEOUT 500 A timeout occurred while fetching data from the worker
455 TITLE_INVALID 400 The specified stickerpack title is invalid
456 TMP_PASSWORD_DISABLED 400 The temporary password is disabled
457 TMP_PASSWORD_INVALID 400 Password auth needs to be regenerated
458 TOKEN_INVALID 400 The provided token is invalid
459 TOPIC_DELETED 400 The topic was deleted
460 TO_LANG_INVALID 400 The specified destination language is invalid
461 TTL_DAYS_INVALID 400 The provided TTL is invalid
462 TTL_MEDIA_INVALID 400 The provided media cannot be used with a TTL
463 TTL_PERIOD_INVALID 400 The provided TTL Period is invalid
464 TYPES_EMPTY 400 The types field is empty
465 TYPE_CONSTRUCTOR_INVALID 400 The type constructor is invalid
466 Timedout -503 Timeout while fetching data
467 Timeout -503 Timeout while fetching data
468 UNKNOWN_ERROR 400
469 UNKNOWN_METHOD 500 The method you tried to call cannot be called on non-CDN DCs
470 UNTIL_DATE_INVALID 400 That date cannot be specified in this request (try using None)
471 UPDATE_APP_TO_LOGIN 406
472 URL_INVALID 400 The URL used was invalid (e.g. when answering a callback with a URL that's not t.me/yourbot or your game's URL)
473 USAGE_LIMIT_INVALID 400 The specified usage limit is invalid
474 USERNAME_INVALID 400 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]"
475 USERNAME_NOT_MODIFIED 400 The username is not different from the current username
476 USERNAME_NOT_OCCUPIED 400 The username is not in use by anyone else yet
477 USERNAME_OCCUPIED 400 The username is already taken
478 USERNAME_PURCHASE_AVAILABLE 400
479 USERPIC_PRIVACY_REQUIRED 406 You need to disable privacy settings for your profile picture in order to make your geolocation public
480 USERPIC_UPLOAD_REQUIRED 400 406 You must have a profile picture before using this method
481 USERS_TOO_FEW 400 Not enough users (to create a chat, for example)
482 USERS_TOO_MUCH 400 The maximum number of users has been exceeded (to create a chat, for example)
483 USER_ADMIN_INVALID 400 Either you're not an admin or you tried to ban an admin that you didn't promote
484 USER_ALREADY_INVITED 400 You have already invited this user
485 USER_ALREADY_PARTICIPANT 400 The authenticated user is already a participant of the chat
486 USER_BANNED_IN_CHANNEL 400 You're banned from sending messages in supergroups/channels
487 USER_BLOCKED 400 User blocked
488 USER_BOT 400 Bots can only be admins in channels.
489 USER_BOT_INVALID 400 403 This method can only be called by a bot
490 USER_BOT_REQUIRED 400 This method can only be called by a bot
491 USER_CHANNELS_TOO_MUCH 400 403 One of the users you tried to add is already in too many channels/supergroups
492 USER_CREATOR 400 You can't leave this channel, because you're its creator
493 USER_DEACTIVATED 401 The user has been deleted/deactivated
494 USER_DEACTIVATED_BAN 401 The user has been deleted/deactivated
495 USER_DELETED 403 You can't send this secret message because the other participant deleted their account
496 USER_ID_INVALID 400 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 suited
497 USER_INVALID 400 403 The given user was invalid
498 USER_IS_BLOCKED 400 403 User is blocked
499 USER_IS_BOT 400 Bots can't send messages to other bots
500 USER_KICKED 400 This user was kicked from this supergroup/channel
501 USER_MIGRATE_X 303 The user whose identity is being used to execute queries is associated with DC {new_dc}
502 USER_NOT_MUTUAL_CONTACT 400 403 The provided user is not a mutual contact
503 USER_NOT_PARTICIPANT 400 The target user is not a member of the specified megagroup or channel
504 USER_PRIVACY_RESTRICTED 403 The user's privacy settings do not allow you to do this
505 USER_RESTRICTED 403 406 You're spamreported, you can't create channels or chats.
506 USER_VOLUME_INVALID 400 The specified user volume is invalid
507 VIDEO_CONTENT_TYPE_INVALID 400 The video content type is not supported with the given parameters (i.e. supports_streaming)
508 VIDEO_FILE_INVALID 400 The given video cannot be used
509 VIDEO_TITLE_EMPTY 400 The specified video title is empty
510 VOICE_MESSAGES_FORBIDDEN 400 This user's privacy settings forbid you from sending voice messages
511 WALLPAPER_FILE_INVALID 400 The given file cannot be used as a wallpaper
512 WALLPAPER_INVALID 400 The input wallpaper was not valid
513 WALLPAPER_MIME_INVALID 400 The specified wallpaper MIME type is invalid
514 WC_CONVERT_URL_INVALID 400 WC convert URL invalid
515 WEBDOCUMENT_INVALID 400 Invalid webdocument URL provided
516 WEBDOCUMENT_MIME_INVALID 400 Invalid webdocument mime type provided
517 WEBDOCUMENT_SIZE_TOO_BIG 400 Webdocument is too big!
518 WEBDOCUMENT_URL_INVALID 400 The given URL cannot be used
519 WEBPAGE_CURL_FAILED 400 Failure while fetching the webpage with cURL
520 WEBPAGE_MEDIA_EMPTY 400 Webpage media empty
521 WEBPUSH_AUTH_INVALID 400 The specified web push authentication secret is invalid
522 WEBPUSH_KEY_INVALID 400 The specified web push elliptic curve Diffie-Hellman public key is invalid
523 WEBPUSH_TOKEN_INVALID 400 The specified web push token is invalid
524 WORKER_BUSY_TOO_LONG_RETRY 500 Telegram workers are too busy to respond immediately
525 YOU_BLOCKED_USER 400 You blocked this user
+50
View File
@@ -0,0 +1,50 @@
package main
import (
"bytes"
"encoding/csv"
"fmt"
"io"
"os"
"strings"
"go.mau.fi/util/exerrors"
)
func main() {
currentDir := exerrors.Must(os.Getwd())
errorCSV := exerrors.Must(os.Open(currentDir + "/../../internal/gen/errors.csv"))
reader := csv.NewReader(errorCSV)
var data bytes.Buffer
data.WriteString("package humanise\n")
data.WriteString("import \"github.com/gotd/td/tgerr\"\n")
data.WriteString("func Error(err error) string {\n")
data.WriteString("switch {\n")
for {
row, err := reader.Read()
if err != nil {
if err == io.EOF {
break
} else {
panic(err)
}
}
data.WriteString(`case tgerr.Is(err, "`)
data.WriteString(row[0])
data.WriteString(`"): return "`)
errString := strings.ReplaceAll(row[2], `\`, `\\`)
errString = strings.ReplaceAll(errString, `"`, `\"`)
data.WriteString(errString)
data.WriteString(`"`)
data.WriteString("\n")
fmt.Printf("row %+v\n", row)
}
data.WriteString("}\n")
data.WriteString("return err.Error()")
data.WriteString("}")
exerrors.PanicIfNotNil(os.WriteFile(currentDir+"/errors.go", data.Bytes(), os.ModePerm))
}