pyTelegramBotAPI 4.24.0__tar.gz → 4.29.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 (212) hide show
  1. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/PKG-INFO +7 -7
  2. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/README.md +3 -2
  3. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/conf.py +1 -1
  4. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/serverless/flask_google_cloud_bot/requirements.txt +4 -4
  5. pytelegrambotapi-4.29.0/examples/stars_payment.py +64 -0
  6. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/pyproject.toml +2 -3
  7. pytelegrambotapi-4.29.0/requirements.txt +4 -0
  8. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/__init__.py +1502 -408
  9. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/apihelper.py +431 -22
  10. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/async_telebot.py +1674 -573
  11. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/asyncio_filters.py +1 -1
  12. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/asyncio_helper.py +420 -22
  13. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/asyncio_storage/base_storage.py +30 -6
  14. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/formatting.py +10 -5
  15. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/states/asyncio/context.py +2 -2
  16. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/storage/base_storage.py +30 -6
  17. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/types.py +2785 -520
  18. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/util.py +16 -12
  19. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/version.py +1 -1
  20. pytelegrambotapi-4.29.0/tests/__init__.py +0 -0
  21. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/tests/test_telebot.py +51 -30
  22. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/tests/test_types.py +2 -4
  23. pytelegrambotapi-4.24.0/requirements.txt +0 -4
  24. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/.github/ISSUE_TEMPLATE +0 -0
  25. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  26. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/.github/workflows/setup_python.yml +0 -0
  27. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/.gitignore +0 -0
  28. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/.readthedocs.yml +0 -0
  29. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/.travis.yml +0 -0
  30. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/LICENSE +0 -0
  31. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/doc_req.txt +0 -0
  32. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/Makefile +0 -0
  33. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/_static/logo.png +0 -0
  34. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/_static/logo2.png +0 -0
  35. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/async_version/index.rst +0 -0
  36. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/calldata.rst +0 -0
  37. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/formatting.rst +0 -0
  38. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/index.rst +0 -0
  39. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/install.rst +0 -0
  40. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/locales/en/LC_MESSAGES/async_version.po +0 -0
  41. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/locales/en/LC_MESSAGES/calldata.po +0 -0
  42. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/locales/en/LC_MESSAGES/formatting.po +0 -0
  43. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/locales/en/LC_MESSAGES/index.po +0 -0
  44. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/locales/en/LC_MESSAGES/install.po +0 -0
  45. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/locales/en/LC_MESSAGES/quick_start.po +0 -0
  46. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/locales/en/LC_MESSAGES/sync_version.po +0 -0
  47. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/locales/en/LC_MESSAGES/types.po +0 -0
  48. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/locales/en/LC_MESSAGES/util.po +0 -0
  49. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/locales/ru/LC_MESSAGES/async_version.po +0 -0
  50. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/locales/ru/LC_MESSAGES/calldata.po +0 -0
  51. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/locales/ru/LC_MESSAGES/formatting.po +0 -0
  52. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/locales/ru/LC_MESSAGES/index.po +0 -0
  53. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/locales/ru/LC_MESSAGES/install.po +0 -0
  54. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/locales/ru/LC_MESSAGES/quick_start.po +0 -0
  55. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/locales/ru/LC_MESSAGES/sync_version.po +0 -0
  56. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/locales/ru/LC_MESSAGES/types.po +0 -0
  57. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/locales/ru/LC_MESSAGES/util.po +0 -0
  58. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/quick_start.rst +0 -0
  59. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/sync_version/index.rst +0 -0
  60. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/types.rst +0 -0
  61. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/docs/source/util.rst +0 -0
  62. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/anonymous_bot.py +0 -0
  63. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/callback_data_examples/advanced_calendar_example/filters.py +0 -0
  64. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/callback_data_examples/advanced_calendar_example/keyboards.py +0 -0
  65. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/callback_data_examples/advanced_calendar_example/main.py +0 -0
  66. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/callback_data_examples/simple_products_example.py +0 -0
  67. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/chat_join_request.py +0 -0
  68. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/chat_member_example.py +0 -0
  69. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/continue_handling.py +0 -0
  70. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/custom_filters/admin_filter_example.py +0 -0
  71. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/custom_filters/advanced_text_filter.py +0 -0
  72. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/custom_filters/general_custom_filters.py +0 -0
  73. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/custom_filters/id_filter_example.py +0 -0
  74. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/custom_filters/is_filter_example.py +0 -0
  75. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/custom_filters/text_filter_example.py +0 -0
  76. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/custom_states.py +0 -0
  77. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/detect_changes.py +0 -0
  78. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/download_file_example.py +0 -0
  79. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/echo_bot.py +0 -0
  80. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/exception_handler.py +0 -0
  81. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/formatting_example.py +0 -0
  82. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/message_reaction_example.py +0 -0
  83. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/middleware/flooding_middleware.py +0 -0
  84. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/middleware/i18n.py +0 -0
  85. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/i18n_base_midddleware.py +0 -0
  86. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/keyboards.py +0 -0
  87. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/locales/en/LC_MESSAGES/messages.po +0 -0
  88. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/locales/ru/LC_MESSAGES/messages.po +0 -0
  89. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/locales/uz_Latn/LC_MESSAGES/messages.po +0 -0
  90. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/main.py +0 -0
  91. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/mini_app.py +0 -0
  92. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/multibot/README.MD +0 -0
  93. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/multibot/config.py +0 -0
  94. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/multibot/handlers.py +0 -0
  95. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/multibot/main.py +0 -0
  96. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/multibot/nginx_conf.conf +0 -0
  97. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/register_handler.py +0 -0
  98. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/send_file_example.py +0 -0
  99. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/set_command_example.py +0 -0
  100. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/skip_updates_example.py +0 -0
  101. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/timer_bot_async.py +0 -0
  102. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/update_listener.py +0 -0
  103. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/webhooks/async_webhook_aiohttp_echo_bot.py +0 -0
  104. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/webhooks/run_webhooks.py +0 -0
  105. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/asynchronous_telebot/webhooks/webhook_starlette_echo_bot.py +0 -0
  106. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/callback_data_examples/advanced_calendar_example/filters.py +0 -0
  107. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/callback_data_examples/advanced_calendar_example/keyboards.py +0 -0
  108. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/callback_data_examples/advanced_calendar_example/main.py +0 -0
  109. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/callback_data_examples/simple_products_example.py +0 -0
  110. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/chat_join_request.py +0 -0
  111. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/chat_member_example.py +0 -0
  112. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/continue_handling.py +0 -0
  113. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/create_invite_link.py +0 -0
  114. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/custom_filters/admin_filter_example.py +0 -0
  115. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/custom_filters/advanced_text_filter.py +0 -0
  116. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/custom_filters/general_custom_filters.py +0 -0
  117. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/custom_filters/id_filter_example.py +0 -0
  118. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/custom_filters/is_filter_example.py +0 -0
  119. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/custom_filters/text_filter_example.py +0 -0
  120. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/custom_states.py +0 -0
  121. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/deep_linking.py +0 -0
  122. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/detailed_example/detailed_example.py +0 -0
  123. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/detailed_example/kitten.jpg +0 -0
  124. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/detailed_example/rooster.jpg +0 -0
  125. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/detect_changes.py +0 -0
  126. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/download_file_example.py +0 -0
  127. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/echo_bot.py +0 -0
  128. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/formatting_example.py +0 -0
  129. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/inline_example.py +0 -0
  130. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/inline_keyboard_example.py +0 -0
  131. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/message_reaction_example.py +0 -0
  132. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/middleware/README.md +0 -0
  133. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/middleware/class_based/antiflood_middleware.py +0 -0
  134. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/middleware/class_based/basic_example.py +0 -0
  135. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/middleware/class_based/i18n_middleware/i18n_base_middleware.py +0 -0
  136. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/middleware/class_based/i18n_middleware/keyboards.py +0 -0
  137. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/middleware/class_based/i18n_middleware/locales/en/LC_MESSAGES/messages.po +0 -0
  138. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/middleware/class_based/i18n_middleware/locales/ru/LC_MESSAGES/messages.po +0 -0
  139. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/middleware/class_based/i18n_middleware/locales/uz_Latn/LC_MESSAGES/messages.po +0 -0
  140. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/middleware/class_based/i18n_middleware/main.py +0 -0
  141. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/middleware/function_based/i18n.py +0 -0
  142. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/middleware/function_based/i18n_gettext/i18n_class.py +0 -0
  143. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/middleware/function_based/i18n_gettext/keyboards.py +0 -0
  144. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/middleware/function_based/i18n_gettext/locales/en/LC_MESSAGES/messages.po +0 -0
  145. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/middleware/function_based/i18n_gettext/locales/ru/LC_MESSAGES/messages.po +0 -0
  146. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/middleware/function_based/i18n_gettext/locales/uz_Latn/LC_MESSAGES/messages.po +0 -0
  147. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/middleware/function_based/i18n_gettext/main.py +0 -0
  148. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/middleware/function_based/session.py +0 -0
  149. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/mini_app.py +0 -0
  150. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/mini_app_web/index.html +0 -0
  151. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/mini_app_web/script.js +0 -0
  152. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/mini_app_web/style.css +0 -0
  153. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/multibot/README.MD +0 -0
  154. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/multibot/config.py +0 -0
  155. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/multibot/handlers.py +0 -0
  156. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/multibot/main.py +0 -0
  157. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/multibot/nginx_conf.conf +0 -0
  158. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/payments_example.py +0 -0
  159. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/poll_example.py +0 -0
  160. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/register_handler.py +0 -0
  161. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/reply_keyboard_markup_example.py +0 -0
  162. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/serverless/aws_lambda_function.py +0 -0
  163. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/serverless/azure_functions +0 -0
  164. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/serverless/flask_google_cloud_bot/.gcloudignore +0 -0
  165. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/serverless/flask_google_cloud_bot/app.yaml +0 -0
  166. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/serverless/flask_google_cloud_bot/main.py +0 -0
  167. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/set_command_example.py +0 -0
  168. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/skip_updates_example.py +0 -0
  169. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/step_example.py +0 -0
  170. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/telebot_bot/telebot_bot.py +0 -0
  171. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/timer_bot.py +0 -0
  172. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/webhook_examples/README.md +0 -0
  173. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/webhook_examples/run_webhooks.py +0 -0
  174. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/webhook_examples/webhook_aiohttp_echo_bot.py +0 -0
  175. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/webhook_examples/webhook_cherrypy_echo_bot.py +0 -0
  176. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/webhook_examples/webhook_cpython_echo_bot.py +0 -0
  177. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/webhook_examples/webhook_fastapi_echo_bot.py +0 -0
  178. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/webhook_examples/webhook_flask_echo_bot.py +0 -0
  179. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/webhook_examples/webhook_flask_heroku_echo.py +0 -0
  180. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/webhook_examples/webhook_tornado_echo_bot.py +0 -0
  181. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/examples/webhook_examples/webhook_twisted_echo_bot.py +0 -0
  182. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/asyncio_handler_backends.py +0 -0
  183. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/asyncio_storage/__init__.py +0 -0
  184. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/asyncio_storage/memory_storage.py +0 -0
  185. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/asyncio_storage/pickle_storage.py +0 -0
  186. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/asyncio_storage/redis_storage.py +0 -0
  187. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/callback_data.py +0 -0
  188. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/custom_filters.py +0 -0
  189. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/ext/__init__.py +0 -0
  190. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/ext/aio/__init__.py +0 -0
  191. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/ext/aio/webhooks.py +0 -0
  192. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/ext/reloader.py +0 -0
  193. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/ext/sync/__init__.py +0 -0
  194. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/ext/sync/webhooks.py +0 -0
  195. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/handler_backends.py +0 -0
  196. /pytelegrambotapi-4.24.0/tests/__init__.py → /pytelegrambotapi-4.29.0/telebot/py.typed +0 -0
  197. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/service_utils.py +0 -0
  198. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/states/__init__.py +0 -0
  199. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/states/asyncio/__init__.py +0 -0
  200. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/states/asyncio/middleware.py +0 -0
  201. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/states/sync/__init__.py +0 -0
  202. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/states/sync/context.py +0 -0
  203. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/states/sync/middleware.py +0 -0
  204. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/storage/__init__.py +0 -0
  205. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/storage/memory_storage.py +0 -0
  206. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/storage/pickle_storage.py +0 -0
  207. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/telebot/storage/redis_storage.py +0 -0
  208. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/tests/test_data/record.mp3 +0 -0
  209. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/tests/test_data/record.ogg +0 -0
  210. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/tests/test_data/record.wav +0 -0
  211. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/tests/test_data/test_video.mp4 +0 -0
  212. {pytelegrambotapi-4.24.0 → pytelegrambotapi-4.29.0}/tests/test_handler_backends.py +0 -0
@@ -1,13 +1,14 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: pyTelegramBotAPI
3
- Version: 4.24.0
4
- Summary: Python Telegram bot api.
3
+ Version: 4.29.0
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
7
7
  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
11
12
  Keywords: api,bot,telegram,tools
12
13
  Classifier: Development Status :: 5 - Production/Stable
13
14
  Classifier: Environment :: Console
@@ -20,8 +21,6 @@ Classifier: Programming Language :: Python :: 3.12
20
21
  Classifier: Programming Language :: Python :: 3.13
21
22
  Requires-Python: >=3.9
22
23
  Requires-Dist: requests
23
- Provides-Extra: aiohttp
24
- Requires-Dist: aiohttp; extra == 'aiohttp'
25
24
  Provides-Extra: coloredlogs
26
25
  Requires-Dist: coloredlogs; extra == 'coloredlogs'
27
26
  Provides-Extra: fastapi
@@ -52,7 +51,7 @@ Description-Content-Type: text/markdown
52
51
  <p align="center">A simple, but extensible Python implementation for the <a href="https://core.telegram.org/bots/api">Telegram Bot API</a>.</p>
53
52
  <p align="center">Both synchronous and asynchronous.</p>
54
53
 
55
- ## <p align="center">Supported Bot API version: <a href="https://core.telegram.org/bots/api#october-31-2024"><img src="https://img.shields.io/badge/Bot%20API-7.11-blue?logo=telegram" alt="Supported Bot API version"></a>
54
+ ## <p align="center">Supported Bot API version: <a href="https://core.telegram.org/bots/api#august-15-2025"><img src="https://img.shields.io/badge/Bot%20API-9.2-blue?logo=telegram" alt="Supported Bot API version"></a>
56
55
 
57
56
  <h2><a href='https://pytba.readthedocs.io/en/latest/index.html'>Official documentation</a></h2>
58
57
  <h2><a href='https://pytba.readthedocs.io/ru/latest/index.html'>Official ru documentation</a></h2>
@@ -872,7 +871,7 @@ Here are some examples of template:
872
871
  * [RadRetroRobot](https://github.com/Tronikart/RadRetroRobot) by *Tronikart* - Multifunctional Telegram Bot RadRetroRobot.
873
872
  * [League of Legends bot](https://telegram.me/League_of_Legends_bot) ([source](https://github.com/i32ropie/lol)) by *i32ropie*
874
873
  * [NeoBot](https://github.com/neoranger/NeoBot) by [@NeoRanger](https://github.com/neoranger)
875
- * [ColorCodeBot](https://t.me/colorcodebot) ([source](https://github.com/andydecleyre/colorcodebot)) - Share code snippets as beautifully syntax-highlighted HTML and/or images.
874
+ * [ColorCodeBot](https://t.me/colorcodebot) ([source](https://github.com/andydecleyre/colorcodebot)) - Share code snippets as beautifully syntax-highlighted images.
876
875
  * [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.
877
876
  * [proxybot](https://github.com/p-hash/proxybot) - Simple Proxy Bot for Telegram. by p-hash
878
877
  * [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
@@ -933,5 +932,6 @@ Here are some examples of template:
933
932
  * [4K YouTube Downloader](https://github.com/hansanaD/TelegramYTDLBot/) - Youtube Downloader with upto 4K resolution support.
934
933
  * [DrinkGenius-Bot](https://t.me/cocktail_recommendation_bot) ([source](https://github.com/Povladarchik/DrinkGenius-Bot)) by [Povladarchik](https://github.com/Povladarchik). Your personal assistant in the world of cocktails.
935
934
  * [Pytgpt-Bot](https://t.me/pytgpt_bot) ([source](https://github.com/Simatwa/pytgpt-bot)) by [Smartwa](https://github.com/Simatwa). AI powered bot for chatting, text-to-image and text-to-speech conversions.
935
+ * [BetterForward](https://github.com/SideCloudGroup/BetterForward) by [SideCloud](https://github.com/SideCloudGroup). Probably the most reliable Message Forwarding Bot in Telegram via the Topic feature.
936
936
 
937
937
  **Want to have your bot listed here? Just make a pull request. Only bots with public source code are accepted.**
@@ -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#october-31-2024"><img src="https://img.shields.io/badge/Bot%20API-7.11-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#august-15-2025"><img src="https://img.shields.io/badge/Bot%20API-9.2-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>
@@ -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
@@ -891,5 +891,6 @@ Here are some examples of template:
891
891
  * [4K YouTube Downloader](https://github.com/hansanaD/TelegramYTDLBot/) - Youtube Downloader with upto 4K resolution support.
892
892
  * [DrinkGenius-Bot](https://t.me/cocktail_recommendation_bot) ([source](https://github.com/Povladarchik/DrinkGenius-Bot)) by [Povladarchik](https://github.com/Povladarchik). Your personal assistant in the world of cocktails.
893
893
  * [Pytgpt-Bot](https://t.me/pytgpt_bot) ([source](https://github.com/Simatwa/pytgpt-bot)) by [Smartwa](https://github.com/Simatwa). AI powered bot for chatting, text-to-image and text-to-speech conversions.
894
+ * [BetterForward](https://github.com/SideCloudGroup/BetterForward) by [SideCloud](https://github.com/SideCloudGroup). Probably the most reliable Message Forwarding Bot in Telegram via the Topic feature.
894
895
 
895
896
  **Want to have your bot listed here? Just make a pull request. Only bots with public source code are accepted.**
@@ -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.24.0'
25
+ release = '4.29.0'
26
26
 
27
27
 
28
28
  # -- General configuration ---------------------------------------------------
@@ -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==23.0.0
4
+ Werkzeug==3.0.6
@@ -0,0 +1,64 @@
1
+ # Import required libraries
2
+ import telebot
3
+ from telebot import types
4
+
5
+ bot = telebot.TeleBot('TOKEN')
6
+
7
+ # Product prices in stars
8
+ PRICES = {
9
+ '10 Stars': 10, # $1.00 - Entry level package
10
+ '50 Stars': 45, # $4.50 - Medium package with 10% discount
11
+ '100 Stars': 80, # $8.00 - Large package with 20% discount
12
+ '500 Stars': 350 # $35.00 - Bulk package with 30% discount
13
+ }
14
+
15
+ # Handler for /start command - Then the bot will send amount stars to purchase
16
+ @bot.message_handler(commands=['start'])
17
+ def send_welcome(message):
18
+ # Create a custom keyboard with 2 buttons per row
19
+ markup = types.ReplyKeyboardMarkup(row_width=2)
20
+ # Generate buttons for each product in our PRICES dictionary
21
+ buttons = [types.KeyboardButton(product) for product in PRICES.keys()]
22
+ # Add all buttons to the markup
23
+ markup.add(*buttons)
24
+
25
+ # Send welcome message with the custom keyboard
26
+ bot.reply_to(message,
27
+ "Welcome to Stars Payment Bot!\nPlease select amount of stars to purchase:",
28
+ reply_markup=markup)
29
+
30
+ # Handler for when user selects a product from the keyboard
31
+ @bot.message_handler(func=lambda message: message.text in PRICES.keys())
32
+ def handle_product_selection(message):
33
+ # Get selected product and its price
34
+ product = message.text
35
+ price = PRICES[product]
36
+
37
+ # Create invoice with product details
38
+ prices = [types.LabeledPrice(label=product, amount=price)]
39
+
40
+ # Send payment invoice to user
41
+ bot.send_invoice(
42
+ message.chat.id, # Chat ID to send invoice to
43
+ title=f"Purchase {product}", # Title of the invoice
44
+ description=f"Buy {product} for your account", # Description shown on invoice
45
+ provider_token='', # Payment provider token (empty for testing)
46
+ currency='XTR', # Currency code
47
+ prices=prices, # List of prices (we only have one item)
48
+ start_parameter='stars-payment', # Deep-linking parameter
49
+ invoice_payload=product # Payload to identify the product after payment
50
+ )
51
+
52
+ # Pre-checkout handler - Called before payment is completed
53
+ @bot.pre_checkout_query_handler(func=lambda query: True)
54
+ def process_pre_checkout_query(pre_checkout_query):
55
+ bot.answer_pre_checkout_query(pre_checkout_query.id, ok=True)
56
+
57
+ # Handler for successful payments
58
+ @bot.message_handler(content_types=['successful_payment'])
59
+ def handle_successful_payment(message):
60
+ # Get the product that was purchased from the invoice payload
61
+ product = message.successful_payment.invoice_payload
62
+ bot.reply_to(message,
63
+ f"Payment for {product} successful!")
64
+ bot.polling()
@@ -4,8 +4,8 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "pyTelegramBotAPI"
7
- version = "4.24.0"
8
- description = "Python Telegram bot api."
7
+ version = "4.29.0"
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"
@@ -35,7 +35,6 @@ Issues = "https://github.com/eternnoir/pyTelegramBotAPI/issues"
35
35
  json = ["ujson"]
36
36
  PIL = ["Pillow"]
37
37
  redis = ["redis>=3.4.1"]
38
- aiohttp = ["aiohttp"]
39
38
  fastapi = ["fastapi"]
40
39
  uvicorn = ["uvicorn"]
41
40
  psutil = ["psutil"]
@@ -0,0 +1,4 @@
1
+ pytest
2
+ requests==2.32.4
3
+ wheel==0.38.1
4
+ aiohttp==3.12.14