telegram-bot-openapi 7.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (642) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +419 -0
  4. data/Rakefile +10 -0
  5. data/docs/Animation.md +34 -0
  6. data/docs/AnswerWebAppQuery200Response.md +20 -0
  7. data/docs/Audio.md +34 -0
  8. data/docs/Birthdate.md +22 -0
  9. data/docs/BotCommand.md +20 -0
  10. data/docs/BotCommandScopeAllChatAdministrators.md +18 -0
  11. data/docs/BotCommandScopeAllGroupChats.md +18 -0
  12. data/docs/BotCommandScopeAllPrivateChats.md +18 -0
  13. data/docs/BotCommandScopeChat.md +20 -0
  14. data/docs/BotCommandScopeChatAdministrators.md +20 -0
  15. data/docs/BotCommandScopeChatMember.md +22 -0
  16. data/docs/BotCommandScopeDefault.md +18 -0
  17. data/docs/BotDescription.md +18 -0
  18. data/docs/BotName.md +18 -0
  19. data/docs/BotShortDescription.md +18 -0
  20. data/docs/BusinessConnection.md +28 -0
  21. data/docs/BusinessIntro.md +22 -0
  22. data/docs/BusinessLocation.md +20 -0
  23. data/docs/BusinessMessagesDeleted.md +22 -0
  24. data/docs/BusinessOpeningHours.md +20 -0
  25. data/docs/BusinessOpeningHoursInterval.md +20 -0
  26. data/docs/CallbackQuery.md +30 -0
  27. data/docs/Chat.md +100 -0
  28. data/docs/ChatAdministratorRights.md +46 -0
  29. data/docs/ChatBoost.md +24 -0
  30. data/docs/ChatBoostAdded.md +18 -0
  31. data/docs/ChatBoostRemoved.md +24 -0
  32. data/docs/ChatBoostSourceGiftCode.md +20 -0
  33. data/docs/ChatBoostSourceGiveaway.md +24 -0
  34. data/docs/ChatBoostSourcePremium.md +20 -0
  35. data/docs/ChatBoostUpdated.md +20 -0
  36. data/docs/ChatInviteLink.md +34 -0
  37. data/docs/ChatJoinRequest.md +28 -0
  38. data/docs/ChatLocation.md +20 -0
  39. data/docs/ChatMemberAdministrator.md +54 -0
  40. data/docs/ChatMemberBanned.md +22 -0
  41. data/docs/ChatMemberLeft.md +20 -0
  42. data/docs/ChatMemberMember.md +20 -0
  43. data/docs/ChatMemberOwner.md +24 -0
  44. data/docs/ChatMemberRestricted.md +52 -0
  45. data/docs/ChatMemberUpdated.md +30 -0
  46. data/docs/ChatPermissions.md +44 -0
  47. data/docs/ChatPhoto.md +24 -0
  48. data/docs/ChatShared.md +26 -0
  49. data/docs/ChosenInlineResult.md +26 -0
  50. data/docs/Contact.md +26 -0
  51. data/docs/CopyMessage200Response.md +20 -0
  52. data/docs/CreateChatInviteLink200Response.md +20 -0
  53. data/docs/CreateForumTopic200Response.md +20 -0
  54. data/docs/DefaultApi.md +8843 -0
  55. data/docs/Dice.md +20 -0
  56. data/docs/Document.md +28 -0
  57. data/docs/EditMessageText200Response.md +20 -0
  58. data/docs/EditMessageText200ResponseResultValue.md +49 -0
  59. data/docs/EncryptedCredentials.md +22 -0
  60. data/docs/EncryptedPassportElement.md +36 -0
  61. data/docs/ExportChatInviteLink200Response.md +20 -0
  62. data/docs/ExternalReplyInfo.md +62 -0
  63. data/docs/File.md +24 -0
  64. data/docs/ForceReply.md +22 -0
  65. data/docs/ForumTopic.md +24 -0
  66. data/docs/ForumTopicCreated.md +22 -0
  67. data/docs/ForumTopicEdited.md +20 -0
  68. data/docs/ForwardMessages200Response.md +20 -0
  69. data/docs/Game.md +28 -0
  70. data/docs/GameHighScore.md +22 -0
  71. data/docs/GetBusinessConnection200Response.md +20 -0
  72. data/docs/GetChat200Response.md +20 -0
  73. data/docs/GetChatAdministrators200Response.md +20 -0
  74. data/docs/GetChatMember200Response.md +20 -0
  75. data/docs/GetChatMemberCount200Response.md +20 -0
  76. data/docs/GetChatMenuButton200Response.md +20 -0
  77. data/docs/GetFile200Response.md +20 -0
  78. data/docs/GetForumTopicIconStickers200Response.md +20 -0
  79. data/docs/GetGameHighScores200Response.md +20 -0
  80. data/docs/GetMe200Response.md +20 -0
  81. data/docs/GetMyCommands200Response.md +20 -0
  82. data/docs/GetMyDefaultAdministratorRights200Response.md +20 -0
  83. data/docs/GetMyDescription200Response.md +20 -0
  84. data/docs/GetMyName200Response.md +20 -0
  85. data/docs/GetMyShortDescription200Response.md +20 -0
  86. data/docs/GetStickerSet200Response.md +20 -0
  87. data/docs/GetUpdates200Response.md +20 -0
  88. data/docs/GetUpdates4XXResponse.md +22 -0
  89. data/docs/GetUserChatBoosts200Response.md +20 -0
  90. data/docs/GetUserProfilePhotos200Response.md +20 -0
  91. data/docs/GetWebhookInfo200Response.md +20 -0
  92. data/docs/Giveaway.md +32 -0
  93. data/docs/GiveawayCompleted.md +22 -0
  94. data/docs/GiveawayWinners.md +38 -0
  95. data/docs/InaccessibleMessage.md +22 -0
  96. data/docs/InlineKeyboardButton.md +36 -0
  97. data/docs/InlineKeyboardMarkup.md +18 -0
  98. data/docs/InlineQuery.md +28 -0
  99. data/docs/InlineQueryResultArticle.md +38 -0
  100. data/docs/InlineQueryResultAudio.md +38 -0
  101. data/docs/InlineQueryResultCachedAudio.md +32 -0
  102. data/docs/InlineQueryResultCachedDocument.md +36 -0
  103. data/docs/InlineQueryResultCachedGif.md +34 -0
  104. data/docs/InlineQueryResultCachedMpeg4Gif.md +34 -0
  105. data/docs/InlineQueryResultCachedPhoto.md +36 -0
  106. data/docs/InlineQueryResultCachedSticker.md +26 -0
  107. data/docs/InlineQueryResultCachedVideo.md +36 -0
  108. data/docs/InlineQueryResultCachedVoice.md +34 -0
  109. data/docs/InlineQueryResultContact.md +38 -0
  110. data/docs/InlineQueryResultDocument.md +44 -0
  111. data/docs/InlineQueryResultGame.md +24 -0
  112. data/docs/InlineQueryResultGif.md +44 -0
  113. data/docs/InlineQueryResultLocation.md +44 -0
  114. data/docs/InlineQueryResultMpeg4Gif.md +44 -0
  115. data/docs/InlineQueryResultPhoto.md +42 -0
  116. data/docs/InlineQueryResultVenue.md +46 -0
  117. data/docs/InlineQueryResultVideo.md +46 -0
  118. data/docs/InlineQueryResultVoice.md +36 -0
  119. data/docs/InlineQueryResultsButton.md +22 -0
  120. data/docs/InputContactMessageContent.md +24 -0
  121. data/docs/InputInvoiceMessageContent.md +56 -0
  122. data/docs/InputLocationMessageContent.md +28 -0
  123. data/docs/InputMediaAnimation.md +36 -0
  124. data/docs/InputMediaAudio.md +34 -0
  125. data/docs/InputMediaDocument.md +30 -0
  126. data/docs/InputMediaPhoto.md +28 -0
  127. data/docs/InputMediaVideo.md +38 -0
  128. data/docs/InputSticker.md +26 -0
  129. data/docs/InputTextMessageContent.md +24 -0
  130. data/docs/InputVenueMessageContent.md +32 -0
  131. data/docs/Invoice.md +26 -0
  132. data/docs/KeyboardButton.md +30 -0
  133. data/docs/KeyboardButtonPollType.md +18 -0
  134. data/docs/KeyboardButtonRequestChat.md +38 -0
  135. data/docs/KeyboardButtonRequestUsers.md +30 -0
  136. data/docs/LabeledPrice.md +20 -0
  137. data/docs/LinkPreviewOptions.md +26 -0
  138. data/docs/Location.md +28 -0
  139. data/docs/LoginUrl.md +24 -0
  140. data/docs/MaskPosition.md +24 -0
  141. data/docs/MenuButtonCommands.md +18 -0
  142. data/docs/MenuButtonDefault.md +18 -0
  143. data/docs/MenuButtonWebApp.md +22 -0
  144. data/docs/Message.md +176 -0
  145. data/docs/MessageAutoDeleteTimerChanged.md +18 -0
  146. data/docs/MessageEntity.md +30 -0
  147. data/docs/MessageId.md +18 -0
  148. data/docs/MessageOriginChannel.md +26 -0
  149. data/docs/MessageOriginChat.md +24 -0
  150. data/docs/MessageOriginHiddenUser.md +22 -0
  151. data/docs/MessageOriginUser.md +22 -0
  152. data/docs/MessageReactionCountUpdated.md +24 -0
  153. data/docs/MessageReactionUpdated.md +30 -0
  154. data/docs/OrderInfo.md +24 -0
  155. data/docs/PassportData.md +20 -0
  156. data/docs/PassportElementErrorDataField.md +26 -0
  157. data/docs/PassportElementErrorFile.md +24 -0
  158. data/docs/PassportElementErrorFiles.md +24 -0
  159. data/docs/PassportElementErrorFrontSide.md +24 -0
  160. data/docs/PassportElementErrorReverseSide.md +24 -0
  161. data/docs/PassportElementErrorSelfie.md +24 -0
  162. data/docs/PassportElementErrorTranslationFile.md +24 -0
  163. data/docs/PassportElementErrorTranslationFiles.md +24 -0
  164. data/docs/PassportElementErrorUnspecified.md +24 -0
  165. data/docs/PassportFile.md +24 -0
  166. data/docs/PhotoSize.md +26 -0
  167. data/docs/Poll.md +42 -0
  168. data/docs/PollAnswer.md +24 -0
  169. data/docs/PollOption.md +20 -0
  170. data/docs/PreCheckoutQuery.md +30 -0
  171. data/docs/ProximityAlertTriggered.md +22 -0
  172. data/docs/ReactionCount.md +20 -0
  173. data/docs/ReactionTypeCustomEmoji.md +20 -0
  174. data/docs/ReactionTypeEmoji.md +20 -0
  175. data/docs/ReplyKeyboardMarkup.md +28 -0
  176. data/docs/ReplyKeyboardRemove.md +20 -0
  177. data/docs/ReplyParameters.md +30 -0
  178. data/docs/ResponseParameters.md +20 -0
  179. data/docs/SendMediaGroup200Response.md +20 -0
  180. data/docs/SendMediaGroupMediaParameterValue.md +53 -0
  181. data/docs/SendMessage200Response.md +20 -0
  182. data/docs/SendMessageChatIdParameterValue.md +49 -0
  183. data/docs/SendMessageReplyMarkupParameterValue.md +53 -0
  184. data/docs/SendPhotoPhotoParameterValue.md +49 -0
  185. data/docs/SentWebAppMessage.md +18 -0
  186. data/docs/SetWebhook200Response.md +20 -0
  187. data/docs/SharedUser.md +26 -0
  188. data/docs/ShippingAddress.md +28 -0
  189. data/docs/ShippingOption.md +22 -0
  190. data/docs/ShippingQuery.md +24 -0
  191. data/docs/Sticker.md +46 -0
  192. data/docs/StickerSet.md +26 -0
  193. data/docs/StopPoll200Response.md +20 -0
  194. data/docs/Story.md +20 -0
  195. data/docs/SuccessfulPayment.md +30 -0
  196. data/docs/SwitchInlineQueryChosenChat.md +26 -0
  197. data/docs/TextQuote.md +24 -0
  198. data/docs/Update.md +62 -0
  199. data/docs/User.md +40 -0
  200. data/docs/UserChatBoosts.md +18 -0
  201. data/docs/UserProfilePhotos.md +20 -0
  202. data/docs/UsersShared.md +20 -0
  203. data/docs/Venue.md +30 -0
  204. data/docs/Video.md +34 -0
  205. data/docs/VideoChatEnded.md +18 -0
  206. data/docs/VideoChatParticipantsInvited.md +18 -0
  207. data/docs/VideoChatScheduled.md +18 -0
  208. data/docs/VideoNote.md +28 -0
  209. data/docs/Voice.md +26 -0
  210. data/docs/WebAppData.md +20 -0
  211. data/docs/WebAppInfo.md +18 -0
  212. data/docs/WebhookInfo.md +34 -0
  213. data/docs/WriteAccessAllowed.md +22 -0
  214. data/git_push.sh +57 -0
  215. data/lib/telegram-bot/api/default_api.rb +9305 -0
  216. data/lib/telegram-bot/api_client.rb +393 -0
  217. data/lib/telegram-bot/api_error.rb +58 -0
  218. data/lib/telegram-bot/configuration.rb +307 -0
  219. data/lib/telegram-bot/models/animation.rb +331 -0
  220. data/lib/telegram-bot/models/answer_web_app_query200_response.rb +223 -0
  221. data/lib/telegram-bot/models/audio.rb +317 -0
  222. data/lib/telegram-bot/models/birthdate.rb +250 -0
  223. data/lib/telegram-bot/models/bot_command.rb +240 -0
  224. data/lib/telegram-bot/models/bot_command_scope_all_chat_administrators.rb +223 -0
  225. data/lib/telegram-bot/models/bot_command_scope_all_group_chats.rb +223 -0
  226. data/lib/telegram-bot/models/bot_command_scope_all_private_chats.rb +223 -0
  227. data/lib/telegram-bot/models/bot_command_scope_chat.rb +242 -0
  228. data/lib/telegram-bot/models/bot_command_scope_chat_administrators.rb +242 -0
  229. data/lib/telegram-bot/models/bot_command_scope_chat_member.rb +259 -0
  230. data/lib/telegram-bot/models/bot_command_scope_default.rb +223 -0
  231. data/lib/telegram-bot/models/bot_description.rb +223 -0
  232. data/lib/telegram-bot/models/bot_name.rb +223 -0
  233. data/lib/telegram-bot/models/bot_short_description.rb +223 -0
  234. data/lib/telegram-bot/models/business_connection.rb +308 -0
  235. data/lib/telegram-bot/models/business_intro.rb +236 -0
  236. data/lib/telegram-bot/models/business_location.rb +233 -0
  237. data/lib/telegram-bot/models/business_messages_deleted.rb +259 -0
  238. data/lib/telegram-bot/models/business_opening_hours.rb +242 -0
  239. data/lib/telegram-bot/models/business_opening_hours_interval.rb +240 -0
  240. data/lib/telegram-bot/models/callback_query.rb +297 -0
  241. data/lib/telegram-bot/models/chat.rb +644 -0
  242. data/lib/telegram-bot/models/chat_administrator_rights.rb +433 -0
  243. data/lib/telegram-bot/models/chat_boost.rb +274 -0
  244. data/lib/telegram-bot/models/chat_boost_added.rb +223 -0
  245. data/lib/telegram-bot/models/chat_boost_removed.rb +274 -0
  246. data/lib/telegram-bot/models/chat_boost_source_gift_code.rb +240 -0
  247. data/lib/telegram-bot/models/chat_boost_source_giveaway.rb +260 -0
  248. data/lib/telegram-bot/models/chat_boost_source_premium.rb +240 -0
  249. data/lib/telegram-bot/models/chat_boost_updated.rb +240 -0
  250. data/lib/telegram-bot/models/chat_invite_link.rb +331 -0
  251. data/lib/telegram-bot/models/chat_join_request.rb +294 -0
  252. data/lib/telegram-bot/models/chat_location.rb +240 -0
  253. data/lib/telegram-bot/models/chat_member_administrator.rb +494 -0
  254. data/lib/telegram-bot/models/chat_member_banned.rb +257 -0
  255. data/lib/telegram-bot/models/chat_member_left.rb +240 -0
  256. data/lib/telegram-bot/models/chat_member_member.rb +240 -0
  257. data/lib/telegram-bot/models/chat_member_owner.rb +267 -0
  258. data/lib/telegram-bot/models/chat_member_restricted.rb +512 -0
  259. data/lib/telegram-bot/models/chat_member_updated.rb +311 -0
  260. data/lib/telegram-bot/models/chat_permissions.rb +346 -0
  261. data/lib/telegram-bot/models/chat_photo.rb +274 -0
  262. data/lib/telegram-bot/models/chat_shared.rb +272 -0
  263. data/lib/telegram-bot/models/chosen_inline_result.rb +277 -0
  264. data/lib/telegram-bot/models/contact.rb +270 -0
  265. data/lib/telegram-bot/models/copy_message200_response.rb +223 -0
  266. data/lib/telegram-bot/models/create_chat_invite_link200_response.rb +223 -0
  267. data/lib/telegram-bot/models/create_forum_topic200_response.rb +223 -0
  268. data/lib/telegram-bot/models/dice.rb +240 -0
  269. data/lib/telegram-bot/models/document.rb +280 -0
  270. data/lib/telegram-bot/models/edit_message_text200_response.rb +225 -0
  271. data/lib/telegram-bot/models/edit_message_text200_response_result_value.rb +105 -0
  272. data/lib/telegram-bot/models/encrypted_credentials.rb +257 -0
  273. data/lib/telegram-bot/models/encrypted_passport_element.rb +324 -0
  274. data/lib/telegram-bot/models/export_chat_invite_link200_response.rb +223 -0
  275. data/lib/telegram-bot/models/external_reply_info.rb +445 -0
  276. data/lib/telegram-bot/models/file.rb +260 -0
  277. data/lib/telegram-bot/models/force_reply.rb +243 -0
  278. data/lib/telegram-bot/models/forum_topic.rb +267 -0
  279. data/lib/telegram-bot/models/forum_topic_created.rb +250 -0
  280. data/lib/telegram-bot/models/forum_topic_edited.rb +226 -0
  281. data/lib/telegram-bot/models/forward_messages200_response.rb +225 -0
  282. data/lib/telegram-bot/models/game.rb +291 -0
  283. data/lib/telegram-bot/models/game_high_score.rb +257 -0
  284. data/lib/telegram-bot/models/get_business_connection200_response.rb +223 -0
  285. data/lib/telegram-bot/models/get_chat200_response.rb +223 -0
  286. data/lib/telegram-bot/models/get_chat_administrators200_response.rb +225 -0
  287. data/lib/telegram-bot/models/get_chat_member200_response.rb +224 -0
  288. data/lib/telegram-bot/models/get_chat_member_count200_response.rb +223 -0
  289. data/lib/telegram-bot/models/get_chat_menu_button200_response.rb +224 -0
  290. data/lib/telegram-bot/models/get_file200_response.rb +223 -0
  291. data/lib/telegram-bot/models/get_forum_topic_icon_stickers200_response.rb +225 -0
  292. data/lib/telegram-bot/models/get_game_high_scores200_response.rb +225 -0
  293. data/lib/telegram-bot/models/get_me200_response.rb +223 -0
  294. data/lib/telegram-bot/models/get_my_commands200_response.rb +225 -0
  295. data/lib/telegram-bot/models/get_my_default_administrator_rights200_response.rb +223 -0
  296. data/lib/telegram-bot/models/get_my_description200_response.rb +223 -0
  297. data/lib/telegram-bot/models/get_my_name200_response.rb +223 -0
  298. data/lib/telegram-bot/models/get_my_short_description200_response.rb +223 -0
  299. data/lib/telegram-bot/models/get_sticker_set200_response.rb +223 -0
  300. data/lib/telegram-bot/models/get_updates200_response.rb +225 -0
  301. data/lib/telegram-bot/models/get_updates4_xx_response.rb +232 -0
  302. data/lib/telegram-bot/models/get_user_chat_boosts200_response.rb +223 -0
  303. data/lib/telegram-bot/models/get_user_profile_photos200_response.rb +223 -0
  304. data/lib/telegram-bot/models/get_webhook_info200_response.rb +223 -0
  305. data/lib/telegram-bot/models/giveaway.rb +311 -0
  306. data/lib/telegram-bot/models/giveaway_completed.rb +243 -0
  307. data/lib/telegram-bot/models/giveaway_winners.rb +353 -0
  308. data/lib/telegram-bot/models/inaccessible_message.rb +257 -0
  309. data/lib/telegram-bot/models/inline_keyboard_button.rb +313 -0
  310. data/lib/telegram-bot/models/inline_keyboard_markup.rb +225 -0
  311. data/lib/telegram-bot/models/inline_query.rb +294 -0
  312. data/lib/telegram-bot/models/inline_query_result_article.rb +344 -0
  313. data/lib/telegram-bot/models/inline_query_result_audio.rb +346 -0
  314. data/lib/telegram-bot/models/inline_query_result_cached_audio.rb +309 -0
  315. data/lib/telegram-bot/models/inline_query_result_cached_document.rb +336 -0
  316. data/lib/telegram-bot/models/inline_query_result_cached_gif.rb +319 -0
  317. data/lib/telegram-bot/models/inline_query_result_cached_mpeg4_gif.rb +319 -0
  318. data/lib/telegram-bot/models/inline_query_result_cached_photo.rb +329 -0
  319. data/lib/telegram-bot/models/inline_query_result_cached_sticker.rb +277 -0
  320. data/lib/telegram-bot/models/inline_query_result_cached_video.rb +336 -0
  321. data/lib/telegram-bot/models/inline_query_result_cached_voice.rb +326 -0
  322. data/lib/telegram-bot/models/inline_query_result_contact.rb +344 -0
  323. data/lib/telegram-bot/models/inline_query_result_document.rb +383 -0
  324. data/lib/telegram-bot/models/inline_query_result_game.rb +267 -0
  325. data/lib/telegram-bot/models/inline_query_result_gif.rb +376 -0
  326. data/lib/telegram-bot/models/inline_query_result_location.rb +381 -0
  327. data/lib/telegram-bot/models/inline_query_result_mpeg4_gif.rb +376 -0
  328. data/lib/telegram-bot/models/inline_query_result_photo.rb +366 -0
  329. data/lib/telegram-bot/models/inline_query_result_venue.rb +398 -0
  330. data/lib/telegram-bot/models/inline_query_result_video.rb +400 -0
  331. data/lib/telegram-bot/models/inline_query_result_voice.rb +336 -0
  332. data/lib/telegram-bot/models/inline_query_results_button.rb +243 -0
  333. data/lib/telegram-bot/models/input_contact_message_content.rb +260 -0
  334. data/lib/telegram-bot/models/input_invoice_message_content.rb +452 -0
  335. data/lib/telegram-bot/models/input_location_message_content.rb +280 -0
  336. data/lib/telegram-bot/models/input_media_animation.rb +324 -0
  337. data/lib/telegram-bot/models/input_media_audio.rb +314 -0
  338. data/lib/telegram-bot/models/input_media_document.rb +294 -0
  339. data/lib/telegram-bot/models/input_media_photo.rb +282 -0
  340. data/lib/telegram-bot/models/input_media_video.rb +334 -0
  341. data/lib/telegram-bot/models/input_sticker.rb +283 -0
  342. data/lib/telegram-bot/models/input_text_message_content.rb +255 -0
  343. data/lib/telegram-bot/models/input_venue_message_content.rb +314 -0
  344. data/lib/telegram-bot/models/invoice.rb +291 -0
  345. data/lib/telegram-bot/models/keyboard_button.rb +283 -0
  346. data/lib/telegram-bot/models/keyboard_button_poll_type.rb +216 -0
  347. data/lib/telegram-bot/models/keyboard_button_request_chat.rb +330 -0
  348. data/lib/telegram-bot/models/keyboard_button_request_users.rb +283 -0
  349. data/lib/telegram-bot/models/labeled_price.rb +240 -0
  350. data/lib/telegram-bot/models/link_preview_options.rb +256 -0
  351. data/lib/telegram-bot/models/location.rb +280 -0
  352. data/lib/telegram-bot/models/login_url.rb +253 -0
  353. data/lib/telegram-bot/models/mask_position.rb +274 -0
  354. data/lib/telegram-bot/models/menu_button_commands.rb +223 -0
  355. data/lib/telegram-bot/models/menu_button_default.rb +223 -0
  356. data/lib/telegram-bot/models/menu_button_web_app.rb +257 -0
  357. data/lib/telegram-bot/models/message.rb +1037 -0
  358. data/lib/telegram-bot/models/message_auto_delete_timer_changed.rb +223 -0
  359. data/lib/telegram-bot/models/message_entity.rb +297 -0
  360. data/lib/telegram-bot/models/message_id.rb +223 -0
  361. data/lib/telegram-bot/models/message_origin_channel.rb +284 -0
  362. data/lib/telegram-bot/models/message_origin_chat.rb +267 -0
  363. data/lib/telegram-bot/models/message_origin_hidden_user.rb +257 -0
  364. data/lib/telegram-bot/models/message_origin_user.rb +257 -0
  365. data/lib/telegram-bot/models/message_reaction_count_updated.rb +276 -0
  366. data/lib/telegram-bot/models/message_reaction_updated.rb +315 -0
  367. data/lib/telegram-bot/models/order_info.rb +246 -0
  368. data/lib/telegram-bot/models/passport_data.rb +242 -0
  369. data/lib/telegram-bot/models/passport_element_error_data_field.rb +291 -0
  370. data/lib/telegram-bot/models/passport_element_error_file.rb +274 -0
  371. data/lib/telegram-bot/models/passport_element_error_files.rb +276 -0
  372. data/lib/telegram-bot/models/passport_element_error_front_side.rb +274 -0
  373. data/lib/telegram-bot/models/passport_element_error_reverse_side.rb +274 -0
  374. data/lib/telegram-bot/models/passport_element_error_selfie.rb +274 -0
  375. data/lib/telegram-bot/models/passport_element_error_translation_file.rb +274 -0
  376. data/lib/telegram-bot/models/passport_element_error_translation_files.rb +276 -0
  377. data/lib/telegram-bot/models/passport_element_error_unspecified.rb +274 -0
  378. data/lib/telegram-bot/models/passport_file.rb +274 -0
  379. data/lib/telegram-bot/models/photo_size.rb +284 -0
  380. data/lib/telegram-bot/models/poll.rb +396 -0
  381. data/lib/telegram-bot/models/poll_answer.rb +262 -0
  382. data/lib/telegram-bot/models/poll_option.rb +240 -0
  383. data/lib/telegram-bot/models/pre_checkout_query.rb +311 -0
  384. data/lib/telegram-bot/models/proximity_alert_triggered.rb +257 -0
  385. data/lib/telegram-bot/models/reaction_count.rb +240 -0
  386. data/lib/telegram-bot/models/reaction_type_custom_emoji.rb +240 -0
  387. data/lib/telegram-bot/models/reaction_type_emoji.rb +240 -0
  388. data/lib/telegram-bot/models/reply_keyboard_markup.rb +275 -0
  389. data/lib/telegram-bot/models/reply_keyboard_remove.rb +233 -0
  390. data/lib/telegram-bot/models/reply_parameters.rb +287 -0
  391. data/lib/telegram-bot/models/response_parameters.rb +226 -0
  392. data/lib/telegram-bot/models/send_media_group200_response.rb +225 -0
  393. data/lib/telegram-bot/models/send_media_group_media_parameter_value.rb +107 -0
  394. data/lib/telegram-bot/models/send_message200_response.rb +223 -0
  395. data/lib/telegram-bot/models/send_message_chat_id_parameter_value.rb +105 -0
  396. data/lib/telegram-bot/models/send_message_reply_markup_parameter_value.rb +107 -0
  397. data/lib/telegram-bot/models/send_photo_photo_parameter_value.rb +105 -0
  398. data/lib/telegram-bot/models/sent_web_app_message.rb +216 -0
  399. data/lib/telegram-bot/models/set_webhook200_response.rb +223 -0
  400. data/lib/telegram-bot/models/shared_user.rb +265 -0
  401. data/lib/telegram-bot/models/shipping_address.rb +308 -0
  402. data/lib/telegram-bot/models/shipping_option.rb +259 -0
  403. data/lib/telegram-bot/models/shipping_query.rb +274 -0
  404. data/lib/telegram-bot/models/sticker.rb +405 -0
  405. data/lib/telegram-bot/models/sticker_set.rb +286 -0
  406. data/lib/telegram-bot/models/stop_poll200_response.rb +223 -0
  407. data/lib/telegram-bot/models/story.rb +240 -0
  408. data/lib/telegram-bot/models/successful_payment.rb +311 -0
  409. data/lib/telegram-bot/models/switch_inline_query_chosen_chat.rb +256 -0
  410. data/lib/telegram-bot/models/text_quote.rb +262 -0
  411. data/lib/telegram-bot/models/update.rb +443 -0
  412. data/lib/telegram-bot/models/user.rb +347 -0
  413. data/lib/telegram-bot/models/user_chat_boosts.rb +225 -0
  414. data/lib/telegram-bot/models/user_profile_photos.rb +242 -0
  415. data/lib/telegram-bot/models/users_shared.rb +242 -0
  416. data/lib/telegram-bot/models/venue.rb +297 -0
  417. data/lib/telegram-bot/models/video.rb +331 -0
  418. data/lib/telegram-bot/models/video_chat_ended.rb +223 -0
  419. data/lib/telegram-bot/models/video_chat_participants_invited.rb +225 -0
  420. data/lib/telegram-bot/models/video_chat_scheduled.rb +223 -0
  421. data/lib/telegram-bot/models/video_note.rb +294 -0
  422. data/lib/telegram-bot/models/voice.rb +277 -0
  423. data/lib/telegram-bot/models/web_app_data.rb +240 -0
  424. data/lib/telegram-bot/models/web_app_info.rb +223 -0
  425. data/lib/telegram-bot/models/webhook_info.rb +319 -0
  426. data/lib/telegram-bot/models/write_access_allowed.rb +236 -0
  427. data/lib/telegram-bot/version.rb +15 -0
  428. data/lib/telegram-bot.rb +248 -0
  429. data/spec/api/default_api_spec.rb +1904 -0
  430. data/spec/models/animation_spec.rb +84 -0
  431. data/spec/models/answer_web_app_query200_response_spec.rb +42 -0
  432. data/spec/models/audio_spec.rb +84 -0
  433. data/spec/models/birthdate_spec.rb +48 -0
  434. data/spec/models/bot_command_scope_all_chat_administrators_spec.rb +36 -0
  435. data/spec/models/bot_command_scope_all_group_chats_spec.rb +36 -0
  436. data/spec/models/bot_command_scope_all_private_chats_spec.rb +36 -0
  437. data/spec/models/bot_command_scope_chat_administrators_spec.rb +42 -0
  438. data/spec/models/bot_command_scope_chat_member_spec.rb +48 -0
  439. data/spec/models/bot_command_scope_chat_spec.rb +42 -0
  440. data/spec/models/bot_command_scope_default_spec.rb +36 -0
  441. data/spec/models/bot_command_spec.rb +42 -0
  442. data/spec/models/bot_description_spec.rb +36 -0
  443. data/spec/models/bot_name_spec.rb +36 -0
  444. data/spec/models/bot_short_description_spec.rb +36 -0
  445. data/spec/models/business_connection_spec.rb +66 -0
  446. data/spec/models/business_intro_spec.rb +48 -0
  447. data/spec/models/business_location_spec.rb +42 -0
  448. data/spec/models/business_messages_deleted_spec.rb +48 -0
  449. data/spec/models/business_opening_hours_interval_spec.rb +42 -0
  450. data/spec/models/business_opening_hours_spec.rb +42 -0
  451. data/spec/models/callback_query_spec.rb +72 -0
  452. data/spec/models/chat_administrator_rights_spec.rb +120 -0
  453. data/spec/models/chat_boost_added_spec.rb +36 -0
  454. data/spec/models/chat_boost_removed_spec.rb +54 -0
  455. data/spec/models/chat_boost_source_gift_code_spec.rb +42 -0
  456. data/spec/models/chat_boost_source_giveaway_spec.rb +54 -0
  457. data/spec/models/chat_boost_source_premium_spec.rb +42 -0
  458. data/spec/models/chat_boost_spec.rb +54 -0
  459. data/spec/models/chat_boost_updated_spec.rb +42 -0
  460. data/spec/models/chat_invite_link_spec.rb +84 -0
  461. data/spec/models/chat_join_request_spec.rb +66 -0
  462. data/spec/models/chat_location_spec.rb +42 -0
  463. data/spec/models/chat_member_administrator_spec.rb +144 -0
  464. data/spec/models/chat_member_banned_spec.rb +48 -0
  465. data/spec/models/chat_member_left_spec.rb +42 -0
  466. data/spec/models/chat_member_member_spec.rb +42 -0
  467. data/spec/models/chat_member_owner_spec.rb +54 -0
  468. data/spec/models/chat_member_restricted_spec.rb +138 -0
  469. data/spec/models/chat_member_updated_spec.rb +72 -0
  470. data/spec/models/chat_permissions_spec.rb +114 -0
  471. data/spec/models/chat_photo_spec.rb +54 -0
  472. data/spec/models/chat_shared_spec.rb +60 -0
  473. data/spec/models/chat_spec.rb +282 -0
  474. data/spec/models/chosen_inline_result_spec.rb +60 -0
  475. data/spec/models/contact_spec.rb +60 -0
  476. data/spec/models/copy_message200_response_spec.rb +42 -0
  477. data/spec/models/create_chat_invite_link200_response_spec.rb +42 -0
  478. data/spec/models/create_forum_topic200_response_spec.rb +42 -0
  479. data/spec/models/dice_spec.rb +42 -0
  480. data/spec/models/document_spec.rb +66 -0
  481. data/spec/models/edit_message_text200_response_result_value_spec.rb +32 -0
  482. data/spec/models/edit_message_text200_response_spec.rb +42 -0
  483. data/spec/models/encrypted_credentials_spec.rb +48 -0
  484. data/spec/models/encrypted_passport_element_spec.rb +90 -0
  485. data/spec/models/export_chat_invite_link200_response_spec.rb +42 -0
  486. data/spec/models/external_reply_info_spec.rb +168 -0
  487. data/spec/models/file_spec.rb +54 -0
  488. data/spec/models/force_reply_spec.rb +48 -0
  489. data/spec/models/forum_topic_created_spec.rb +48 -0
  490. data/spec/models/forum_topic_edited_spec.rb +42 -0
  491. data/spec/models/forum_topic_spec.rb +54 -0
  492. data/spec/models/forward_messages200_response_spec.rb +42 -0
  493. data/spec/models/game_high_score_spec.rb +48 -0
  494. data/spec/models/game_spec.rb +66 -0
  495. data/spec/models/get_business_connection200_response_spec.rb +42 -0
  496. data/spec/models/get_chat200_response_spec.rb +42 -0
  497. data/spec/models/get_chat_administrators200_response_spec.rb +42 -0
  498. data/spec/models/get_chat_member200_response_spec.rb +42 -0
  499. data/spec/models/get_chat_member_count200_response_spec.rb +42 -0
  500. data/spec/models/get_chat_menu_button200_response_spec.rb +42 -0
  501. data/spec/models/get_file200_response_spec.rb +42 -0
  502. data/spec/models/get_forum_topic_icon_stickers200_response_spec.rb +42 -0
  503. data/spec/models/get_game_high_scores200_response_spec.rb +42 -0
  504. data/spec/models/get_me200_response_spec.rb +42 -0
  505. data/spec/models/get_my_commands200_response_spec.rb +42 -0
  506. data/spec/models/get_my_default_administrator_rights200_response_spec.rb +42 -0
  507. data/spec/models/get_my_description200_response_spec.rb +42 -0
  508. data/spec/models/get_my_name200_response_spec.rb +42 -0
  509. data/spec/models/get_my_short_description200_response_spec.rb +42 -0
  510. data/spec/models/get_sticker_set200_response_spec.rb +42 -0
  511. data/spec/models/get_updates200_response_spec.rb +42 -0
  512. data/spec/models/get_updates4_xx_response_spec.rb +48 -0
  513. data/spec/models/get_user_chat_boosts200_response_spec.rb +42 -0
  514. data/spec/models/get_user_profile_photos200_response_spec.rb +42 -0
  515. data/spec/models/get_webhook_info200_response_spec.rb +42 -0
  516. data/spec/models/giveaway_completed_spec.rb +48 -0
  517. data/spec/models/giveaway_spec.rb +78 -0
  518. data/spec/models/giveaway_winners_spec.rb +96 -0
  519. data/spec/models/inaccessible_message_spec.rb +48 -0
  520. data/spec/models/inline_keyboard_button_spec.rb +90 -0
  521. data/spec/models/inline_keyboard_markup_spec.rb +36 -0
  522. data/spec/models/inline_query_result_article_spec.rb +96 -0
  523. data/spec/models/inline_query_result_audio_spec.rb +96 -0
  524. data/spec/models/inline_query_result_cached_audio_spec.rb +78 -0
  525. data/spec/models/inline_query_result_cached_document_spec.rb +90 -0
  526. data/spec/models/inline_query_result_cached_gif_spec.rb +84 -0
  527. data/spec/models/inline_query_result_cached_mpeg4_gif_spec.rb +84 -0
  528. data/spec/models/inline_query_result_cached_photo_spec.rb +90 -0
  529. data/spec/models/inline_query_result_cached_sticker_spec.rb +60 -0
  530. data/spec/models/inline_query_result_cached_video_spec.rb +90 -0
  531. data/spec/models/inline_query_result_cached_voice_spec.rb +84 -0
  532. data/spec/models/inline_query_result_contact_spec.rb +96 -0
  533. data/spec/models/inline_query_result_document_spec.rb +114 -0
  534. data/spec/models/inline_query_result_game_spec.rb +54 -0
  535. data/spec/models/inline_query_result_gif_spec.rb +114 -0
  536. data/spec/models/inline_query_result_location_spec.rb +114 -0
  537. data/spec/models/inline_query_result_mpeg4_gif_spec.rb +114 -0
  538. data/spec/models/inline_query_result_photo_spec.rb +108 -0
  539. data/spec/models/inline_query_result_venue_spec.rb +120 -0
  540. data/spec/models/inline_query_result_video_spec.rb +120 -0
  541. data/spec/models/inline_query_result_voice_spec.rb +90 -0
  542. data/spec/models/inline_query_results_button_spec.rb +48 -0
  543. data/spec/models/inline_query_spec.rb +66 -0
  544. data/spec/models/input_contact_message_content_spec.rb +54 -0
  545. data/spec/models/input_invoice_message_content_spec.rb +150 -0
  546. data/spec/models/input_location_message_content_spec.rb +66 -0
  547. data/spec/models/input_media_animation_spec.rb +90 -0
  548. data/spec/models/input_media_audio_spec.rb +84 -0
  549. data/spec/models/input_media_document_spec.rb +72 -0
  550. data/spec/models/input_media_photo_spec.rb +66 -0
  551. data/spec/models/input_media_video_spec.rb +96 -0
  552. data/spec/models/input_sticker_spec.rb +60 -0
  553. data/spec/models/input_text_message_content_spec.rb +54 -0
  554. data/spec/models/input_venue_message_content_spec.rb +78 -0
  555. data/spec/models/invoice_spec.rb +60 -0
  556. data/spec/models/keyboard_button_poll_type_spec.rb +36 -0
  557. data/spec/models/keyboard_button_request_chat_spec.rb +96 -0
  558. data/spec/models/keyboard_button_request_users_spec.rb +72 -0
  559. data/spec/models/keyboard_button_spec.rb +72 -0
  560. data/spec/models/labeled_price_spec.rb +42 -0
  561. data/spec/models/link_preview_options_spec.rb +60 -0
  562. data/spec/models/location_spec.rb +66 -0
  563. data/spec/models/login_url_spec.rb +54 -0
  564. data/spec/models/mask_position_spec.rb +54 -0
  565. data/spec/models/menu_button_commands_spec.rb +36 -0
  566. data/spec/models/menu_button_default_spec.rb +36 -0
  567. data/spec/models/menu_button_web_app_spec.rb +48 -0
  568. data/spec/models/message_auto_delete_timer_changed_spec.rb +36 -0
  569. data/spec/models/message_entity_spec.rb +72 -0
  570. data/spec/models/message_id_spec.rb +36 -0
  571. data/spec/models/message_origin_channel_spec.rb +60 -0
  572. data/spec/models/message_origin_chat_spec.rb +54 -0
  573. data/spec/models/message_origin_hidden_user_spec.rb +48 -0
  574. data/spec/models/message_origin_user_spec.rb +48 -0
  575. data/spec/models/message_reaction_count_updated_spec.rb +54 -0
  576. data/spec/models/message_reaction_updated_spec.rb +72 -0
  577. data/spec/models/message_spec.rb +510 -0
  578. data/spec/models/order_info_spec.rb +54 -0
  579. data/spec/models/passport_data_spec.rb +42 -0
  580. data/spec/models/passport_element_error_data_field_spec.rb +60 -0
  581. data/spec/models/passport_element_error_file_spec.rb +54 -0
  582. data/spec/models/passport_element_error_files_spec.rb +54 -0
  583. data/spec/models/passport_element_error_front_side_spec.rb +54 -0
  584. data/spec/models/passport_element_error_reverse_side_spec.rb +54 -0
  585. data/spec/models/passport_element_error_selfie_spec.rb +54 -0
  586. data/spec/models/passport_element_error_translation_file_spec.rb +54 -0
  587. data/spec/models/passport_element_error_translation_files_spec.rb +54 -0
  588. data/spec/models/passport_element_error_unspecified_spec.rb +54 -0
  589. data/spec/models/passport_file_spec.rb +54 -0
  590. data/spec/models/photo_size_spec.rb +60 -0
  591. data/spec/models/poll_answer_spec.rb +54 -0
  592. data/spec/models/poll_option_spec.rb +42 -0
  593. data/spec/models/poll_spec.rb +108 -0
  594. data/spec/models/pre_checkout_query_spec.rb +72 -0
  595. data/spec/models/proximity_alert_triggered_spec.rb +48 -0
  596. data/spec/models/reaction_count_spec.rb +42 -0
  597. data/spec/models/reaction_type_custom_emoji_spec.rb +42 -0
  598. data/spec/models/reaction_type_emoji_spec.rb +42 -0
  599. data/spec/models/reply_keyboard_markup_spec.rb +66 -0
  600. data/spec/models/reply_keyboard_remove_spec.rb +42 -0
  601. data/spec/models/reply_parameters_spec.rb +72 -0
  602. data/spec/models/response_parameters_spec.rb +42 -0
  603. data/spec/models/send_media_group200_response_spec.rb +42 -0
  604. data/spec/models/send_media_group_media_parameter_value_spec.rb +32 -0
  605. data/spec/models/send_message200_response_spec.rb +42 -0
  606. data/spec/models/send_message_chat_id_parameter_value_spec.rb +32 -0
  607. data/spec/models/send_message_reply_markup_parameter_value_spec.rb +32 -0
  608. data/spec/models/send_photo_photo_parameter_value_spec.rb +32 -0
  609. data/spec/models/sent_web_app_message_spec.rb +36 -0
  610. data/spec/models/set_webhook200_response_spec.rb +42 -0
  611. data/spec/models/shared_user_spec.rb +60 -0
  612. data/spec/models/shipping_address_spec.rb +66 -0
  613. data/spec/models/shipping_option_spec.rb +48 -0
  614. data/spec/models/shipping_query_spec.rb +54 -0
  615. data/spec/models/sticker_set_spec.rb +60 -0
  616. data/spec/models/sticker_spec.rb +120 -0
  617. data/spec/models/stop_poll200_response_spec.rb +42 -0
  618. data/spec/models/story_spec.rb +42 -0
  619. data/spec/models/successful_payment_spec.rb +72 -0
  620. data/spec/models/switch_inline_query_chosen_chat_spec.rb +60 -0
  621. data/spec/models/text_quote_spec.rb +54 -0
  622. data/spec/models/update_spec.rb +168 -0
  623. data/spec/models/user_chat_boosts_spec.rb +36 -0
  624. data/spec/models/user_profile_photos_spec.rb +42 -0
  625. data/spec/models/user_spec.rb +102 -0
  626. data/spec/models/users_shared_spec.rb +42 -0
  627. data/spec/models/venue_spec.rb +72 -0
  628. data/spec/models/video_chat_ended_spec.rb +36 -0
  629. data/spec/models/video_chat_participants_invited_spec.rb +36 -0
  630. data/spec/models/video_chat_scheduled_spec.rb +36 -0
  631. data/spec/models/video_note_spec.rb +66 -0
  632. data/spec/models/video_spec.rb +84 -0
  633. data/spec/models/voice_spec.rb +60 -0
  634. data/spec/models/web_app_data_spec.rb +42 -0
  635. data/spec/models/web_app_info_spec.rb +36 -0
  636. data/spec/models/webhook_info_spec.rb +84 -0
  637. data/spec/models/write_access_allowed_spec.rb +48 -0
  638. data/spec/spec_helper.rb +111 -0
  639. data/telegram-bot-7.2.0.gem +0 -0
  640. data/telegram-bot-openapi-7.2.0.gem +0 -0
  641. data/telegram-bot.gemspec +40 -0
  642. metadata +934 -0
@@ -0,0 +1,346 @@
1
+ =begin
2
+ #telegram-bot-api
3
+
4
+ #Unofficial telegram-bot-api OpenAPI spec. Generated from the Bot API docs at https://core.telegram.org/bots/api
5
+
6
+ The version of the OpenAPI document: Bot API 7.2
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.7.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TelegramBot
17
+ # Represents a link to an MP3 audio file. By default, this audio file will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the audio.
18
+ class InlineQueryResultAudio
19
+ # Type of the result, must be audio
20
+ attr_accessor :type
21
+
22
+ # Unique identifier for this result, 1-64 bytes
23
+ attr_accessor :id
24
+
25
+ # A valid URL for the audio file
26
+ attr_accessor :audio_url
27
+
28
+ # Title
29
+ attr_accessor :title
30
+
31
+ # Optional. Caption, 0-1024 characters after entities parsing
32
+ attr_accessor :caption
33
+
34
+ # Optional. Mode for parsing entities in the audio caption. See formatting options for more details.
35
+ attr_accessor :parse_mode
36
+
37
+ # Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode
38
+ attr_accessor :caption_entities
39
+
40
+ # Optional. Performer
41
+ attr_accessor :performer
42
+
43
+ # Optional. Audio duration in seconds
44
+ attr_accessor :audio_duration
45
+
46
+ # Optional. Inline keyboard attached to the message
47
+ attr_accessor :reply_markup
48
+
49
+ # Optional. Content of the message to be sent instead of the audio
50
+ attr_accessor :input_message_content
51
+
52
+ # Attribute mapping from ruby-style variable name to JSON key.
53
+ def self.attribute_map
54
+ {
55
+ :'type' => :'type',
56
+ :'id' => :'id',
57
+ :'audio_url' => :'audio_url',
58
+ :'title' => :'title',
59
+ :'caption' => :'caption',
60
+ :'parse_mode' => :'parse_mode',
61
+ :'caption_entities' => :'caption_entities',
62
+ :'performer' => :'performer',
63
+ :'audio_duration' => :'audio_duration',
64
+ :'reply_markup' => :'reply_markup',
65
+ :'input_message_content' => :'input_message_content'
66
+ }
67
+ end
68
+
69
+ # Returns all the JSON keys this model knows about
70
+ def self.acceptable_attributes
71
+ attribute_map.values
72
+ end
73
+
74
+ # Attribute type mapping.
75
+ def self.openapi_types
76
+ {
77
+ :'type' => :'String',
78
+ :'id' => :'String',
79
+ :'audio_url' => :'String',
80
+ :'title' => :'String',
81
+ :'caption' => :'String',
82
+ :'parse_mode' => :'String',
83
+ :'caption_entities' => :'Array<MessageEntity>',
84
+ :'performer' => :'String',
85
+ :'audio_duration' => :'Integer',
86
+ :'reply_markup' => :'InlineKeyboardMarkup',
87
+ :'input_message_content' => :'Object'
88
+ }
89
+ end
90
+
91
+ # List of attributes with nullable: true
92
+ def self.openapi_nullable
93
+ Set.new([
94
+ ])
95
+ end
96
+
97
+ # Initializes the object
98
+ # @param [Hash] attributes Model attributes in the form of hash
99
+ def initialize(attributes = {})
100
+ if (!attributes.is_a?(Hash))
101
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TelegramBot::InlineQueryResultAudio` initialize method"
102
+ end
103
+
104
+ # check to see if the attribute exists and convert string to symbol for hash key
105
+ attributes = attributes.each_with_object({}) { |(k, v), h|
106
+ if (!self.class.attribute_map.key?(k.to_sym))
107
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TelegramBot::InlineQueryResultAudio`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
108
+ end
109
+ h[k.to_sym] = v
110
+ }
111
+
112
+ if attributes.key?(:'type')
113
+ self.type = attributes[:'type']
114
+ else
115
+ self.type = nil
116
+ end
117
+
118
+ if attributes.key?(:'id')
119
+ self.id = attributes[:'id']
120
+ else
121
+ self.id = nil
122
+ end
123
+
124
+ if attributes.key?(:'audio_url')
125
+ self.audio_url = attributes[:'audio_url']
126
+ else
127
+ self.audio_url = nil
128
+ end
129
+
130
+ if attributes.key?(:'title')
131
+ self.title = attributes[:'title']
132
+ else
133
+ self.title = nil
134
+ end
135
+
136
+ if attributes.key?(:'caption')
137
+ self.caption = attributes[:'caption']
138
+ end
139
+
140
+ if attributes.key?(:'parse_mode')
141
+ self.parse_mode = attributes[:'parse_mode']
142
+ end
143
+
144
+ if attributes.key?(:'caption_entities')
145
+ if (value = attributes[:'caption_entities']).is_a?(Array)
146
+ self.caption_entities = value
147
+ end
148
+ end
149
+
150
+ if attributes.key?(:'performer')
151
+ self.performer = attributes[:'performer']
152
+ end
153
+
154
+ if attributes.key?(:'audio_duration')
155
+ self.audio_duration = attributes[:'audio_duration']
156
+ end
157
+
158
+ if attributes.key?(:'reply_markup')
159
+ self.reply_markup = attributes[:'reply_markup']
160
+ end
161
+
162
+ if attributes.key?(:'input_message_content')
163
+ self.input_message_content = attributes[:'input_message_content']
164
+ end
165
+ end
166
+
167
+ # Show invalid properties with the reasons. Usually used together with valid?
168
+ # @return Array for valid properties with the reasons
169
+ def list_invalid_properties
170
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
171
+ invalid_properties = Array.new
172
+ if @type.nil?
173
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
174
+ end
175
+
176
+ if @id.nil?
177
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
178
+ end
179
+
180
+ if @audio_url.nil?
181
+ invalid_properties.push('invalid value for "audio_url", audio_url cannot be nil.')
182
+ end
183
+
184
+ if @title.nil?
185
+ invalid_properties.push('invalid value for "title", title cannot be nil.')
186
+ end
187
+
188
+ invalid_properties
189
+ end
190
+
191
+ # Check to see if the all the properties in the model are valid
192
+ # @return true if the model is valid
193
+ def valid?
194
+ warn '[DEPRECATED] the `valid?` method is obsolete'
195
+ return false if @type.nil?
196
+ return false if @id.nil?
197
+ return false if @audio_url.nil?
198
+ return false if @title.nil?
199
+ true
200
+ end
201
+
202
+ # Checks equality by comparing each attribute.
203
+ # @param [Object] Object to be compared
204
+ def ==(o)
205
+ return true if self.equal?(o)
206
+ self.class == o.class &&
207
+ type == o.type &&
208
+ id == o.id &&
209
+ audio_url == o.audio_url &&
210
+ title == o.title &&
211
+ caption == o.caption &&
212
+ parse_mode == o.parse_mode &&
213
+ caption_entities == o.caption_entities &&
214
+ performer == o.performer &&
215
+ audio_duration == o.audio_duration &&
216
+ reply_markup == o.reply_markup &&
217
+ input_message_content == o.input_message_content
218
+ end
219
+
220
+ # @see the `==` method
221
+ # @param [Object] Object to be compared
222
+ def eql?(o)
223
+ self == o
224
+ end
225
+
226
+ # Calculates hash code according to all attributes.
227
+ # @return [Integer] Hash code
228
+ def hash
229
+ [type, id, audio_url, title, caption, parse_mode, caption_entities, performer, audio_duration, reply_markup, input_message_content].hash
230
+ end
231
+
232
+ # Builds the object from hash
233
+ # @param [Hash] attributes Model attributes in the form of hash
234
+ # @return [Object] Returns the model itself
235
+ def self.build_from_hash(attributes)
236
+ return nil unless attributes.is_a?(Hash)
237
+ attributes = attributes.transform_keys(&:to_sym)
238
+ transformed_hash = {}
239
+ openapi_types.each_pair do |key, type|
240
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
241
+ transformed_hash["#{key}"] = nil
242
+ elsif type =~ /\AArray<(.*)>/i
243
+ # check to ensure the input is an array given that the attribute
244
+ # is documented as an array but the input is not
245
+ if attributes[attribute_map[key]].is_a?(Array)
246
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
247
+ end
248
+ elsif !attributes[attribute_map[key]].nil?
249
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
250
+ end
251
+ end
252
+ new(transformed_hash)
253
+ end
254
+
255
+ # Deserializes the data based on type
256
+ # @param string type Data type
257
+ # @param string value Value to be deserialized
258
+ # @return [Object] Deserialized data
259
+ def self._deserialize(type, value)
260
+ case type.to_sym
261
+ when :Time
262
+ Time.parse(value)
263
+ when :Date
264
+ Date.parse(value)
265
+ when :String
266
+ value.to_s
267
+ when :Integer
268
+ value.to_i
269
+ when :Float
270
+ value.to_f
271
+ when :Boolean
272
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
273
+ true
274
+ else
275
+ false
276
+ end
277
+ when :Object
278
+ # generic object (usually a Hash), return directly
279
+ value
280
+ when /\AArray<(?<inner_type>.+)>\z/
281
+ inner_type = Regexp.last_match[:inner_type]
282
+ value.map { |v| _deserialize(inner_type, v) }
283
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
284
+ k_type = Regexp.last_match[:k_type]
285
+ v_type = Regexp.last_match[:v_type]
286
+ {}.tap do |hash|
287
+ value.each do |k, v|
288
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
289
+ end
290
+ end
291
+ else # model
292
+ # models (e.g. Pet) or oneOf
293
+ klass = TelegramBot.const_get(type)
294
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
295
+ end
296
+ end
297
+
298
+ # Returns the string representation of the object
299
+ # @return [String] String presentation of the object
300
+ def to_s
301
+ to_hash.to_s
302
+ end
303
+
304
+ # to_body is an alias to to_hash (backward compatibility)
305
+ # @return [Hash] Returns the object in the form of hash
306
+ def to_body
307
+ to_hash
308
+ end
309
+
310
+ # Returns the object in the form of hash
311
+ # @return [Hash] Returns the object in the form of hash
312
+ def to_hash
313
+ hash = {}
314
+ self.class.attribute_map.each_pair do |attr, param|
315
+ value = self.send(attr)
316
+ if value.nil?
317
+ is_nullable = self.class.openapi_nullable.include?(attr)
318
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
319
+ end
320
+
321
+ hash[param] = _to_hash(value)
322
+ end
323
+ hash
324
+ end
325
+
326
+ # Outputs non-array value in the form of hash
327
+ # For object, use to_hash. Otherwise, just return the value
328
+ # @param [Object] value Any valid value
329
+ # @return [Hash] Returns the value in the form of hash
330
+ def _to_hash(value)
331
+ if value.is_a?(Array)
332
+ value.compact.map { |v| _to_hash(v) }
333
+ elsif value.is_a?(Hash)
334
+ {}.tap do |hash|
335
+ value.each { |k, v| hash[k] = _to_hash(v) }
336
+ end
337
+ elsif value.respond_to? :to_hash
338
+ value.to_hash
339
+ else
340
+ value
341
+ end
342
+ end
343
+
344
+ end
345
+
346
+ end
@@ -0,0 +1,309 @@
1
+ =begin
2
+ #telegram-bot-api
3
+
4
+ #Unofficial telegram-bot-api OpenAPI spec. Generated from the Bot API docs at https://core.telegram.org/bots/api
5
+
6
+ The version of the OpenAPI document: Bot API 7.2
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.7.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TelegramBot
17
+ # Represents a link to an MP3 audio file stored on the Telegram servers. By default, this audio file will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the audio.
18
+ class InlineQueryResultCachedAudio
19
+ # Type of the result, must be audio
20
+ attr_accessor :type
21
+
22
+ # Unique identifier for this result, 1-64 bytes
23
+ attr_accessor :id
24
+
25
+ # A valid file identifier for the audio file
26
+ attr_accessor :audio_file_id
27
+
28
+ # Optional. Caption, 0-1024 characters after entities parsing
29
+ attr_accessor :caption
30
+
31
+ # Optional. Mode for parsing entities in the audio caption. See formatting options for more details.
32
+ attr_accessor :parse_mode
33
+
34
+ # Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode
35
+ attr_accessor :caption_entities
36
+
37
+ # Optional. Inline keyboard attached to the message
38
+ attr_accessor :reply_markup
39
+
40
+ # Optional. Content of the message to be sent instead of the audio
41
+ attr_accessor :input_message_content
42
+
43
+ # Attribute mapping from ruby-style variable name to JSON key.
44
+ def self.attribute_map
45
+ {
46
+ :'type' => :'type',
47
+ :'id' => :'id',
48
+ :'audio_file_id' => :'audio_file_id',
49
+ :'caption' => :'caption',
50
+ :'parse_mode' => :'parse_mode',
51
+ :'caption_entities' => :'caption_entities',
52
+ :'reply_markup' => :'reply_markup',
53
+ :'input_message_content' => :'input_message_content'
54
+ }
55
+ end
56
+
57
+ # Returns all the JSON keys this model knows about
58
+ def self.acceptable_attributes
59
+ attribute_map.values
60
+ end
61
+
62
+ # Attribute type mapping.
63
+ def self.openapi_types
64
+ {
65
+ :'type' => :'String',
66
+ :'id' => :'String',
67
+ :'audio_file_id' => :'String',
68
+ :'caption' => :'String',
69
+ :'parse_mode' => :'String',
70
+ :'caption_entities' => :'Array<MessageEntity>',
71
+ :'reply_markup' => :'InlineKeyboardMarkup',
72
+ :'input_message_content' => :'Object'
73
+ }
74
+ end
75
+
76
+ # List of attributes with nullable: true
77
+ def self.openapi_nullable
78
+ Set.new([
79
+ ])
80
+ end
81
+
82
+ # Initializes the object
83
+ # @param [Hash] attributes Model attributes in the form of hash
84
+ def initialize(attributes = {})
85
+ if (!attributes.is_a?(Hash))
86
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TelegramBot::InlineQueryResultCachedAudio` initialize method"
87
+ end
88
+
89
+ # check to see if the attribute exists and convert string to symbol for hash key
90
+ attributes = attributes.each_with_object({}) { |(k, v), h|
91
+ if (!self.class.attribute_map.key?(k.to_sym))
92
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TelegramBot::InlineQueryResultCachedAudio`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
93
+ end
94
+ h[k.to_sym] = v
95
+ }
96
+
97
+ if attributes.key?(:'type')
98
+ self.type = attributes[:'type']
99
+ else
100
+ self.type = nil
101
+ end
102
+
103
+ if attributes.key?(:'id')
104
+ self.id = attributes[:'id']
105
+ else
106
+ self.id = nil
107
+ end
108
+
109
+ if attributes.key?(:'audio_file_id')
110
+ self.audio_file_id = attributes[:'audio_file_id']
111
+ else
112
+ self.audio_file_id = nil
113
+ end
114
+
115
+ if attributes.key?(:'caption')
116
+ self.caption = attributes[:'caption']
117
+ end
118
+
119
+ if attributes.key?(:'parse_mode')
120
+ self.parse_mode = attributes[:'parse_mode']
121
+ end
122
+
123
+ if attributes.key?(:'caption_entities')
124
+ if (value = attributes[:'caption_entities']).is_a?(Array)
125
+ self.caption_entities = value
126
+ end
127
+ end
128
+
129
+ if attributes.key?(:'reply_markup')
130
+ self.reply_markup = attributes[:'reply_markup']
131
+ end
132
+
133
+ if attributes.key?(:'input_message_content')
134
+ self.input_message_content = attributes[:'input_message_content']
135
+ end
136
+ end
137
+
138
+ # Show invalid properties with the reasons. Usually used together with valid?
139
+ # @return Array for valid properties with the reasons
140
+ def list_invalid_properties
141
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
142
+ invalid_properties = Array.new
143
+ if @type.nil?
144
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
145
+ end
146
+
147
+ if @id.nil?
148
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
149
+ end
150
+
151
+ if @audio_file_id.nil?
152
+ invalid_properties.push('invalid value for "audio_file_id", audio_file_id cannot be nil.')
153
+ end
154
+
155
+ invalid_properties
156
+ end
157
+
158
+ # Check to see if the all the properties in the model are valid
159
+ # @return true if the model is valid
160
+ def valid?
161
+ warn '[DEPRECATED] the `valid?` method is obsolete'
162
+ return false if @type.nil?
163
+ return false if @id.nil?
164
+ return false if @audio_file_id.nil?
165
+ true
166
+ end
167
+
168
+ # Checks equality by comparing each attribute.
169
+ # @param [Object] Object to be compared
170
+ def ==(o)
171
+ return true if self.equal?(o)
172
+ self.class == o.class &&
173
+ type == o.type &&
174
+ id == o.id &&
175
+ audio_file_id == o.audio_file_id &&
176
+ caption == o.caption &&
177
+ parse_mode == o.parse_mode &&
178
+ caption_entities == o.caption_entities &&
179
+ reply_markup == o.reply_markup &&
180
+ input_message_content == o.input_message_content
181
+ end
182
+
183
+ # @see the `==` method
184
+ # @param [Object] Object to be compared
185
+ def eql?(o)
186
+ self == o
187
+ end
188
+
189
+ # Calculates hash code according to all attributes.
190
+ # @return [Integer] Hash code
191
+ def hash
192
+ [type, id, audio_file_id, caption, parse_mode, caption_entities, reply_markup, input_message_content].hash
193
+ end
194
+
195
+ # Builds the object from hash
196
+ # @param [Hash] attributes Model attributes in the form of hash
197
+ # @return [Object] Returns the model itself
198
+ def self.build_from_hash(attributes)
199
+ return nil unless attributes.is_a?(Hash)
200
+ attributes = attributes.transform_keys(&:to_sym)
201
+ transformed_hash = {}
202
+ openapi_types.each_pair do |key, type|
203
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
204
+ transformed_hash["#{key}"] = nil
205
+ elsif type =~ /\AArray<(.*)>/i
206
+ # check to ensure the input is an array given that the attribute
207
+ # is documented as an array but the input is not
208
+ if attributes[attribute_map[key]].is_a?(Array)
209
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
210
+ end
211
+ elsif !attributes[attribute_map[key]].nil?
212
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
213
+ end
214
+ end
215
+ new(transformed_hash)
216
+ end
217
+
218
+ # Deserializes the data based on type
219
+ # @param string type Data type
220
+ # @param string value Value to be deserialized
221
+ # @return [Object] Deserialized data
222
+ def self._deserialize(type, value)
223
+ case type.to_sym
224
+ when :Time
225
+ Time.parse(value)
226
+ when :Date
227
+ Date.parse(value)
228
+ when :String
229
+ value.to_s
230
+ when :Integer
231
+ value.to_i
232
+ when :Float
233
+ value.to_f
234
+ when :Boolean
235
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
236
+ true
237
+ else
238
+ false
239
+ end
240
+ when :Object
241
+ # generic object (usually a Hash), return directly
242
+ value
243
+ when /\AArray<(?<inner_type>.+)>\z/
244
+ inner_type = Regexp.last_match[:inner_type]
245
+ value.map { |v| _deserialize(inner_type, v) }
246
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
247
+ k_type = Regexp.last_match[:k_type]
248
+ v_type = Regexp.last_match[:v_type]
249
+ {}.tap do |hash|
250
+ value.each do |k, v|
251
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
252
+ end
253
+ end
254
+ else # model
255
+ # models (e.g. Pet) or oneOf
256
+ klass = TelegramBot.const_get(type)
257
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
258
+ end
259
+ end
260
+
261
+ # Returns the string representation of the object
262
+ # @return [String] String presentation of the object
263
+ def to_s
264
+ to_hash.to_s
265
+ end
266
+
267
+ # to_body is an alias to to_hash (backward compatibility)
268
+ # @return [Hash] Returns the object in the form of hash
269
+ def to_body
270
+ to_hash
271
+ end
272
+
273
+ # Returns the object in the form of hash
274
+ # @return [Hash] Returns the object in the form of hash
275
+ def to_hash
276
+ hash = {}
277
+ self.class.attribute_map.each_pair do |attr, param|
278
+ value = self.send(attr)
279
+ if value.nil?
280
+ is_nullable = self.class.openapi_nullable.include?(attr)
281
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
282
+ end
283
+
284
+ hash[param] = _to_hash(value)
285
+ end
286
+ hash
287
+ end
288
+
289
+ # Outputs non-array value in the form of hash
290
+ # For object, use to_hash. Otherwise, just return the value
291
+ # @param [Object] value Any valid value
292
+ # @return [Hash] Returns the value in the form of hash
293
+ def _to_hash(value)
294
+ if value.is_a?(Array)
295
+ value.compact.map { |v| _to_hash(v) }
296
+ elsif value.is_a?(Hash)
297
+ {}.tap do |hash|
298
+ value.each { |k, v| hash[k] = _to_hash(v) }
299
+ end
300
+ elsif value.respond_to? :to_hash
301
+ value.to_hash
302
+ else
303
+ value
304
+ end
305
+ end
306
+
307
+ end
308
+
309
+ end