pyTelegramBotAPI 4.23.0__tar.gz → 4.25.0__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 (209) hide show
  1. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/.github/workflows/setup_python.yml +1 -1
  2. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/.travis.yml +1 -1
  3. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/PKG-INFO +6 -7
  4. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/README.md +3 -3
  5. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/conf.py +1 -1
  6. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/custom_states.py +10 -7
  7. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/custom_states.py +10 -7
  8. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/serverless/flask_google_cloud_bot/requirements.txt +4 -4
  9. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/pyproject.toml +3 -3
  10. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/__init__.py +264 -44
  11. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/apihelper.py +111 -19
  12. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/async_telebot.py +263 -44
  13. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/asyncio_helper.py +114 -19
  14. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/asyncio_storage/pickle_storage.py +3 -3
  15. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/formatting.py +1 -1
  16. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/storage/pickle_storage.py +3 -3
  17. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/types.py +357 -83
  18. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/version.py +1 -1
  19. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/.github/ISSUE_TEMPLATE +0 -0
  20. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  21. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/.gitignore +0 -0
  22. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/.readthedocs.yml +0 -0
  23. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/LICENSE +0 -0
  24. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/doc_req.txt +0 -0
  25. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/Makefile +0 -0
  26. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/_static/logo.png +0 -0
  27. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/_static/logo2.png +0 -0
  28. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/async_version/index.rst +0 -0
  29. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/calldata.rst +0 -0
  30. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/formatting.rst +0 -0
  31. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/index.rst +0 -0
  32. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/install.rst +0 -0
  33. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/locales/en/LC_MESSAGES/async_version.po +0 -0
  34. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/locales/en/LC_MESSAGES/calldata.po +0 -0
  35. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/locales/en/LC_MESSAGES/formatting.po +0 -0
  36. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/locales/en/LC_MESSAGES/index.po +0 -0
  37. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/locales/en/LC_MESSAGES/install.po +0 -0
  38. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/locales/en/LC_MESSAGES/quick_start.po +0 -0
  39. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/locales/en/LC_MESSAGES/sync_version.po +0 -0
  40. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/locales/en/LC_MESSAGES/types.po +0 -0
  41. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/locales/en/LC_MESSAGES/util.po +0 -0
  42. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/locales/ru/LC_MESSAGES/async_version.po +0 -0
  43. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/locales/ru/LC_MESSAGES/calldata.po +0 -0
  44. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/locales/ru/LC_MESSAGES/formatting.po +0 -0
  45. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/locales/ru/LC_MESSAGES/index.po +0 -0
  46. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/locales/ru/LC_MESSAGES/install.po +0 -0
  47. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/locales/ru/LC_MESSAGES/quick_start.po +0 -0
  48. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/locales/ru/LC_MESSAGES/sync_version.po +0 -0
  49. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/locales/ru/LC_MESSAGES/types.po +0 -0
  50. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/locales/ru/LC_MESSAGES/util.po +0 -0
  51. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/quick_start.rst +0 -0
  52. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/sync_version/index.rst +0 -0
  53. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/types.rst +0 -0
  54. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/docs/source/util.rst +0 -0
  55. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/anonymous_bot.py +0 -0
  56. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/callback_data_examples/advanced_calendar_example/filters.py +0 -0
  57. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/callback_data_examples/advanced_calendar_example/keyboards.py +0 -0
  58. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/callback_data_examples/advanced_calendar_example/main.py +0 -0
  59. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/callback_data_examples/simple_products_example.py +0 -0
  60. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/chat_join_request.py +0 -0
  61. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/chat_member_example.py +0 -0
  62. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/continue_handling.py +0 -0
  63. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/custom_filters/admin_filter_example.py +0 -0
  64. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/custom_filters/advanced_text_filter.py +0 -0
  65. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/custom_filters/general_custom_filters.py +0 -0
  66. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/custom_filters/id_filter_example.py +0 -0
  67. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/custom_filters/is_filter_example.py +0 -0
  68. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/custom_filters/text_filter_example.py +0 -0
  69. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/detect_changes.py +0 -0
  70. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/download_file_example.py +0 -0
  71. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/echo_bot.py +0 -0
  72. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/exception_handler.py +0 -0
  73. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/formatting_example.py +0 -0
  74. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/message_reaction_example.py +0 -0
  75. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/middleware/flooding_middleware.py +0 -0
  76. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/middleware/i18n.py +0 -0
  77. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/i18n_base_midddleware.py +0 -0
  78. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/keyboards.py +0 -0
  79. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/locales/en/LC_MESSAGES/messages.po +0 -0
  80. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/locales/ru/LC_MESSAGES/messages.po +0 -0
  81. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/locales/uz_Latn/LC_MESSAGES/messages.po +0 -0
  82. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/main.py +0 -0
  83. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/mini_app.py +0 -0
  84. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/multibot/README.MD +0 -0
  85. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/multibot/config.py +0 -0
  86. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/multibot/handlers.py +0 -0
  87. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/multibot/main.py +0 -0
  88. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/multibot/nginx_conf.conf +0 -0
  89. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/register_handler.py +0 -0
  90. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/send_file_example.py +0 -0
  91. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/set_command_example.py +0 -0
  92. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/skip_updates_example.py +0 -0
  93. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/timer_bot_async.py +0 -0
  94. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/update_listener.py +0 -0
  95. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/webhooks/async_webhook_aiohttp_echo_bot.py +0 -0
  96. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/webhooks/run_webhooks.py +0 -0
  97. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/asynchronous_telebot/webhooks/webhook_starlette_echo_bot.py +0 -0
  98. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/callback_data_examples/advanced_calendar_example/filters.py +0 -0
  99. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/callback_data_examples/advanced_calendar_example/keyboards.py +0 -0
  100. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/callback_data_examples/advanced_calendar_example/main.py +0 -0
  101. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/callback_data_examples/simple_products_example.py +0 -0
  102. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/chat_join_request.py +0 -0
  103. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/chat_member_example.py +0 -0
  104. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/continue_handling.py +0 -0
  105. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/create_invite_link.py +0 -0
  106. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/custom_filters/admin_filter_example.py +0 -0
  107. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/custom_filters/advanced_text_filter.py +0 -0
  108. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/custom_filters/general_custom_filters.py +0 -0
  109. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/custom_filters/id_filter_example.py +0 -0
  110. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/custom_filters/is_filter_example.py +0 -0
  111. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/custom_filters/text_filter_example.py +0 -0
  112. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/deep_linking.py +0 -0
  113. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/detailed_example/detailed_example.py +0 -0
  114. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/detailed_example/kitten.jpg +0 -0
  115. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/detailed_example/rooster.jpg +0 -0
  116. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/detect_changes.py +0 -0
  117. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/download_file_example.py +0 -0
  118. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/echo_bot.py +0 -0
  119. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/formatting_example.py +0 -0
  120. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/inline_example.py +0 -0
  121. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/inline_keyboard_example.py +0 -0
  122. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/message_reaction_example.py +0 -0
  123. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/middleware/README.md +0 -0
  124. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/middleware/class_based/antiflood_middleware.py +0 -0
  125. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/middleware/class_based/basic_example.py +0 -0
  126. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/middleware/class_based/i18n_middleware/i18n_base_middleware.py +0 -0
  127. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/middleware/class_based/i18n_middleware/keyboards.py +0 -0
  128. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/middleware/class_based/i18n_middleware/locales/en/LC_MESSAGES/messages.po +0 -0
  129. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/middleware/class_based/i18n_middleware/locales/ru/LC_MESSAGES/messages.po +0 -0
  130. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/middleware/class_based/i18n_middleware/locales/uz_Latn/LC_MESSAGES/messages.po +0 -0
  131. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/middleware/class_based/i18n_middleware/main.py +0 -0
  132. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/middleware/function_based/i18n.py +0 -0
  133. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/middleware/function_based/i18n_gettext/i18n_class.py +0 -0
  134. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/middleware/function_based/i18n_gettext/keyboards.py +0 -0
  135. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/middleware/function_based/i18n_gettext/locales/en/LC_MESSAGES/messages.po +0 -0
  136. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/middleware/function_based/i18n_gettext/locales/ru/LC_MESSAGES/messages.po +0 -0
  137. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/middleware/function_based/i18n_gettext/locales/uz_Latn/LC_MESSAGES/messages.po +0 -0
  138. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/middleware/function_based/i18n_gettext/main.py +0 -0
  139. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/middleware/function_based/session.py +0 -0
  140. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/mini_app.py +0 -0
  141. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/mini_app_web/index.html +0 -0
  142. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/mini_app_web/script.js +0 -0
  143. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/mini_app_web/style.css +0 -0
  144. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/multibot/README.MD +0 -0
  145. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/multibot/config.py +0 -0
  146. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/multibot/handlers.py +0 -0
  147. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/multibot/main.py +0 -0
  148. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/multibot/nginx_conf.conf +0 -0
  149. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/payments_example.py +0 -0
  150. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/poll_example.py +0 -0
  151. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/register_handler.py +0 -0
  152. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/reply_keyboard_markup_example.py +0 -0
  153. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/serverless/aws_lambda_function.py +0 -0
  154. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/serverless/azure_functions +0 -0
  155. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/serverless/flask_google_cloud_bot/.gcloudignore +0 -0
  156. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/serverless/flask_google_cloud_bot/app.yaml +0 -0
  157. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/serverless/flask_google_cloud_bot/main.py +0 -0
  158. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/set_command_example.py +0 -0
  159. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/skip_updates_example.py +0 -0
  160. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/step_example.py +0 -0
  161. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/telebot_bot/telebot_bot.py +0 -0
  162. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/timer_bot.py +0 -0
  163. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/webhook_examples/README.md +0 -0
  164. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/webhook_examples/run_webhooks.py +0 -0
  165. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/webhook_examples/webhook_aiohttp_echo_bot.py +0 -0
  166. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/webhook_examples/webhook_cherrypy_echo_bot.py +0 -0
  167. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/webhook_examples/webhook_cpython_echo_bot.py +0 -0
  168. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/webhook_examples/webhook_fastapi_echo_bot.py +0 -0
  169. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/webhook_examples/webhook_flask_echo_bot.py +0 -0
  170. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/webhook_examples/webhook_flask_heroku_echo.py +0 -0
  171. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/webhook_examples/webhook_tornado_echo_bot.py +0 -0
  172. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/examples/webhook_examples/webhook_twisted_echo_bot.py +0 -0
  173. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/requirements.txt +0 -0
  174. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/asyncio_filters.py +0 -0
  175. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/asyncio_handler_backends.py +0 -0
  176. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/asyncio_storage/__init__.py +0 -0
  177. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/asyncio_storage/base_storage.py +0 -0
  178. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/asyncio_storage/memory_storage.py +0 -0
  179. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/asyncio_storage/redis_storage.py +0 -0
  180. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/callback_data.py +0 -0
  181. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/custom_filters.py +0 -0
  182. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/ext/__init__.py +0 -0
  183. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/ext/aio/__init__.py +0 -0
  184. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/ext/aio/webhooks.py +0 -0
  185. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/ext/reloader.py +0 -0
  186. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/ext/sync/__init__.py +0 -0
  187. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/ext/sync/webhooks.py +0 -0
  188. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/handler_backends.py +0 -0
  189. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/service_utils.py +0 -0
  190. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/states/__init__.py +0 -0
  191. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/states/asyncio/__init__.py +0 -0
  192. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/states/asyncio/context.py +0 -0
  193. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/states/asyncio/middleware.py +0 -0
  194. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/states/sync/__init__.py +0 -0
  195. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/states/sync/context.py +0 -0
  196. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/states/sync/middleware.py +0 -0
  197. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/storage/__init__.py +0 -0
  198. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/storage/base_storage.py +0 -0
  199. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/storage/memory_storage.py +0 -0
  200. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/storage/redis_storage.py +0 -0
  201. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/telebot/util.py +0 -0
  202. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/tests/__init__.py +0 -0
  203. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/tests/test_data/record.mp3 +0 -0
  204. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/tests/test_data/record.ogg +0 -0
  205. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/tests/test_data/record.wav +0 -0
  206. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/tests/test_data/test_video.mp4 +0 -0
  207. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/tests/test_handler_backends.py +0 -0
  208. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/tests/test_telebot.py +0 -0
  209. {pytelegrambotapi-4.23.0 → pytelegrambotapi-4.25.0}/tests/test_types.py +0 -0
@@ -20,7 +20,7 @@ jobs:
20
20
  runs-on: ubuntu-latest
21
21
  strategy:
22
22
  matrix:
23
- python-version: [ '3.8', '3.9', '3.10', '3.11', '3.12', 'pypy-3.9', 'pypy-3.10']
23
+ python-version: [ '3.9', '3.10', '3.11', '3.12', '3.13', 'pypy-3.9', 'pypy-3.10']
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.8"
4
3
  - "3.9"
5
4
  - "3.10"
6
5
  - "3.11"
7
6
  - "3.12"
7
+ - "3.13"
8
8
  - "pypy3"
9
9
  install: "pip install -r requirements.txt"
10
10
  script:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pyTelegramBotAPI
3
- Version: 4.23.0
3
+ Version: 4.25.0
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
@@ -8,18 +8,17 @@ Project-URL: Repository, https://github.com/eternnoir/pyTelegramBotAPI
8
8
  Project-URL: Issues, https://github.com/eternnoir/pyTelegramBotAPI/issues
9
9
  Author-email: eternnoir <eternnoir@gmail.com>
10
10
  License: GPL2
11
- License-File: LICENSE
12
11
  Keywords: api,bot,telegram,tools
13
12
  Classifier: Development Status :: 5 - Production/Stable
14
13
  Classifier: Environment :: Console
15
14
  Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
16
15
  Classifier: Programming Language :: Python :: 3
17
- Classifier: Programming Language :: Python :: 3.8
18
16
  Classifier: Programming Language :: Python :: 3.9
19
17
  Classifier: Programming Language :: Python :: 3.10
20
18
  Classifier: Programming Language :: Python :: 3.11
21
19
  Classifier: Programming Language :: Python :: 3.12
22
- Requires-Python: >=3.8
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Requires-Python: >=3.9
23
22
  Requires-Dist: requests
24
23
  Provides-Extra: aiohttp
25
24
  Requires-Dist: aiohttp; extra == 'aiohttp'
@@ -53,7 +52,7 @@ Description-Content-Type: text/markdown
53
52
  <p align="center">A simple, but extensible Python implementation for the <a href="https://core.telegram.org/bots/api">Telegram Bot API</a>.</p>
54
53
  <p align="center">Both synchronous and asynchronous.</p>
55
54
 
56
- ## <p align="center">Supported Bot API version: <a href="https://core.telegram.org/bots/api#september-6-2024"><img src="https://img.shields.io/badge/Bot%20API-7.10-blue?logo=telegram" alt="Supported Bot API version"></a>
55
+ ## <p align="center">Supported Bot API version: <a href="https://core.telegram.org/bots/api#november-17-2024"><img src="https://img.shields.io/badge/Bot%20API-8.1-blue?logo=telegram" alt="Supported Bot API version"></a>
57
56
 
58
57
  <h2><a href='https://pytba.readthedocs.io/en/latest/index.html'>Official documentation</a></h2>
59
58
  <h2><a href='https://pytba.readthedocs.io/ru/latest/index.html'>Official ru documentation</a></h2>
@@ -112,7 +111,7 @@ Description-Content-Type: text/markdown
112
111
 
113
112
  ## Getting started
114
113
 
115
- This API is tested with Python 3.8-3.12 and Pypy 3.
114
+ This API is tested with Python 3.9-3.13 and Pypy 3.
116
115
  There are two ways to install the library:
117
116
 
118
117
  * Installation using pip (a Python package manager):
@@ -873,7 +872,7 @@ Here are some examples of template:
873
872
  * [RadRetroRobot](https://github.com/Tronikart/RadRetroRobot) by *Tronikart* - Multifunctional Telegram Bot RadRetroRobot.
874
873
  * [League of Legends bot](https://telegram.me/League_of_Legends_bot) ([source](https://github.com/i32ropie/lol)) by *i32ropie*
875
874
  * [NeoBot](https://github.com/neoranger/NeoBot) by [@NeoRanger](https://github.com/neoranger)
876
- * [ColorCodeBot](https://t.me/colorcodebot) ([source](https://github.com/andydecleyre/colorcodebot)) - Share code snippets as beautifully syntax-highlighted HTML and/or images.
875
+ * [ColorCodeBot](https://t.me/colorcodebot) ([source](https://github.com/andydecleyre/colorcodebot)) - Share code snippets as beautifully syntax-highlighted images.
877
876
  * [ComedoresUGRbot](http://telegram.me/ComedoresUGRbot) ([source](https://github.com/alejandrocq/ComedoresUGRbot)) by [*alejandrocq*](https://github.com/alejandrocq) - Telegram bot to check the menu of Universidad de Granada dining hall.
878
877
  * [proxybot](https://github.com/p-hash/proxybot) - Simple Proxy Bot for Telegram. by p-hash
879
878
  * [DonantesMalagaBot](https://github.com/vfranch/DonantesMalagaBot) - DonantesMalagaBot facilitates information to Malaga blood donors about the places where they can donate today or in the incoming days. It also records the date of the last donation so that it helps the donors to know when they can donate again. - by vfranch
@@ -10,7 +10,7 @@
10
10
  <p align="center">A simple, but extensible Python implementation for the <a href="https://core.telegram.org/bots/api">Telegram Bot API</a>.</p>
11
11
  <p align="center">Both synchronous and asynchronous.</p>
12
12
 
13
- ## <p align="center">Supported Bot API version: <a href="https://core.telegram.org/bots/api#september-6-2024"><img src="https://img.shields.io/badge/Bot%20API-7.10-blue?logo=telegram" alt="Supported Bot API version"></a>
13
+ ## <p align="center">Supported Bot API version: <a href="https://core.telegram.org/bots/api#november-17-2024"><img src="https://img.shields.io/badge/Bot%20API-8.1-blue?logo=telegram" alt="Supported Bot API version"></a>
14
14
 
15
15
  <h2><a href='https://pytba.readthedocs.io/en/latest/index.html'>Official documentation</a></h2>
16
16
  <h2><a href='https://pytba.readthedocs.io/ru/latest/index.html'>Official ru documentation</a></h2>
@@ -69,7 +69,7 @@
69
69
 
70
70
  ## Getting started
71
71
 
72
- This API is tested with Python 3.8-3.12 and Pypy 3.
72
+ This API is tested with Python 3.9-3.13 and Pypy 3.
73
73
  There are two ways to install the library:
74
74
 
75
75
  * Installation using pip (a Python package manager):
@@ -830,7 +830,7 @@ Here are some examples of template:
830
830
  * [RadRetroRobot](https://github.com/Tronikart/RadRetroRobot) by *Tronikart* - Multifunctional Telegram Bot RadRetroRobot.
831
831
  * [League of Legends bot](https://telegram.me/League_of_Legends_bot) ([source](https://github.com/i32ropie/lol)) by *i32ropie*
832
832
  * [NeoBot](https://github.com/neoranger/NeoBot) by [@NeoRanger](https://github.com/neoranger)
833
- * [ColorCodeBot](https://t.me/colorcodebot) ([source](https://github.com/andydecleyre/colorcodebot)) - Share code snippets as beautifully syntax-highlighted HTML and/or images.
833
+ * [ColorCodeBot](https://t.me/colorcodebot) ([source](https://github.com/andydecleyre/colorcodebot)) - Share code snippets as beautifully syntax-highlighted images.
834
834
  * [ComedoresUGRbot](http://telegram.me/ComedoresUGRbot) ([source](https://github.com/alejandrocq/ComedoresUGRbot)) by [*alejandrocq*](https://github.com/alejandrocq) - Telegram bot to check the menu of Universidad de Granada dining hall.
835
835
  * [proxybot](https://github.com/p-hash/proxybot) - Simple Proxy Bot for Telegram. by p-hash
836
836
  * [DonantesMalagaBot](https://github.com/vfranch/DonantesMalagaBot) - DonantesMalagaBot facilitates information to Malaga blood donors about the places where they can donate today or in the incoming days. It also records the date of the last donation so that it helps the donors to know when they can donate again. - by vfranch
@@ -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.23.0'
25
+ release = '4.25.0'
26
26
 
27
27
 
28
28
  # -- General configuration ---------------------------------------------------
@@ -2,6 +2,7 @@ from telebot import async_telebot, asyncio_filters, types
2
2
  from telebot.asyncio_storage import StateMemoryStorage
3
3
  from telebot.states import State, StatesGroup
4
4
  from telebot.states.asyncio.context import StateContext
5
+ from telebot.types import ReplyParameters
5
6
 
6
7
  # Initialize the bot
7
8
  state_storage = StateMemoryStorage() # don't use this in production; switch to redis
@@ -23,7 +24,7 @@ async def start_ex(message: types.Message, state: StateContext):
23
24
  await bot.send_message(
24
25
  message.chat.id,
25
26
  "Hello! What is your first name?",
26
- reply_to_message_id=message.message_id,
27
+ reply_parameters=ReplyParameters(message_id=message.message_id),
27
28
  )
28
29
 
29
30
 
@@ -34,7 +35,7 @@ async def any_state(message: types.Message, state: StateContext):
34
35
  await bot.send_message(
35
36
  message.chat.id,
36
37
  "Your information has been cleared. Type /start to begin again.",
37
- reply_to_message_id=message.message_id,
38
+ reply_parameters=ReplyParameters(message_id=message.message_id),
38
39
  )
39
40
 
40
41
 
@@ -43,7 +44,8 @@ async def any_state(message: types.Message, state: StateContext):
43
44
  async def name_get(message: types.Message, state: StateContext):
44
45
  await state.set(MyStates.age)
45
46
  await bot.send_message(
46
- message.chat.id, "How old are you?", reply_to_message_id=message.message_id
47
+ message.chat.id, "How old are you?",
48
+ reply_parameters=ReplyParameters(message_id=message.message_id),
47
49
  )
48
50
  await state.add_data(name=message.text)
49
51
 
@@ -64,7 +66,7 @@ async def ask_color(message: types.Message, state: StateContext):
64
66
  message.chat.id,
65
67
  "What is your favorite color? Choose from the options below.",
66
68
  reply_markup=keyboard,
67
- reply_to_message_id=message.message_id,
69
+ reply_parameters=ReplyParameters(message_id=message.message_id),
68
70
  )
69
71
 
70
72
 
@@ -84,7 +86,7 @@ async def ask_hobby(message: types.Message, state: StateContext):
84
86
  message.chat.id,
85
87
  "What is one of your hobbies? Choose from the options below.",
86
88
  reply_markup=keyboard,
87
- reply_to_message_id=message.message_id,
89
+ reply_parameters=ReplyParameters(message_id=message.message_id),
88
90
  )
89
91
 
90
92
 
@@ -123,7 +125,8 @@ async def finish(message: types.Message, state: StateContext):
123
125
  )
124
126
 
125
127
  await bot.send_message(
126
- message.chat.id, msg, parse_mode="html", reply_to_message_id=message.message_id
128
+ message.chat.id, msg, parse_mode="html",
129
+ reply_parameters=ReplyParameters(message_id=message.message_id),
127
130
  )
128
131
  await state.delete()
129
132
 
@@ -134,7 +137,7 @@ async def age_incorrect(message: types.Message):
134
137
  await bot.send_message(
135
138
  message.chat.id,
136
139
  "Please enter a valid number for age.",
137
- reply_to_message_id=message.message_id,
140
+ reply_parameters=ReplyParameters(message_id=message.message_id),
138
141
  )
139
142
 
140
143
 
@@ -3,6 +3,7 @@ from telebot import custom_filters, types
3
3
  from telebot.states import State, StatesGroup
4
4
  from telebot.states.sync.context import StateContext
5
5
  from telebot.storage import StateMemoryStorage
6
+ from telebot.types import ReplyParameters
6
7
 
7
8
  # Initialize the bot
8
9
  state_storage = StateMemoryStorage() # don't use this in production; switch to redis
@@ -24,7 +25,7 @@ def start_ex(message: types.Message, state: StateContext):
24
25
  bot.send_message(
25
26
  message.chat.id,
26
27
  "Hello! What is your first name?",
27
- reply_to_message_id=message.message_id,
28
+ reply_parameters=ReplyParameters(message_id=message.message_id),
28
29
  )
29
30
 
30
31
 
@@ -35,7 +36,7 @@ def any_state(message: types.Message, state: StateContext):
35
36
  bot.send_message(
36
37
  message.chat.id,
37
38
  "Your information has been cleared. Type /start to begin again.",
38
- reply_to_message_id=message.message_id,
39
+ reply_parameters=ReplyParameters(message_id=message.message_id),
39
40
  )
40
41
 
41
42
 
@@ -44,7 +45,8 @@ def any_state(message: types.Message, state: StateContext):
44
45
  def name_get(message: types.Message, state: StateContext):
45
46
  state.set(MyStates.age)
46
47
  bot.send_message(
47
- message.chat.id, "How old are you?", reply_to_message_id=message.message_id
48
+ message.chat.id, "How old are you?",
49
+ reply_parameters=ReplyParameters(message_id=message.message_id),
48
50
  )
49
51
  state.add_data(name=message.text)
50
52
 
@@ -65,7 +67,7 @@ def ask_color(message: types.Message, state: StateContext):
65
67
  message.chat.id,
66
68
  "What is your favorite color? Choose from the options below.",
67
69
  reply_markup=keyboard,
68
- reply_to_message_id=message.message_id,
70
+ reply_parameters=ReplyParameters(message_id=message.message_id),
69
71
  )
70
72
 
71
73
 
@@ -85,7 +87,7 @@ def ask_hobby(message: types.Message, state: StateContext):
85
87
  message.chat.id,
86
88
  "What is one of your hobbies? Choose from the options below.",
87
89
  reply_markup=keyboard,
88
- reply_to_message_id=message.message_id,
90
+ reply_parameters=ReplyParameters(message_id=message.message_id),
89
91
  )
90
92
 
91
93
 
@@ -124,7 +126,8 @@ def finish(message: types.Message, state: StateContext):
124
126
  )
125
127
 
126
128
  bot.send_message(
127
- message.chat.id, msg, parse_mode="html", reply_to_message_id=message.message_id
129
+ message.chat.id, msg, parse_mode="html",
130
+ reply_parameters=ReplyParameters(message_id=message.message_id),
128
131
  )
129
132
  state.delete()
130
133
 
@@ -135,7 +138,7 @@ def age_incorrect(message: types.Message):
135
138
  bot.send_message(
136
139
  message.chat.id,
137
140
  "Please enter a valid number for age.",
138
- reply_to_message_id=message.message_id,
141
+ reply_parameters=ReplyParameters(message_id=message.message_id),
139
142
  )
140
143
 
141
144
 
@@ -1,4 +1,4 @@
1
- pyTelegramBotAPI==4.11.0
2
- Flask==3.0.0
3
- gunicorn==22.0.0
4
- Werkzeug==3.0.3
1
+ pyTelegramBotAPI==4.11.0
2
+ Flask==3.0.0
3
+ gunicorn==22.0.0
4
+ Werkzeug==3.0.6
@@ -4,21 +4,21 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "pyTelegramBotAPI"
7
- version = "4.23.0"
7
+ version = "4.25.0"
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.8"
12
+ requires-python = ">=3.9"
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.8",
18
17
  "Programming Language :: Python :: 3.9",
19
18
  "Programming Language :: Python :: 3.10",
20
19
  "Programming Language :: Python :: 3.11",
21
20
  "Programming Language :: Python :: 3.12",
21
+ "Programming Language :: Python :: 3.13",
22
22
  "Environment :: Console",
23
23
  "License :: OSI Approved :: GNU General Public License v2 (GPLv2)"
24
24
  ]