diff --git a/src/errors.rs b/src/errors.rs index a12393b5..4a9071e5 100644 --- a/src/errors.rs +++ b/src/errors.rs @@ -40,7 +40,7 @@ pub enum RequestError { //</editor-fold> -#[derive(Debug, Deserialize, PartialEq, Copy, Hash, Eq)] +#[derive(Debug, Deserialize, PartialEq, Copy, Hash, Eq, Clone)] enum ApiErrorKind { /// Occurs when the bot has been blocked by the user. #[serde(rename = "Forbidden: bot was blocked by the user")] @@ -66,12 +66,13 @@ enum ApiErrorKind { #[serde(rename = "Bad Request: message text is empty")] MessageTextIsEmpty, - /// Occurs when bot tries to edit the message after long time + /// Occurs when bot tries to edit a message after long time #[serde(rename = "Bad Request: message can't be edited")] MessageCantBeEdited, + /// Occurs when bot tries to delete a message in group where it does not have enough rights #[serde(rename = "Bad Request: message can't be deleted")] - MessageCantBeDeleted, // TODO: docs + MessageCantBeDeleted, /// Occurs when bot tries to edit a message which does not exists #[serde(rename = "Bad Request: message to edit not found")] @@ -167,8 +168,9 @@ enum ApiErrorKind { #[serde(rename = "Bad Request: wrong file identifier/HTTP URL specified")] WrongFileIdentifier, // TODO: docs + /// Occurs when bot tries to do some with group which was deactivated #[serde(rename = "Bad Request: group is deactivated")] - GroupDeactivated, // TODO: docs + GroupDeactivated, /// Occurs when bot tries to set chat photo from file ID (SetChatPhoto) #[serde(rename = "Bad Request: Photo should be uploaded as an InputFile")] @@ -186,20 +188,25 @@ enum ApiErrorKind { #[serde(rename = "Bad Request: need administrator rights in the channel chat")] NeedAdministratorRightsInTheChannel, // TODO: docs + /// Occurs when bot tries to pin a message without rights to pin in this chat #[serde(rename = "Bad Request: not enough rights to pin a message")] - NotEnoughRightsToPinMessage, // TODO: docs + NotEnoughRightsToPinMessage, + /// Occurs when bot tries to use method in group which is allowed inly in a supergroup or channel #[serde(rename = "Bad Request: method is available only for supergroups and channel")] - MethodNotAvailableInPrivateChats, // TODO: docs + MethodNotAvailableInPrivateChats, + /// Occurs when bot tries to demote chat creator #[serde(rename = "Bad Request: can't demote chat creator")] - CantDemoteChatCreator, // TODO: docs + CantDemoteChatCreator, + /// Occurs when bot tries to restrict self in group chats #[serde(rename = "Bad Request: can't restrict self")] - CantRestrictSelf, // TODO: docs + CantRestrictSelf, + /// Occurs when bot tries to restrict chat member without rights to restrict in this chat #[serde(rename = "Bad Request: not enough rights to restrict/unrestrict chat member")] - NotEnoughRightsToRestrict, // TODO: docs + NotEnoughRightsToRestrict, #[serde(rename = "Bad Request: PHOTO_INVALID_DIMENSIONS")] PhotoDimensions, // TODO: docs @@ -237,8 +244,9 @@ enum ApiErrorKind { #[serde(rename = "Bad Request: unsupported URL protocol")] UnsupportedUrlProtocol, // TODO: docs + /// Occurs when bot tries to send message with unfinished entities #[serde(rename = "Bad Request: can't parse entities")] - CantParseEntities, // TODO: docs + CantParseEntities, #[serde(rename = "Bad Request: result_id_duplicate")] ResultIdDuplicate, // TODO: docs @@ -246,29 +254,35 @@ enum ApiErrorKind { #[serde(rename = "Bad Request: bot_domain_invalid")] BotDomainInvalid, // TODO: docs - #[serde(rename = "method not found")] - MethodNotKnown, // TODO: docs + /// Occurs when bot tries to use getUpdates while webhook is active + #[serde(rename = "can't use getUpdates method while webhook is active")] + CantGetUpdates, + + /// Occurs when bot tries to do some in group where bot was kicked + #[serde(rename = "Unauthorized: bot was kicked from a chat")] + BotKicked, + + /// Occurs when bot tries to send message to deactivated user + #[serde(rename = "Unauthorized: user is deactivated")] + UserDeactivated, + + /// Occurs when you tries to initiate conversation with a user + #[serde(rename = "Unauthorized: bot can't initiate conversation with a user")] + CantInitiateConversation, + + /// Occurs when you tries to send message to bot + #[serde(rename = "Unauthorized: bot can't send messages to bots")] + CantTalkWithBots, + + /// Occurs when bot tries to send button with invalid http url + #[serde(rename = "Bad Request: wrong HTTP URL")] + WrongHTTPurl, /// Occurs when bot tries GetUpdate before the timeout. /// Make sure that only one Updater is running. #[serde(rename = "terminated by other getUpdates request")] - TerminatedByOtherGetUpdates, // TODO: docs - - #[serde(rename = "can't use getUpdates method while webhook is active")] - CantGetUpdates, // TODO: docs - - #[serde(rename = "bot was kicked from a chat")] - BotKicked, // TODO: docs - - #[serde(rename = "user is deactivated")] - UserDeactivated, // TODO: docs - - #[serde(rename = "bot can't initiate conversation with a user")] - CantInitiateConversation, // TODO: docs - - #[serde(rename = "bot can't send messages to bots")] - CantTalkWithBots, // TODO: docs + TerminatedByOtherGetUpdates, #[serde(other)] - OtherKind(String) -} + OtherKind +} \ No newline at end of file