# frozen_string_literal: true module Telegram module Bot class Api ENDPOINTS = { 'getUpdates' => Types::Array.of(Types::Update), 'setWebhook' => Types::Bool, 'deleteWebhook' => Types::Bool, 'getWebhookInfo' => Types::WebhookInfo, 'getMe' => Types::User, 'sendMessage' => Types::Message, 'forwardMessage' => Types::Message, 'forwardMessages' => Types::Array.of(Types::MessageId), 'sendPhoto' => Types::Message, 'sendAudio' => Types::Message, 'sendDocument' => Types::Message, 'sendVideo' => Types::Message, 'sendVoice' => Types::Message, 'sendVideoNote' => Types::Message, 'sendMediaGroup' => Types::Array.of(Types::Message), 'sendLocation' => Types::Message, 'editMessageLiveLocation' => Types::Message | Types::Bool, 'stopMessageLiveLocation' => Types::Message | Types::Bool, 'sendVenue' => Types::Message, 'sendContact' => Types::Message, 'sendChatAction' => Types::Bool, 'setMessageReaction' => Types::Bool, 'getUserProfilePhotos' => Types::UserProfilePhotos, 'getFile' => Types::File, 'banChatMember' => Types::Bool, 'unbanChatMember' => Types::Bool, 'restrictChatMember' => Types::Bool, 'promoteChatMember' => Types::Bool, 'leaveChat' => Types::Bool, 'getChat' => Types::ChatFullInfo, 'getChatAdministrators' => Types::Array.of(Types::ChatMember), 'exportChatInviteLink' => Types::String, 'setChatPhoto' => Types::Bool, 'deleteChatPhoto' => Types::Bool, 'setChatTitle' => Types::Bool, 'setChatDescription' => Types::Bool, 'pinChatMessage' => Types::Bool, 'unpinChatMessage' => Types::Bool, 'getChatMembersCount' => Types::Integer, 'getChatMember' => Types::ChatMember, 'setChatStickerSet' => Types::Bool, 'deleteChatStickerSet' => Types::Bool, 'answerCallbackQuery' => Types::Bool, 'getUserChatBoosts' => Types::UserChatBoosts, 'editMessageText' => Types::Message | Types::Bool, 'editMessageCaption' => Types::Message | Types::Bool, 'editMessageReplyMarkup' => Types::Message | Types::Bool, 'deleteMessage' => Types::Bool, 'deleteMessages' => Types::Bool, 'sendSticker' => Types::Message, 'getStickerSet' => Types::StickerSet, 'uploadStickerFile' => Types::File, 'createNewStickerSet' => Types::Bool, 'addStickerToSet' => Types::Bool, 'setStickerPositionInSet' => Types::Bool, 'deleteStickerFromSet' => Types::Bool, 'answerInlineQuery' => Types::Bool, 'sendInvoice' => Types::Message, 'answerShippingQuery' => Types::Bool, 'answerPreCheckoutQuery' => Types::Bool, 'sendGame' => Types::Message, 'setGameScore' => Types::Message | Types::Bool, 'getGameHighScores' => Types::Array.of(Types::GameHighScore), 'setPassportDataErrors' => Types::Bool, 'editMessageMedia' => Types::Message | Types::Bool, 'sendAnimation' => Types::Message, 'sendPoll' => Types::Message, 'stopPoll' => Types::Poll, 'setChatPermissions' => Types::Bool, 'setChatAdministratorCustomTitle' => Types::Bool, 'sendDice' => Types::Message, 'getMyCommands' => Types::Array.of(Types::BotCommand), 'setMyCommands' => Types::Bool, 'deleteMyCommands' => Types::Bool, 'setStickerSetThumbnail' => Types::Bool, 'logOut' => Types::Bool, 'close' => Types::Bool, 'copyMessage' => Types::MessageId, 'copyMessages' => Types::Array.of(Types::MessageId), 'createChatInviteLink' => Types::ChatInviteLink, 'editChatInviteLink' => Types::ChatInviteLink, 'revokeChatInviteLink' => Types::ChatInviteLink, 'approveChatJoinRequest' => Types::Bool, 'declineChatJoinRequest' => Types::Bool, 'banChatSenderChat' => Types::Bool, 'unbanChatSenderChat' => Types::Bool, 'answerWebAppQuery' => Types::SentWebAppMessage, 'setChatMenuButton' => Types::Bool, 'getChatMenuButton' => Types::MenuButtonDefault | Types::MenuButtonCommands | Types::MenuButtonWebApp, 'setMyDefaultAdministratorRights' => Types::Bool, 'getMyDefaultAdministratorRights' => Types::ChatAdministratorRights, 'createInvoiceLink' => Types::String, 'editGeneralForumTopic' => Types::Bool, 'closeGeneralForumTopic' => Types::Bool, 'reopenGeneralForumTopic' => Types::Bool, 'hideGeneralForumTopic' => Types::Bool, 'unhideGeneralForumTopic' => Types::Bool, 'unpinAllGeneralForumTopicMessages' => Types::Bool, 'setMyName' => Types::Bool, 'getMyName' => Types::BotName, 'setMyDescription' => Types::Bool, 'getMyDescription' => Types::BotDescription, 'setMyShortDescription' => Types::Bool, 'getMyShortDescription' => Types::BotShortDescription, 'refundStarPayment' => Types::Bool, 'getStarTransactions' => Types::StarTransactions, 'sendPaidMedia' => Types::Message, 'createChatSubscriptionInviteLink' => Types::ChatInviteLink, 'editChatSubscriptionInviteLink' => Types::ChatInviteLink, 'getAvailableGifts' => Types::Gifts, 'sendGift' => Types::Bool, 'savePreparedInlineMessage' => Types::PreparedInlineMessage, 'editUserStarSubscription' => Types::Bool, 'setUserEmojiStatus' => Types::Bool }.freeze end end end