pyTelegramBotAPI 4.21.0__tar.gz → 4.22.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 (197) hide show
  1. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/PKG-INFO +2 -2
  2. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/README.md +1 -1
  3. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/conf.py +1 -1
  4. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/pyproject.toml +1 -1
  5. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/__init__.py +14 -6
  6. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/apihelper.py +6 -2
  7. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/async_telebot.py +13 -7
  8. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/asyncio_filters.py +454 -454
  9. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/asyncio_helper.py +6 -2
  10. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/formatting.py +474 -463
  11. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/types.py +670 -589
  12. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/version.py +1 -1
  13. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/.github/ISSUE_TEMPLATE +0 -0
  14. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  15. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/.github/workflows/setup_python.yml +0 -0
  16. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/.gitignore +0 -0
  17. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/.readthedocs.yml +0 -0
  18. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/.travis.yml +0 -0
  19. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/LICENSE +0 -0
  20. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/doc_req.txt +0 -0
  21. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/Makefile +0 -0
  22. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/_static/logo.png +0 -0
  23. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/_static/logo2.png +0 -0
  24. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/async_version/index.rst +0 -0
  25. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/calldata.rst +0 -0
  26. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/formatting.rst +0 -0
  27. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/index.rst +0 -0
  28. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/install.rst +0 -0
  29. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/locales/en/LC_MESSAGES/async_version.po +0 -0
  30. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/locales/en/LC_MESSAGES/calldata.po +0 -0
  31. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/locales/en/LC_MESSAGES/formatting.po +0 -0
  32. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/locales/en/LC_MESSAGES/index.po +0 -0
  33. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/locales/en/LC_MESSAGES/install.po +0 -0
  34. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/locales/en/LC_MESSAGES/quick_start.po +0 -0
  35. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/locales/en/LC_MESSAGES/sync_version.po +0 -0
  36. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/locales/en/LC_MESSAGES/types.po +0 -0
  37. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/locales/en/LC_MESSAGES/util.po +0 -0
  38. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/locales/ru/LC_MESSAGES/async_version.po +0 -0
  39. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/locales/ru/LC_MESSAGES/calldata.po +0 -0
  40. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/locales/ru/LC_MESSAGES/formatting.po +0 -0
  41. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/locales/ru/LC_MESSAGES/index.po +0 -0
  42. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/locales/ru/LC_MESSAGES/install.po +0 -0
  43. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/locales/ru/LC_MESSAGES/quick_start.po +0 -0
  44. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/locales/ru/LC_MESSAGES/sync_version.po +0 -0
  45. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/locales/ru/LC_MESSAGES/types.po +0 -0
  46. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/locales/ru/LC_MESSAGES/util.po +0 -0
  47. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/quick_start.rst +0 -0
  48. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/sync_version/index.rst +0 -0
  49. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/types.rst +0 -0
  50. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/docs/source/util.rst +0 -0
  51. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/anonymous_bot.py +0 -0
  52. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/callback_data_examples/advanced_calendar_example/filters.py +0 -0
  53. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/callback_data_examples/advanced_calendar_example/keyboards.py +0 -0
  54. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/callback_data_examples/advanced_calendar_example/main.py +0 -0
  55. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/callback_data_examples/simple_products_example.py +0 -0
  56. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/chat_join_request.py +0 -0
  57. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/chat_member_example.py +0 -0
  58. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/continue_handling.py +0 -0
  59. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/custom_filters/admin_filter_example.py +0 -0
  60. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/custom_filters/advanced_text_filter.py +0 -0
  61. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/custom_filters/general_custom_filters.py +0 -0
  62. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/custom_filters/id_filter_example.py +0 -0
  63. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/custom_filters/is_filter_example.py +0 -0
  64. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/custom_filters/text_filter_example.py +0 -0
  65. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/custom_states.py +0 -0
  66. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/detect_changes.py +0 -0
  67. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/download_file_example.py +0 -0
  68. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/echo_bot.py +0 -0
  69. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/exception_handler.py +0 -0
  70. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/formatting_example.py +0 -0
  71. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/message_reaction_example.py +0 -0
  72. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/middleware/flooding_middleware.py +0 -0
  73. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/middleware/i18n.py +0 -0
  74. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/i18n_base_midddleware.py +0 -0
  75. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/keyboards.py +0 -0
  76. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/locales/en/LC_MESSAGES/messages.po +0 -0
  77. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/locales/ru/LC_MESSAGES/messages.po +0 -0
  78. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/locales/uz_Latn/LC_MESSAGES/messages.po +0 -0
  79. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/main.py +0 -0
  80. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/multibot/README.MD +0 -0
  81. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/multibot/config.py +0 -0
  82. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/multibot/handlers.py +0 -0
  83. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/multibot/main.py +0 -0
  84. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/multibot/nginx_conf.conf +0 -0
  85. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/register_handler.py +0 -0
  86. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/send_file_example.py +0 -0
  87. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/set_command_example.py +0 -0
  88. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/skip_updates_example.py +0 -0
  89. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/timer_bot_async.py +0 -0
  90. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/update_listener.py +0 -0
  91. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/webhooks/async_webhook_aiohttp_echo_bot.py +0 -0
  92. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/webhooks/run_webhooks.py +0 -0
  93. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/asynchronous_telebot/webhooks/webhook_starlette_echo_bot.py +0 -0
  94. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/callback_data_examples/advanced_calendar_example/filters.py +0 -0
  95. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/callback_data_examples/advanced_calendar_example/keyboards.py +0 -0
  96. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/callback_data_examples/advanced_calendar_example/main.py +0 -0
  97. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/callback_data_examples/simple_products_example.py +0 -0
  98. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/chat_join_request.py +0 -0
  99. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/chat_member_example.py +0 -0
  100. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/continue_handling.py +0 -0
  101. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/create_invite_link.py +0 -0
  102. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/custom_filters/admin_filter_example.py +0 -0
  103. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/custom_filters/advanced_text_filter.py +0 -0
  104. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/custom_filters/general_custom_filters.py +0 -0
  105. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/custom_filters/id_filter_example.py +0 -0
  106. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/custom_filters/is_filter_example.py +0 -0
  107. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/custom_filters/text_filter_example.py +0 -0
  108. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/custom_states.py +0 -0
  109. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/deep_linking.py +0 -0
  110. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/detailed_example/detailed_example.py +0 -0
  111. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/detailed_example/kitten.jpg +0 -0
  112. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/detailed_example/rooster.jpg +0 -0
  113. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/detect_changes.py +0 -0
  114. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/download_file_example.py +0 -0
  115. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/echo_bot.py +0 -0
  116. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/formatting_example.py +0 -0
  117. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/inline_example.py +0 -0
  118. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/inline_keyboard_example.py +0 -0
  119. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/message_reaction_example.py +0 -0
  120. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/middleware/README.md +0 -0
  121. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/middleware/class_based/antiflood_middleware.py +0 -0
  122. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/middleware/class_based/basic_example.py +0 -0
  123. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/middleware/class_based/i18n_middleware/i18n_base_middleware.py +0 -0
  124. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/middleware/class_based/i18n_middleware/keyboards.py +0 -0
  125. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/middleware/class_based/i18n_middleware/locales/en/LC_MESSAGES/messages.po +0 -0
  126. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/middleware/class_based/i18n_middleware/locales/ru/LC_MESSAGES/messages.po +0 -0
  127. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/middleware/class_based/i18n_middleware/locales/uz_Latn/LC_MESSAGES/messages.po +0 -0
  128. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/middleware/class_based/i18n_middleware/main.py +0 -0
  129. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/middleware/function_based/i18n.py +0 -0
  130. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/middleware/function_based/i18n_gettext/i18n_class.py +0 -0
  131. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/middleware/function_based/i18n_gettext/keyboards.py +0 -0
  132. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/middleware/function_based/i18n_gettext/locales/en/LC_MESSAGES/messages.po +0 -0
  133. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/middleware/function_based/i18n_gettext/locales/ru/LC_MESSAGES/messages.po +0 -0
  134. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/middleware/function_based/i18n_gettext/locales/uz_Latn/LC_MESSAGES/messages.po +0 -0
  135. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/middleware/function_based/i18n_gettext/main.py +0 -0
  136. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/middleware/function_based/session.py +0 -0
  137. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/multibot/README.MD +0 -0
  138. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/multibot/config.py +0 -0
  139. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/multibot/handlers.py +0 -0
  140. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/multibot/main.py +0 -0
  141. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/multibot/nginx_conf.conf +0 -0
  142. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/payments_example.py +0 -0
  143. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/poll_example.py +0 -0
  144. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/register_handler.py +0 -0
  145. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/reply_keyboard_markup_example.py +0 -0
  146. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/serverless/aws_lambda_function.py +0 -0
  147. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/serverless/azure_functions +0 -0
  148. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/serverless/flask_google_cloud_bot/.gcloudignore +0 -0
  149. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/serverless/flask_google_cloud_bot/app.yaml +0 -0
  150. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/serverless/flask_google_cloud_bot/main.py +0 -0
  151. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/serverless/flask_google_cloud_bot/requirements.txt +0 -0
  152. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/set_command_example.py +0 -0
  153. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/skip_updates_example.py +0 -0
  154. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/step_example.py +0 -0
  155. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/telebot_bot/telebot_bot.py +0 -0
  156. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/timer_bot.py +0 -0
  157. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/webhook_examples/README.md +0 -0
  158. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/webhook_examples/run_webhooks.py +0 -0
  159. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/webhook_examples/webhook_aiohttp_echo_bot.py +0 -0
  160. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/webhook_examples/webhook_cherrypy_echo_bot.py +0 -0
  161. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/webhook_examples/webhook_cpython_echo_bot.py +0 -0
  162. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/webhook_examples/webhook_fastapi_echo_bot.py +0 -0
  163. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/webhook_examples/webhook_flask_echo_bot.py +0 -0
  164. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/webhook_examples/webhook_flask_heroku_echo.py +0 -0
  165. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/webhook_examples/webhook_tornado_echo_bot.py +0 -0
  166. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/examples/webhook_examples/webhook_twisted_echo_bot.py +0 -0
  167. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/requirements.txt +0 -0
  168. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/asyncio_handler_backends.py +0 -0
  169. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/asyncio_storage/__init__.py +0 -0
  170. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/asyncio_storage/base_storage.py +0 -0
  171. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/asyncio_storage/memory_storage.py +0 -0
  172. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/asyncio_storage/pickle_storage.py +0 -0
  173. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/asyncio_storage/redis_storage.py +0 -0
  174. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/callback_data.py +0 -0
  175. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/custom_filters.py +0 -0
  176. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/ext/__init__.py +0 -0
  177. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/ext/aio/__init__.py +0 -0
  178. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/ext/aio/webhooks.py +0 -0
  179. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/ext/reloader.py +0 -0
  180. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/ext/sync/__init__.py +0 -0
  181. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/ext/sync/webhooks.py +0 -0
  182. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/handler_backends.py +0 -0
  183. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/service_utils.py +0 -0
  184. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/storage/__init__.py +0 -0
  185. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/storage/base_storage.py +0 -0
  186. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/storage/memory_storage.py +0 -0
  187. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/storage/pickle_storage.py +0 -0
  188. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/storage/redis_storage.py +0 -0
  189. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/telebot/util.py +0 -0
  190. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/tests/__init__.py +0 -0
  191. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/tests/test_data/record.mp3 +0 -0
  192. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/tests/test_data/record.ogg +0 -0
  193. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/tests/test_data/record.wav +0 -0
  194. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/tests/test_data/test_video.mp4 +0 -0
  195. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/tests/test_handler_backends.py +0 -0
  196. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/tests/test_telebot.py +0 -0
  197. {pytelegrambotapi-4.21.0 → pytelegrambotapi-4.22.0}/tests/test_types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pyTelegramBotAPI
3
- Version: 4.21.0
3
+ Version: 4.22.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
@@ -55,7 +55,7 @@ Description-Content-Type: text/markdown
55
55
  <p align="center">A simple, but extensible Python implementation for the <a href="https://core.telegram.org/bots/api">Telegram Bot API</a>.</p>
56
56
  <p align="center">Both synchronous and asynchronous.</p>
57
57
 
58
- ## <p align="center">Supported Bot API version: <a href="https://core.telegram.org/bots/api#july-7-2024">7.6</a>!
58
+ ## <p align="center">Supported Bot API version: <a href="https://core.telegram.org/bots/api-changelog#july-31-2024">7.8</a>!
59
59
 
60
60
  <h2><a href='https://pytba.readthedocs.io/en/latest/index.html'>Official documentation</a></h2>
61
61
  <h2><a href='https://pytba.readthedocs.io/ru/latest/index.html'>Official ru documentation</a></h2>
@@ -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#july-7-2024">7.6</a>!
13
+ ## <p align="center">Supported Bot API version: <a href="https://core.telegram.org/bots/api-changelog#july-31-2024">7.8</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>
@@ -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.21.0'
25
+ release = '4.22.0'
26
26
 
27
27
 
28
28
  # -- General configuration ---------------------------------------------------
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "pyTelegramBotAPI"
7
- version = "4.21.0"
7
+ version = "4.22.0"
8
8
  description = "Python Telegram bot api."
9
9
  authors = [{name = "eternnoir", email = "eternnoir@gmail.com"}]
10
10
  license = {text = "GPL2"}
@@ -20,6 +20,7 @@ from telebot.storage import StatePickleStorage, StateMemoryStorage, StateStorage
20
20
  # random module to generate random string
21
21
  import random
22
22
  import string
23
+ import copy
23
24
 
24
25
  import ssl
25
26
 
@@ -4640,7 +4641,7 @@ class TeleBot:
4640
4641
 
4641
4642
  def pin_chat_message(
4642
4643
  self, chat_id: Union[int, str], message_id: int,
4643
- disable_notification: Optional[bool]=False) -> bool:
4644
+ disable_notification: Optional[bool]=False, business_connection_id: Optional[str]=None) -> bool:
4644
4645
  """
4645
4646
  Use this method to pin a message in a supergroup.
4646
4647
  The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
@@ -4659,15 +4660,19 @@ class TeleBot:
4659
4660
  to all group members about the new pinned message
4660
4661
  :type disable_notification: :obj:`bool`
4661
4662
 
4663
+ :param business_connection_id: Unique identifier of the business connection
4664
+ :type business_connection_id: :obj:`str`
4665
+
4662
4666
  :return: True on success.
4663
4667
  :rtype: :obj:`bool`
4664
4668
  """
4665
4669
  disable_notification = self.disable_notification if (disable_notification is None) else disable_notification
4666
4670
 
4667
- return apihelper.pin_chat_message(self.token, chat_id, message_id, disable_notification=disable_notification)
4671
+ return apihelper.pin_chat_message(self.token, chat_id, message_id, disable_notification=disable_notification,
4672
+ business_connection_id=business_connection_id)
4668
4673
 
4669
4674
 
4670
- def unpin_chat_message(self, chat_id: Union[int, str], message_id: Optional[int]=None) -> bool:
4675
+ def unpin_chat_message(self, chat_id: Union[int, str], message_id: Optional[int]=None, business_connection_id: Optional[str]=None) -> bool:
4671
4676
  """
4672
4677
  Use this method to unpin specific pinned message in a supergroup chat.
4673
4678
  The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
@@ -4682,10 +4687,13 @@ class TeleBot:
4682
4687
  :param message_id: Int: Identifier of a message to unpin
4683
4688
  :type message_id: :obj:`int`
4684
4689
 
4690
+ :param business_connection_id: Unique identifier of the business connection
4691
+ :type business_connection_id: :obj:`str`
4692
+
4685
4693
  :return: True on success.
4686
4694
  :rtype: :obj:`bool`
4687
4695
  """
4688
- return apihelper.unpin_chat_message(self.token, chat_id, message_id)
4696
+ return apihelper.unpin_chat_message(self.token, chat_id, message_id, business_connection_id=business_connection_id)
4689
4697
 
4690
4698
 
4691
4699
  def unpin_all_chat_messages(self, chat_id: Union[int, str]) -> bool:
@@ -7700,7 +7708,7 @@ class TeleBot:
7700
7708
  self.add_chosen_inline_handler(handler_dict)
7701
7709
 
7702
7710
 
7703
- def callback_query_handler(self, func, **kwargs):
7711
+ def callback_query_handler(self, func=None, **kwargs):
7704
7712
  """
7705
7713
  Handles new incoming callback query.
7706
7714
  As a parameter to the decorator function, it passes :class:`telebot.types.CallbackQuery` object.
@@ -8749,7 +8757,7 @@ class TeleBot:
8749
8757
  logger.error("It is not allowed to pass data and values inside data to the handler. Check your handler: {}".format(handler['function']))
8750
8758
  return
8751
8759
  else:
8752
- data_copy = data.copy()
8760
+ data_copy = copy.deepcopy(data)
8753
8761
  for key in list(data_copy):
8754
8762
  # remove data from data_copy if handler does not accept it
8755
8763
  if key not in params:
@@ -1386,19 +1386,23 @@ def set_chat_description(token, chat_id, description):
1386
1386
  return _make_request(token, method_url, params=payload, method='post')
1387
1387
 
1388
1388
 
1389
- def pin_chat_message(token, chat_id, message_id, disable_notification=None):
1389
+ def pin_chat_message(token, chat_id, message_id, disable_notification=None, business_connection_id=None):
1390
1390
  method_url = 'pinChatMessage'
1391
1391
  payload = {'chat_id': chat_id, 'message_id': message_id}
1392
1392
  if disable_notification is not None:
1393
1393
  payload['disable_notification'] = disable_notification
1394
+ if business_connection_id:
1395
+ payload['business_connection_id'] = business_connection_id
1394
1396
  return _make_request(token, method_url, params=payload, method='post')
1395
1397
 
1396
1398
 
1397
- def unpin_chat_message(token, chat_id, message_id):
1399
+ def unpin_chat_message(token, chat_id, message_id, business_connection_id=None):
1398
1400
  method_url = 'unpinChatMessage'
1399
1401
  payload = {'chat_id': chat_id}
1400
1402
  if message_id:
1401
1403
  payload['message_id'] = message_id
1404
+ if business_connection_id:
1405
+ payload['business_connection_id'] = business_connection_id
1402
1406
  return _make_request(token, method_url, params=payload, method='post')
1403
1407
 
1404
1408
 
@@ -32,7 +32,7 @@ REPLY_MARKUP_TYPES = Union[
32
32
  import string
33
33
  import random
34
34
  import ssl
35
-
35
+ import copy
36
36
 
37
37
  """
38
38
  Module : telebot
@@ -558,7 +558,7 @@ class AsyncTeleBot:
558
558
  logger.error("It is not allowed to pass data and values inside data to the handler. Check your handler: {}".format(handler['function']))
559
559
  return
560
560
  else:
561
- data_copy = data.copy()
561
+ data_copy = copy.deepcopy(data)
562
562
  for key in list(data_copy):
563
563
  # remove data from data_copy if handler does not accept it
564
564
  if key not in params:
@@ -1700,7 +1700,7 @@ class AsyncTeleBot:
1700
1700
  handler_dict = self._build_handler_dict(callback, func=func, pass_bot=pass_bot, **kwargs)
1701
1701
  self.add_chosen_inline_handler(handler_dict)
1702
1702
 
1703
- def callback_query_handler(self, func, **kwargs):
1703
+ def callback_query_handler(self, func=None, **kwargs):
1704
1704
  """
1705
1705
  Handles new incoming callback query.
1706
1706
  As a parameter to the decorator function, it passes :class:`telebot.types.CallbackQuery` object.
@@ -6023,7 +6023,7 @@ class AsyncTeleBot:
6023
6023
 
6024
6024
  async def pin_chat_message(
6025
6025
  self, chat_id: Union[int, str], message_id: int,
6026
- disable_notification: Optional[bool]=False) -> bool:
6026
+ disable_notification: Optional[bool]=False, business_connection_id: Optional[str]=None) -> bool:
6027
6027
  """
6028
6028
  Use this method to pin a message in a supergroup.
6029
6029
  The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
@@ -6042,14 +6042,17 @@ class AsyncTeleBot:
6042
6042
  to all group members about the new pinned message
6043
6043
  :type disable_notification: :obj:`bool`
6044
6044
 
6045
+ :param business_connection_id: Unique identifier of the business connection
6046
+ :type business_connection_id: :obj:`str`
6047
+
6045
6048
  :return: True on success.
6046
6049
  :rtype: :obj:`bool`
6047
6050
  """
6048
6051
  disable_notification = self.disable_notification if (disable_notification is None) else disable_notification
6049
6052
 
6050
- return await asyncio_helper.pin_chat_message(self.token, chat_id, message_id, disable_notification)
6053
+ return await asyncio_helper.pin_chat_message(self.token, chat_id, message_id, disable_notification, business_connection_id)
6051
6054
 
6052
- async def unpin_chat_message(self, chat_id: Union[int, str], message_id: Optional[int]=None) -> bool:
6055
+ async def unpin_chat_message(self, chat_id: Union[int, str], message_id: Optional[int]=None, business_connection_id: Optional[str]=None) -> bool:
6053
6056
  """
6054
6057
  Use this method to unpin specific pinned message in a supergroup chat.
6055
6058
  The bot must be an administrator in the chat for this to work and must have the appropriate admin rights.
@@ -6064,10 +6067,13 @@ class AsyncTeleBot:
6064
6067
  :param message_id: Int: Identifier of a message to unpin
6065
6068
  :type message_id: :obj:`int`
6066
6069
 
6070
+ :param business_connection_id: Unique identifier of the business connection
6071
+ :type business_connection_id: :obj:`str`
6072
+
6067
6073
  :return: True on success.
6068
6074
  :rtype: :obj:`bool`
6069
6075
  """
6070
- return await asyncio_helper.unpin_chat_message(self.token, chat_id, message_id)
6076
+ return await asyncio_helper.unpin_chat_message(self.token, chat_id, message_id, business_connection_id)
6071
6077
 
6072
6078
  async def unpin_all_chat_messages(self, chat_id: Union[int, str]) -> bool:
6073
6079
  """