pyTelegramBotAPI 4.37.0__tar.gz → 4.37.1__tar.gz

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 (215) hide show
  1. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/.github/workflows/setup_python.yml +1 -1
  2. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/.travis.yml +1 -1
  3. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/PKG-INFO +4 -4
  4. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/README.md +1 -1
  5. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/conf.py +1 -1
  6. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/pyproject.toml +3 -3
  7. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/__init__.py +2 -2
  8. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/async_telebot.py +2 -2
  9. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/states/asyncio/middleware.py +21 -21
  10. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/types.py +10 -9
  11. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/version.py +1 -1
  12. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/tests/test_types.py +11 -0
  13. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/.github/ISSUE_TEMPLATE +0 -0
  14. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  15. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/.gitignore +0 -0
  16. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/.readthedocs.yml +0 -0
  17. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/LICENSE +0 -0
  18. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/doc_req.txt +0 -0
  19. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/Makefile +0 -0
  20. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/_static/logo.png +0 -0
  21. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/_static/logo2.png +0 -0
  22. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/async_version/index.rst +0 -0
  23. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/calldata.rst +0 -0
  24. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/formatting.rst +0 -0
  25. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/index.rst +0 -0
  26. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/install.rst +0 -0
  27. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/locales/en/LC_MESSAGES/async_version.po +0 -0
  28. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/locales/en/LC_MESSAGES/calldata.po +0 -0
  29. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/locales/en/LC_MESSAGES/formatting.po +0 -0
  30. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/locales/en/LC_MESSAGES/index.po +0 -0
  31. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/locales/en/LC_MESSAGES/install.po +0 -0
  32. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/locales/en/LC_MESSAGES/quick_start.po +0 -0
  33. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/locales/en/LC_MESSAGES/sync_version.po +0 -0
  34. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/locales/en/LC_MESSAGES/types.po +0 -0
  35. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/locales/en/LC_MESSAGES/util.po +0 -0
  36. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/locales/ru/LC_MESSAGES/async_version.po +0 -0
  37. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/locales/ru/LC_MESSAGES/calldata.po +0 -0
  38. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/locales/ru/LC_MESSAGES/formatting.po +0 -0
  39. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/locales/ru/LC_MESSAGES/index.po +0 -0
  40. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/locales/ru/LC_MESSAGES/install.po +0 -0
  41. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/locales/ru/LC_MESSAGES/quick_start.po +0 -0
  42. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/locales/ru/LC_MESSAGES/sync_version.po +0 -0
  43. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/locales/ru/LC_MESSAGES/types.po +0 -0
  44. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/locales/ru/LC_MESSAGES/util.po +0 -0
  45. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/quick_start.rst +0 -0
  46. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/sync_version/index.rst +0 -0
  47. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/types.rst +0 -0
  48. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/docs/source/util.rst +0 -0
  49. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/anonymous_bot.py +0 -0
  50. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/callback_data_examples/advanced_calendar_example/filters.py +0 -0
  51. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/callback_data_examples/advanced_calendar_example/keyboards.py +0 -0
  52. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/callback_data_examples/advanced_calendar_example/main.py +0 -0
  53. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/callback_data_examples/simple_products_example.py +0 -0
  54. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/chat_join_request.py +0 -0
  55. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/chat_member_example.py +0 -0
  56. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/continue_handling.py +0 -0
  57. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/custom_filters/admin_filter_example.py +0 -0
  58. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/custom_filters/advanced_text_filter.py +0 -0
  59. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/custom_filters/general_custom_filters.py +0 -0
  60. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/custom_filters/id_filter_example.py +0 -0
  61. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/custom_filters/is_filter_example.py +0 -0
  62. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/custom_filters/text_filter_example.py +0 -0
  63. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/custom_states.py +0 -0
  64. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/detect_changes.py +0 -0
  65. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/download_file_example.py +0 -0
  66. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/echo_bot.py +0 -0
  67. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/exception_handler.py +0 -0
  68. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/formatting_example.py +0 -0
  69. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/message_reaction_example.py +0 -0
  70. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/middleware/flooding_middleware.py +0 -0
  71. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/middleware/i18n.py +0 -0
  72. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/middleware/i18n_middleware_example/i18n_base_midddleware.py +0 -0
  73. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/middleware/i18n_middleware_example/keyboards.py +0 -0
  74. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/middleware/i18n_middleware_example/locales/en/LC_MESSAGES/messages.po +0 -0
  75. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/middleware/i18n_middleware_example/locales/ru/LC_MESSAGES/messages.po +0 -0
  76. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/middleware/i18n_middleware_example/locales/uz_Latn/LC_MESSAGES/messages.po +0 -0
  77. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/middleware/i18n_middleware_example/main.py +0 -0
  78. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/mini_app.py +0 -0
  79. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/multibot/README.MD +0 -0
  80. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/multibot/config.py +0 -0
  81. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/multibot/handlers.py +0 -0
  82. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/multibot/main.py +0 -0
  83. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/multibot/nginx_conf.conf +0 -0
  84. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/register_handler.py +0 -0
  85. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/send_file_example.py +0 -0
  86. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/send_message_draft_example.py +0 -0
  87. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/set_command_example.py +0 -0
  88. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/skip_updates_example.py +0 -0
  89. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/timer_bot_async.py +0 -0
  90. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/update_listener.py +0 -0
  91. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/webhooks/async_webhook_aiohttp_echo_bot.py +0 -0
  92. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/webhooks/run_webhooks.py +0 -0
  93. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/asynchronous_telebot/webhooks/webhook_starlette_echo_bot.py +0 -0
  94. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/callback_data_examples/advanced_calendar_example/filters.py +0 -0
  95. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/callback_data_examples/advanced_calendar_example/keyboards.py +0 -0
  96. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/callback_data_examples/advanced_calendar_example/main.py +0 -0
  97. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/callback_data_examples/simple_products_example.py +0 -0
  98. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/chat_join_request.py +0 -0
  99. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/chat_member_example.py +0 -0
  100. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/continue_handling.py +0 -0
  101. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/create_invite_link.py +0 -0
  102. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/custom_filters/admin_filter_example.py +0 -0
  103. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/custom_filters/advanced_text_filter.py +0 -0
  104. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/custom_filters/general_custom_filters.py +0 -0
  105. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/custom_filters/id_filter_example.py +0 -0
  106. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/custom_filters/is_filter_example.py +0 -0
  107. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/custom_filters/text_filter_example.py +0 -0
  108. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/custom_states.py +0 -0
  109. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/deep_linking.py +0 -0
  110. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/detailed_example/detailed_example.py +0 -0
  111. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/detailed_example/kitten.jpg +0 -0
  112. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/detailed_example/rooster.jpg +0 -0
  113. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/detect_changes.py +0 -0
  114. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/download_file_example.py +0 -0
  115. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/echo_bot.py +0 -0
  116. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/formatting_example.py +0 -0
  117. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/inline_example.py +0 -0
  118. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/inline_keyboard_example.py +0 -0
  119. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/message_reaction_example.py +0 -0
  120. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/middleware/README.md +0 -0
  121. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/middleware/class_based/antiflood_middleware.py +0 -0
  122. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/middleware/class_based/basic_example.py +0 -0
  123. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/middleware/class_based/i18n_middleware/i18n_base_middleware.py +0 -0
  124. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/middleware/class_based/i18n_middleware/keyboards.py +0 -0
  125. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/middleware/class_based/i18n_middleware/locales/en/LC_MESSAGES/messages.po +0 -0
  126. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/middleware/class_based/i18n_middleware/locales/ru/LC_MESSAGES/messages.po +0 -0
  127. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/middleware/class_based/i18n_middleware/locales/uz_Latn/LC_MESSAGES/messages.po +0 -0
  128. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/middleware/class_based/i18n_middleware/main.py +0 -0
  129. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/middleware/function_based/i18n.py +0 -0
  130. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/middleware/function_based/i18n_gettext/i18n_class.py +0 -0
  131. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/middleware/function_based/i18n_gettext/keyboards.py +0 -0
  132. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/middleware/function_based/i18n_gettext/locales/en/LC_MESSAGES/messages.po +0 -0
  133. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/middleware/function_based/i18n_gettext/locales/ru/LC_MESSAGES/messages.po +0 -0
  134. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/middleware/function_based/i18n_gettext/locales/uz_Latn/LC_MESSAGES/messages.po +0 -0
  135. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/middleware/function_based/i18n_gettext/main.py +0 -0
  136. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/middleware/function_based/session.py +0 -0
  137. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/mini_app.py +0 -0
  138. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/mini_app_web/index.html +0 -0
  139. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/mini_app_web/script.js +0 -0
  140. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/mini_app_web/style.css +0 -0
  141. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/multibot/README.MD +0 -0
  142. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/multibot/config.py +0 -0
  143. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/multibot/handlers.py +0 -0
  144. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/multibot/main.py +0 -0
  145. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/multibot/nginx_conf.conf +0 -0
  146. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/payments_example.py +0 -0
  147. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/poll_example.py +0 -0
  148. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/register_handler.py +0 -0
  149. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/reply_keyboard_markup_example.py +0 -0
  150. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/send_message_draft_example.py +0 -0
  151. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/serverless/aws_lambda_function.py +0 -0
  152. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/serverless/azure_functions +0 -0
  153. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/serverless/flask_google_cloud_bot/.gcloudignore +0 -0
  154. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/serverless/flask_google_cloud_bot/app.yaml +0 -0
  155. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/serverless/flask_google_cloud_bot/main.py +0 -0
  156. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/serverless/flask_google_cloud_bot/requirements.txt +0 -0
  157. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/set_command_example.py +0 -0
  158. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/skip_updates_example.py +0 -0
  159. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/stars_payment.py +0 -0
  160. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/step_example.py +0 -0
  161. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/telebot_bot/telebot_bot.py +0 -0
  162. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/timer_bot.py +0 -0
  163. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/webhook_examples/README.md +0 -0
  164. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/webhook_examples/run_webhooks.py +0 -0
  165. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/webhook_examples/webhook_aiohttp_echo_bot.py +0 -0
  166. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/webhook_examples/webhook_cherrypy_echo_bot.py +0 -0
  167. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/webhook_examples/webhook_cpython_echo_bot.py +0 -0
  168. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/webhook_examples/webhook_fastapi_echo_bot.py +0 -0
  169. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/webhook_examples/webhook_flask_echo_bot.py +0 -0
  170. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/webhook_examples/webhook_flask_heroku_echo.py +0 -0
  171. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/webhook_examples/webhook_tornado_echo_bot.py +0 -0
  172. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/examples/webhook_examples/webhook_twisted_echo_bot.py +0 -0
  173. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/requirements.txt +0 -0
  174. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/apihelper.py +0 -0
  175. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/asyncio_filters.py +0 -0
  176. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/asyncio_handler_backends.py +0 -0
  177. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/asyncio_helper.py +0 -0
  178. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/asyncio_storage/__init__.py +0 -0
  179. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/asyncio_storage/base_storage.py +0 -0
  180. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/asyncio_storage/memory_storage.py +0 -0
  181. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/asyncio_storage/pickle_storage.py +0 -0
  182. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/asyncio_storage/redis_storage.py +0 -0
  183. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/callback_data.py +0 -0
  184. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/custom_filters.py +0 -0
  185. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/ext/__init__.py +0 -0
  186. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/ext/aio/__init__.py +0 -0
  187. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/ext/aio/webhooks.py +0 -0
  188. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/ext/reloader.py +0 -0
  189. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/ext/sync/__init__.py +0 -0
  190. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/ext/sync/webhooks.py +0 -0
  191. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/formatting.py +0 -0
  192. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/handler_backends.py +0 -0
  193. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/py.typed +0 -0
  194. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/service_utils.py +0 -0
  195. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/states/__init__.py +0 -0
  196. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/states/asyncio/__init__.py +0 -0
  197. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/states/asyncio/context.py +0 -0
  198. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/states/sync/__init__.py +0 -0
  199. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/states/sync/context.py +0 -0
  200. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/states/sync/middleware.py +0 -0
  201. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/storage/__init__.py +0 -0
  202. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/storage/base_storage.py +0 -0
  203. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/storage/memory_storage.py +0 -0
  204. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/storage/pickle_storage.py +0 -0
  205. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/storage/redis_storage.py +0 -0
  206. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/telebot/util.py +0 -0
  207. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/tests/__init__.py +0 -0
  208. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/tests/test_apihelper_95.py +0 -0
  209. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/tests/test_async_telebot.py +0 -0
  210. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/tests/test_data/record.mp3 +0 -0
  211. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/tests/test_data/record.ogg +0 -0
  212. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/tests/test_data/record.wav +0 -0
  213. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/tests/test_data/test_video.mp4 +0 -0
  214. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/tests/test_handler_backends.py +0 -0
  215. {pytelegrambotapi-4.37.0 → pytelegrambotapi-4.37.1}/tests/test_telebot.py +0 -0
@@ -20,7 +20,7 @@ jobs:
20
20
  runs-on: ubuntu-latest
21
21
  strategy:
22
22
  matrix:
23
- python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14', 'pypy-3.11']
23
+ python-version: [ '3.11', '3.12', '3.13', '3.14', '3.15', 'pypy-3.11', 'pypy-3.12']
24
24
  name: ${{ matrix.python-version }} and tests
25
25
  steps:
26
26
  - uses: actions/checkout@v2
@@ -1,10 +1,10 @@
1
1
  language: python
2
2
  python:
3
- - "3.10"
4
3
  - "3.11"
5
4
  - "3.12"
6
5
  - "3.13"
7
6
  - "3.14"
7
+ - "3.15"
8
8
  - "pypy3"
9
9
  install: "pip install -r requirements.txt"
10
10
  script:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: pyTelegramBotAPI
3
- Version: 4.37.0
3
+ Version: 4.37.1
4
4
  Summary: Python Telegram bot API.
5
5
  Project-URL: Homepage, https://github.com/eternnoir/pyTelegramBotAPI
6
6
  Project-URL: Documentation, https://pytba.readthedocs.org
@@ -14,12 +14,12 @@ Classifier: Development Status :: 5 - Production/Stable
14
14
  Classifier: Environment :: Console
15
15
  Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
16
16
  Classifier: Programming Language :: Python :: 3
17
- Classifier: Programming Language :: Python :: 3.10
18
17
  Classifier: Programming Language :: Python :: 3.11
19
18
  Classifier: Programming Language :: Python :: 3.12
20
19
  Classifier: Programming Language :: Python :: 3.13
21
20
  Classifier: Programming Language :: Python :: 3.14
22
- Requires-Python: >=3.10
21
+ Classifier: Programming Language :: Python :: 3.15
22
+ Requires-Python: >=3.11
23
23
  Requires-Dist: aiohttp
24
24
  Requires-Dist: requests
25
25
  Provides-Extra: coloredlogs
@@ -111,7 +111,7 @@ Description-Content-Type: text/markdown
111
111
 
112
112
  ## Getting started
113
113
 
114
- This API is tested with Python 3.10-3.14 and PyPy 3.
114
+ This API is tested with Python 3.11-3.15 and PyPy 3.
115
115
  There are two ways to install the library:
116
116
 
117
117
  * Installation using pip (a Python package manager):
@@ -69,7 +69,7 @@
69
69
 
70
70
  ## Getting started
71
71
 
72
- This API is tested with Python 3.10-3.14 and PyPy 3.
72
+ This API is tested with Python 3.11-3.15 and PyPy 3.
73
73
  There are two ways to install the library:
74
74
 
75
75
  * Installation using pip (a Python package manager):
@@ -22,7 +22,7 @@ author = 'coder2020official'
22
22
  copyright = f'2022-{datetime.now().year}, {author}'
23
23
 
24
24
  # The full version, including alpha/beta/rc tags
25
- release = '4.37.0'
25
+ release = '4.37.1'
26
26
 
27
27
 
28
28
  # -- General configuration ---------------------------------------------------
@@ -4,21 +4,21 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "pyTelegramBotAPI"
7
- version = "4.37.0"
7
+ version = "4.37.1"
8
8
  description = "Python Telegram bot API."
9
9
  authors = [{name = "eternnoir", email = "eternnoir@gmail.com"}]
10
10
  license = {text = "GPL2"}
11
11
  readme = "README.md"
12
- requires-python = ">=3.10"
12
+ requires-python = ">=3.11"
13
13
  keywords = ["telegram", "bot", "api", "tools"]
14
14
  classifiers = [
15
15
  "Development Status :: 5 - Production/Stable",
16
16
  "Programming Language :: Python :: 3",
17
- "Programming Language :: Python :: 3.10",
18
17
  "Programming Language :: Python :: 3.11",
19
18
  "Programming Language :: Python :: 3.12",
20
19
  "Programming Language :: Python :: 3.13",
21
20
  "Programming Language :: Python :: 3.14",
21
+ "Programming Language :: Python :: 3.15",
22
22
  "Environment :: Console",
23
23
  "License :: OSI Approved :: GNU General Public License v2 (GPLv2)"
24
24
  ]
@@ -7447,7 +7447,7 @@ class TeleBot:
7447
7447
 
7448
7448
 
7449
7449
  def answer_callback_query(
7450
- self, callback_query_id: int,
7450
+ self, callback_query_id: str,
7451
7451
  text: Optional[str]=None, show_alert: Optional[bool]=None,
7452
7452
  url: Optional[str]=None, cache_time: Optional[int]=None) -> bool:
7453
7453
  """
@@ -7457,7 +7457,7 @@ class TeleBot:
7457
7457
  Telegram documentation: https://core.telegram.org/bots/api#answercallbackquery
7458
7458
 
7459
7459
  :param callback_query_id: Unique identifier for the query to be answered
7460
- :type callback_query_id: :obj:`int`
7460
+ :type callback_query_id: :obj:`str`
7461
7461
 
7462
7462
  :param text: Text of the notification. If not specified, nothing will be shown to the user, 0-200 characters
7463
7463
  :type text: :obj:`str`
@@ -9130,7 +9130,7 @@ class AsyncTeleBot:
9130
9130
  return await asyncio_helper.unpin_all_general_forum_topic_messages(self.token, chat_id)
9131
9131
 
9132
9132
  async def answer_callback_query(
9133
- self, callback_query_id: int,
9133
+ self, callback_query_id: str,
9134
9134
  text: Optional[str]=None, show_alert: Optional[bool]=None,
9135
9135
  url: Optional[str]=None, cache_time: Optional[int]=None) -> bool:
9136
9136
  """
@@ -9140,7 +9140,7 @@ class AsyncTeleBot:
9140
9140
  Telegram documentation: https://core.telegram.org/bots/api#answercallbackquery
9141
9141
 
9142
9142
  :param callback_query_id: Unique identifier for the query to be answered
9143
- :type callback_query_id: :obj:`int`
9143
+ :type callback_query_id: :obj:`str`
9144
9144
 
9145
9145
  :param text: Text of the notification. If not specified, nothing will be shown to the user, 0-200 characters
9146
9146
  :type text: :obj:`str`
@@ -1,21 +1,21 @@
1
- from telebot.asyncio_handler_backends import BaseMiddleware
2
- from telebot.async_telebot import AsyncTeleBot
3
- from telebot.states.sync.context import StateContext
4
- from telebot.util import update_types
5
- from telebot import types
6
-
7
-
8
- class StateMiddleware(BaseMiddleware):
9
-
10
- def __init__(self, bot: AsyncTeleBot) -> None:
11
- self.update_sensitive = False
12
- self.update_types = update_types
13
- self.bot: AsyncTeleBot = bot
14
-
15
- async def pre_process(self, message, data):
16
- state_context = StateContext(message, self.bot)
17
- data["state_context"] = state_context
18
- data["state"] = state_context # 2 ways to access state context
19
-
20
- async def post_process(self, message, data, exception):
21
- pass
1
+ from telebot.asyncio_handler_backends import BaseMiddleware
2
+ from telebot.async_telebot import AsyncTeleBot
3
+ from telebot.states.asyncio.context import StateContext
4
+ from telebot.util import update_types
5
+ from telebot import types
6
+
7
+
8
+ class StateMiddleware(BaseMiddleware):
9
+
10
+ def __init__(self, bot: AsyncTeleBot) -> None:
11
+ self.update_sensitive = False
12
+ self.update_types = update_types
13
+ self.bot: AsyncTeleBot = bot
14
+
15
+ async def pre_process(self, message, data):
16
+ state_context = StateContext(message, self.bot)
17
+ data["state_context"] = state_context
18
+ data["state"] = state_context # 2 ways to access state context
19
+
20
+ async def post_process(self, message, data, exception):
21
+ pass
@@ -14688,16 +14688,17 @@ class RichText(JsonDeserializable, Dictionaryable, ABC):
14688
14688
  if json_string is None: return None
14689
14689
  if isinstance(json_string, str):
14690
14690
  # "...can be either a String for plain text..."
14691
- if (json_string.startswith('{') and json_string.endswith('}')) or (json_string.startswith('[') and json_string.endswith(']')):
14692
- try:
14693
- # Check if string is valid json. If so, assume it's json, not plain string
14694
- json.loads(json_string)
14695
- # If it's valid json, continue to json processing below
14696
- except (ValueError, TypeError, json.JSONDecodeError):
14697
- # If it's not valid json, return the string as is
14698
- return json_string
14699
- else:
14691
+ # Only a JSON object is a serialized RichText. Plain text can look
14692
+ # like JSON too, e.g. a "[56]" footnote mark, and stays text.
14693
+ if not (json_string.startswith('{') and json_string.endswith('}')):
14694
+ return json_string
14695
+ try:
14696
+ parsed = json.loads(json_string)
14697
+ except (ValueError, TypeError):
14698
+ return json_string
14699
+ if not isinstance(parsed, dict):
14700
14700
  return json_string
14701
+ json_string = parsed
14701
14702
  elif isinstance(json_string, list):
14702
14703
  # "...an Array of :class:`RichText`..."
14703
14704
  return [RichText.de_json(item) for item in json_string]
@@ -1,3 +1,3 @@
1
1
  # Versions should comply with PEP440.
2
2
  # This line is parsed in setup.py:
3
- __version__ = '4.37.0'
3
+ __version__ = '4.37.1'
@@ -547,6 +547,17 @@ def test_json_richtextbold():
547
547
  assert result.text == 'Test'
548
548
 
549
549
 
550
+ def test_json_richtext_plain_text_that_looks_like_json():
551
+ # issue #2634: a "[56]" footnote mark is plain text, not a JSON array
552
+ json_str = r'{"type": "url", "text": {"type": "superscript", "text": "[56]"}, "url": "https://example.com/#cite_note-56"}'
553
+ result = types.RichText.de_json(json_str)
554
+ assert isinstance(result, types.RichTextUrl)
555
+ assert isinstance(result.text, types.RichTextSuperscript)
556
+ assert result.text.text == '[56]'
557
+ for text in ['[56]', '[]', '{}x', '123', 'null', '["a", "b"]']:
558
+ assert types.RichText.de_json(text) == text
559
+
560
+
550
561
  def test_json_richtextitalic():
551
562
  json_str = r'{"type": "italic", "text": "Test"}'
552
563
  result = types.RichText.de_json(json_str)