pyTelegramBotAPI 4.25.0__tar.gz → 4.26.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.
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/PKG-INFO +4 -3
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/README.md +1 -1
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/conf.py +1 -1
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/pyproject.toml +1 -1
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/requirements.txt +1 -1
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/__init__.py +71 -3
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/apihelper.py +37 -1
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/async_telebot.py +71 -3
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/asyncio_helper.py +33 -1
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/types.py +9 -1
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/version.py +1 -1
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/.github/ISSUE_TEMPLATE +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/.github/workflows/setup_python.yml +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/.gitignore +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/.readthedocs.yml +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/.travis.yml +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/LICENSE +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/doc_req.txt +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/Makefile +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/_static/logo.png +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/_static/logo2.png +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/async_version/index.rst +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/calldata.rst +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/formatting.rst +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/index.rst +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/install.rst +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/en/LC_MESSAGES/async_version.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/en/LC_MESSAGES/calldata.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/en/LC_MESSAGES/formatting.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/en/LC_MESSAGES/index.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/en/LC_MESSAGES/install.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/en/LC_MESSAGES/quick_start.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/en/LC_MESSAGES/sync_version.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/en/LC_MESSAGES/types.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/en/LC_MESSAGES/util.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/ru/LC_MESSAGES/async_version.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/ru/LC_MESSAGES/calldata.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/ru/LC_MESSAGES/formatting.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/ru/LC_MESSAGES/index.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/ru/LC_MESSAGES/install.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/ru/LC_MESSAGES/quick_start.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/ru/LC_MESSAGES/sync_version.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/ru/LC_MESSAGES/types.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/ru/LC_MESSAGES/util.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/quick_start.rst +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/sync_version/index.rst +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/types.rst +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/util.rst +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/anonymous_bot.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/callback_data_examples/advanced_calendar_example/filters.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/callback_data_examples/advanced_calendar_example/keyboards.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/callback_data_examples/advanced_calendar_example/main.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/callback_data_examples/simple_products_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/chat_join_request.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/chat_member_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/continue_handling.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/custom_filters/admin_filter_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/custom_filters/advanced_text_filter.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/custom_filters/general_custom_filters.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/custom_filters/id_filter_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/custom_filters/is_filter_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/custom_filters/text_filter_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/custom_states.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/detect_changes.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/download_file_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/echo_bot.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/exception_handler.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/formatting_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/message_reaction_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/middleware/flooding_middleware.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/middleware/i18n.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/i18n_base_midddleware.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/keyboards.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/locales/en/LC_MESSAGES/messages.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/locales/ru/LC_MESSAGES/messages.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/locales/uz_Latn/LC_MESSAGES/messages.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/main.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/mini_app.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/multibot/README.MD +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/multibot/config.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/multibot/handlers.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/multibot/main.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/multibot/nginx_conf.conf +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/register_handler.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/send_file_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/set_command_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/skip_updates_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/timer_bot_async.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/update_listener.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/webhooks/async_webhook_aiohttp_echo_bot.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/webhooks/run_webhooks.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/webhooks/webhook_starlette_echo_bot.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/callback_data_examples/advanced_calendar_example/filters.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/callback_data_examples/advanced_calendar_example/keyboards.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/callback_data_examples/advanced_calendar_example/main.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/callback_data_examples/simple_products_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/chat_join_request.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/chat_member_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/continue_handling.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/create_invite_link.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/custom_filters/admin_filter_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/custom_filters/advanced_text_filter.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/custom_filters/general_custom_filters.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/custom_filters/id_filter_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/custom_filters/is_filter_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/custom_filters/text_filter_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/custom_states.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/deep_linking.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/detailed_example/detailed_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/detailed_example/kitten.jpg +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/detailed_example/rooster.jpg +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/detect_changes.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/download_file_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/echo_bot.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/formatting_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/inline_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/inline_keyboard_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/message_reaction_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/middleware/README.md +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/middleware/class_based/antiflood_middleware.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/middleware/class_based/basic_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/middleware/class_based/i18n_middleware/i18n_base_middleware.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/middleware/class_based/i18n_middleware/keyboards.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/middleware/class_based/i18n_middleware/locales/en/LC_MESSAGES/messages.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/middleware/class_based/i18n_middleware/locales/ru/LC_MESSAGES/messages.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/middleware/class_based/i18n_middleware/locales/uz_Latn/LC_MESSAGES/messages.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/middleware/class_based/i18n_middleware/main.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/middleware/function_based/i18n.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/middleware/function_based/i18n_gettext/i18n_class.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/middleware/function_based/i18n_gettext/keyboards.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/middleware/function_based/i18n_gettext/locales/en/LC_MESSAGES/messages.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/middleware/function_based/i18n_gettext/locales/ru/LC_MESSAGES/messages.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/middleware/function_based/i18n_gettext/locales/uz_Latn/LC_MESSAGES/messages.po +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/middleware/function_based/i18n_gettext/main.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/middleware/function_based/session.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/mini_app.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/mini_app_web/index.html +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/mini_app_web/script.js +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/mini_app_web/style.css +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/multibot/README.MD +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/multibot/config.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/multibot/handlers.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/multibot/main.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/multibot/nginx_conf.conf +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/payments_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/poll_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/register_handler.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/reply_keyboard_markup_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/serverless/aws_lambda_function.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/serverless/azure_functions +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/serverless/flask_google_cloud_bot/.gcloudignore +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/serverless/flask_google_cloud_bot/app.yaml +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/serverless/flask_google_cloud_bot/main.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/serverless/flask_google_cloud_bot/requirements.txt +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/set_command_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/skip_updates_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/step_example.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/telebot_bot/telebot_bot.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/timer_bot.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/webhook_examples/README.md +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/webhook_examples/run_webhooks.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/webhook_examples/webhook_aiohttp_echo_bot.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/webhook_examples/webhook_cherrypy_echo_bot.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/webhook_examples/webhook_cpython_echo_bot.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/webhook_examples/webhook_fastapi_echo_bot.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/webhook_examples/webhook_flask_echo_bot.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/webhook_examples/webhook_flask_heroku_echo.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/webhook_examples/webhook_tornado_echo_bot.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/webhook_examples/webhook_twisted_echo_bot.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/asyncio_filters.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/asyncio_handler_backends.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/asyncio_storage/__init__.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/asyncio_storage/base_storage.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/asyncio_storage/memory_storage.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/asyncio_storage/pickle_storage.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/asyncio_storage/redis_storage.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/callback_data.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/custom_filters.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/ext/__init__.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/ext/aio/__init__.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/ext/aio/webhooks.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/ext/reloader.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/ext/sync/__init__.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/ext/sync/webhooks.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/formatting.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/handler_backends.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/service_utils.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/states/__init__.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/states/asyncio/__init__.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/states/asyncio/context.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/states/asyncio/middleware.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/states/sync/__init__.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/states/sync/context.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/states/sync/middleware.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/storage/__init__.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/storage/base_storage.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/storage/memory_storage.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/storage/pickle_storage.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/storage/redis_storage.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/telebot/util.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/tests/__init__.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/tests/test_data/record.mp3 +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/tests/test_data/record.ogg +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/tests/test_data/record.wav +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/tests/test_data/test_video.mp4 +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/tests/test_handler_backends.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/tests/test_telebot.py +0 -0
- {pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/tests/test_types.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: pyTelegramBotAPI
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.26.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,6 +8,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
|
|
@@ -52,7 +53,7 @@ Description-Content-Type: text/markdown
|
|
|
52
53
|
<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
54
|
<p align="center">Both synchronous and asynchronous.</p>
|
|
54
55
|
|
|
55
|
-
## <p align="center">Supported Bot API version: <a href="https://core.telegram.org/bots/api#
|
|
56
|
+
## <p align="center">Supported Bot API version: <a href="https://core.telegram.org/bots/api#january-1-2025"><img src="https://img.shields.io/badge/Bot%20API-8.2-blue?logo=telegram" alt="Supported Bot API version"></a>
|
|
56
57
|
|
|
57
58
|
<h2><a href='https://pytba.readthedocs.io/en/latest/index.html'>Official documentation</a></h2>
|
|
58
59
|
<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#
|
|
13
|
+
## <p align="center">Supported Bot API version: <a href="https://core.telegram.org/bots/api#january-1-2025"><img src="https://img.shields.io/badge/Bot%20API-8.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>
|
|
@@ -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.
|
|
25
|
+
release = '4.26.0'
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
# -- General configuration ---------------------------------------------------
|
|
@@ -5474,7 +5474,7 @@ class TeleBot:
|
|
|
5474
5474
|
(e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.)
|
|
5475
5475
|
:type prices: :obj:`list` of :obj:`types.LabeledPrice`
|
|
5476
5476
|
|
|
5477
|
-
:subscription_period:
|
|
5477
|
+
:param subscription_period: The number of seconds the subscription will be active for before the next payment.
|
|
5478
5478
|
The currency must be set to “XTR” (Telegram Stars) if the parameter is used. Currently, it must always
|
|
5479
5479
|
be 2592000 (30 days) if specified.
|
|
5480
5480
|
:type subscription_period: :obj:`int`
|
|
@@ -6250,7 +6250,8 @@ class TeleBot:
|
|
|
6250
6250
|
"""
|
|
6251
6251
|
return apihelper.delete_sticker_set(self.token, name)
|
|
6252
6252
|
|
|
6253
|
-
def send_gift(self, user_id: int, gift_id: str, text: Optional[str]=None, text_parse_mode: Optional[str]=None,
|
|
6253
|
+
def send_gift(self, user_id: int, gift_id: str, text: Optional[str]=None, text_parse_mode: Optional[str]=None,
|
|
6254
|
+
text_entities: Optional[List[types.MessageEntity]]=None, pay_for_upgrade: Optional[bool]=None) -> bool:
|
|
6254
6255
|
"""
|
|
6255
6256
|
Sends a gift to the given user. The gift can't be converted to Telegram Stars by the user. Returns True on success.
|
|
6256
6257
|
|
|
@@ -6262,6 +6263,9 @@ class TeleBot:
|
|
|
6262
6263
|
:param gift_id: Identifier of the gift
|
|
6263
6264
|
:type gift_id: :obj:`str`
|
|
6264
6265
|
|
|
6266
|
+
:param pay_for_upgrade: Pass True to pay for the gift upgrade from the bot's balance, thereby making the upgrade free for the receiver
|
|
6267
|
+
:type pay_for_upgrade: :obj:`bool`
|
|
6268
|
+
|
|
6265
6269
|
:param text: Text that will be shown along with the gift; 0-255 characters
|
|
6266
6270
|
:type text: :obj:`str`
|
|
6267
6271
|
|
|
@@ -6274,7 +6278,71 @@ class TeleBot:
|
|
|
6274
6278
|
:return: Returns True on success.
|
|
6275
6279
|
:rtype: :obj:`bool`
|
|
6276
6280
|
"""
|
|
6277
|
-
return apihelper.send_gift(self.token, user_id, gift_id, text=text, text_parse_mode=text_parse_mode, text_entities=text_entities
|
|
6281
|
+
return apihelper.send_gift(self.token, user_id, gift_id, text=text, text_parse_mode=text_parse_mode, text_entities=text_entities,
|
|
6282
|
+
pay_for_upgrade=pay_for_upgrade)
|
|
6283
|
+
|
|
6284
|
+
def verify_user(self, user_id: int, custom_description: Optional[str]=None) -> bool:
|
|
6285
|
+
"""
|
|
6286
|
+
Verifies a user on behalf of the organization which is represented by the bot. Returns True on success.
|
|
6287
|
+
|
|
6288
|
+
Telegram documentation: https://core.telegram.org/bots/api#verifyuser
|
|
6289
|
+
|
|
6290
|
+
:param user_id: Unique identifier of the target user
|
|
6291
|
+
:type user_id: :obj:`int`
|
|
6292
|
+
|
|
6293
|
+
:param custom_description: Custom description for the verification; 0-70 characters. Must be empty if the organization isn't allowed to provide a custom verification description.
|
|
6294
|
+
:type custom_description: :obj:`str`
|
|
6295
|
+
|
|
6296
|
+
:return: Returns True on success.
|
|
6297
|
+
:rtype: :obj:`bool`
|
|
6298
|
+
"""
|
|
6299
|
+
return apihelper.verify_user(self.token, user_id, custom_description=custom_description)
|
|
6300
|
+
|
|
6301
|
+
def verify_chat(self, chat_id: Union[int, str], custom_description: Optional[str]=None) -> bool:
|
|
6302
|
+
"""
|
|
6303
|
+
Verifies a chat on behalf of the organization which is represented by the bot. Returns True on success.
|
|
6304
|
+
|
|
6305
|
+
Telegram documentation: https://core.telegram.org/bots/api#verifychat
|
|
6306
|
+
|
|
6307
|
+
:param chat_id: Unique identifier for the target chat or username of the target channel (in the format @channelusername)
|
|
6308
|
+
:type chat_id: :obj:`int` | :obj:`str`
|
|
6309
|
+
|
|
6310
|
+
:param custom_description: Custom description for the verification; 0-70 characters. Must be empty if the organization isn't allowed to provide a custom verification description.
|
|
6311
|
+
:type custom_description: :obj:`str`
|
|
6312
|
+
|
|
6313
|
+
:return: Returns True on success.
|
|
6314
|
+
:rtype: :obj:`bool`
|
|
6315
|
+
"""
|
|
6316
|
+
return apihelper.verify_chat(self.token, chat_id, custom_description=custom_description)
|
|
6317
|
+
|
|
6318
|
+
def remove_user_verification(self, user_id: int) -> bool:
|
|
6319
|
+
"""
|
|
6320
|
+
Removes verification from a user who is currently verified on behalf of the organization represented by the bot. Returns True on success.
|
|
6321
|
+
|
|
6322
|
+
Telegram documentation: https://core.telegram.org/bots/api#removeuserverification
|
|
6323
|
+
|
|
6324
|
+
:param user_id: Unique identifier of the target user
|
|
6325
|
+
:type user_id: :obj:`int`
|
|
6326
|
+
|
|
6327
|
+
:return: Returns True on success.
|
|
6328
|
+
:rtype: :obj:`bool`
|
|
6329
|
+
"""
|
|
6330
|
+
|
|
6331
|
+
return apihelper.remove_user_verification(self.token, user_id)
|
|
6332
|
+
|
|
6333
|
+
def remove_chat_verification(self, chat_id: Union[int, str]) -> bool:
|
|
6334
|
+
"""
|
|
6335
|
+
Removes verification from a chat that is currently verified on behalf of the organization represented by the bot. Returns True on success.
|
|
6336
|
+
|
|
6337
|
+
Telegram documentation: https://core.telegram.org/bots/api#removechatverification
|
|
6338
|
+
|
|
6339
|
+
:param chat_id: Unique identifier for the target chat or username of the target channel (in the format @channelusername)
|
|
6340
|
+
:type chat_id: :obj:`int` | :obj:`str`
|
|
6341
|
+
|
|
6342
|
+
:return: Returns True on success.
|
|
6343
|
+
:rtype: :obj:`bool`
|
|
6344
|
+
"""
|
|
6345
|
+
return apihelper.remove_chat_verification(self.token, chat_id)
|
|
6278
6346
|
|
|
6279
6347
|
def get_available_gifts(self) -> types.Gifts:
|
|
6280
6348
|
"""
|
|
@@ -1929,7 +1929,7 @@ def get_available_gifts(token):
|
|
|
1929
1929
|
return _make_request(token, method_url)
|
|
1930
1930
|
|
|
1931
1931
|
|
|
1932
|
-
def send_gift(token, user_id, gift_id, text=None, text_parse_mode=None, text_entities=None):
|
|
1932
|
+
def send_gift(token, user_id, gift_id, text=None, text_parse_mode=None, text_entities=None, pay_for_upgrade=None):
|
|
1933
1933
|
method_url = 'sendGift'
|
|
1934
1934
|
payload = {'user_id': user_id, 'gift_id': gift_id}
|
|
1935
1935
|
if text:
|
|
@@ -1938,6 +1938,36 @@ def send_gift(token, user_id, gift_id, text=None, text_parse_mode=None, text_ent
|
|
|
1938
1938
|
payload['text_parse_mode'] = text_parse_mode
|
|
1939
1939
|
if text_entities:
|
|
1940
1940
|
payload['text_entities'] = json.dumps(types.MessageEntity.to_list_of_dicts(text_entities))
|
|
1941
|
+
if pay_for_upgrade is not None:
|
|
1942
|
+
payload['pay_for_upgrade'] = pay_for_upgrade
|
|
1943
|
+
return _make_request(token, method_url, params=payload, method='post')
|
|
1944
|
+
|
|
1945
|
+
|
|
1946
|
+
def verify_user(token, user_id, custom_description=None):
|
|
1947
|
+
method_url = 'verifyUser'
|
|
1948
|
+
payload = {'user_id': user_id}
|
|
1949
|
+
if custom_description:
|
|
1950
|
+
payload['custom_description'] = custom_description
|
|
1951
|
+
return _make_request(token, method_url, params=payload, method='post')
|
|
1952
|
+
|
|
1953
|
+
|
|
1954
|
+
def verify_chat(token, chat_id, custom_description=None):
|
|
1955
|
+
method_url = 'verifyChat'
|
|
1956
|
+
payload = {'chat_id': chat_id}
|
|
1957
|
+
if custom_description:
|
|
1958
|
+
payload['custom_description'] = custom_description
|
|
1959
|
+
return _make_request(token, method_url, params=payload, method='post')
|
|
1960
|
+
|
|
1961
|
+
|
|
1962
|
+
def remove_user_verification(token, user_id):
|
|
1963
|
+
method_url = 'removeUserVerification'
|
|
1964
|
+
payload = {'user_id': user_id}
|
|
1965
|
+
return _make_request(token, method_url, params=payload, method='post')
|
|
1966
|
+
|
|
1967
|
+
|
|
1968
|
+
def remove_chat_verification(token, chat_id):
|
|
1969
|
+
method_url = 'removeChatVerification'
|
|
1970
|
+
payload = {'chat_id': chat_id}
|
|
1941
1971
|
return _make_request(token, method_url, params=payload, method='post')
|
|
1942
1972
|
|
|
1943
1973
|
def set_sticker_emoji_list(token, sticker, emoji_list):
|
|
@@ -2271,6 +2301,12 @@ def convert_input_media_array(array):
|
|
|
2271
2301
|
if media_dict['media'].startswith('attach://'):
|
|
2272
2302
|
key = media_dict['media'].replace('attach://', '')
|
|
2273
2303
|
files[key] = input_media.media
|
|
2304
|
+
if 'thumbnail' in media_dict:
|
|
2305
|
+
thumbnail = media_dict['thumbnail']
|
|
2306
|
+
if isinstance(thumbnail, types.InputFile):
|
|
2307
|
+
thumbnail_key = 'thumbnail_' + key
|
|
2308
|
+
files[thumbnail_key] = thumbnail
|
|
2309
|
+
media_dict['thumbnail'] = 'attach://' + thumbnail_key
|
|
2274
2310
|
media.append(media_dict)
|
|
2275
2311
|
return json.dumps(media), files
|
|
2276
2312
|
|
|
@@ -6922,7 +6922,7 @@ class AsyncTeleBot:
|
|
|
6922
6922
|
(e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.)
|
|
6923
6923
|
:type prices: :obj:`list` of :obj:`types.LabeledPrice`
|
|
6924
6924
|
|
|
6925
|
-
:subscription_period:
|
|
6925
|
+
:param subscription_period: The number of seconds the subscription will be active for before the next payment.
|
|
6926
6926
|
The currency must be set to “XTR” (Telegram Stars) if the parameter is used. Currently, it must always
|
|
6927
6927
|
be 2592000 (30 days) if specified.
|
|
6928
6928
|
:type subscription_period: :obj:`int`
|
|
@@ -7707,7 +7707,8 @@ class AsyncTeleBot:
|
|
|
7707
7707
|
|
|
7708
7708
|
return await asyncio_helper.delete_sticker_set(self.token, name)
|
|
7709
7709
|
|
|
7710
|
-
async def send_gift(self, user_id: int, gift_id: str, text: Optional[str]=None, text_parse_mode: Optional[str]=None,
|
|
7710
|
+
async def send_gift(self, user_id: int, gift_id: str, text: Optional[str]=None, text_parse_mode: Optional[str]=None,
|
|
7711
|
+
text_entities: Optional[List[types.MessageEntity]]=None, pay_for_upgrade: Optional[bool]=None) -> bool:
|
|
7711
7712
|
"""
|
|
7712
7713
|
Sends a gift to the given user. The gift can't be converted to Telegram Stars by the user. Returns True on success.
|
|
7713
7714
|
|
|
@@ -7719,6 +7720,9 @@ class AsyncTeleBot:
|
|
|
7719
7720
|
:param gift_id: Identifier of the gift
|
|
7720
7721
|
:type gift_id: :obj:`str`
|
|
7721
7722
|
|
|
7723
|
+
:param pay_for_upgrade: Pass True to pay for the gift upgrade from the bot's balance, thereby making the upgrade free for the receiver
|
|
7724
|
+
:type pay_for_upgrade: :obj:`bool`
|
|
7725
|
+
|
|
7722
7726
|
:param text: Text that will be shown along with the gift; 0-255 characters
|
|
7723
7727
|
:type text: :obj:`str`
|
|
7724
7728
|
|
|
@@ -7731,7 +7735,71 @@ class AsyncTeleBot:
|
|
|
7731
7735
|
:return: Returns True on success.
|
|
7732
7736
|
:rtype: :obj:`bool`
|
|
7733
7737
|
"""
|
|
7734
|
-
return await asyncio_helper.send_gift(self.token, user_id, gift_id, text, text_parse_mode, text_entities)
|
|
7738
|
+
return await asyncio_helper.send_gift(self.token, user_id, gift_id, text, text_parse_mode, text_entities, pay_for_upgrade=pay_for_upgrade)
|
|
7739
|
+
|
|
7740
|
+
async def verify_user(self, user_id: int, custom_description: Optional[str]=None) -> bool:
|
|
7741
|
+
"""
|
|
7742
|
+
Verifies a user on behalf of the organization which is represented by the bot. Returns True on success.
|
|
7743
|
+
|
|
7744
|
+
Telegram documentation: https://core.telegram.org/bots/api#verifyuser
|
|
7745
|
+
|
|
7746
|
+
:param user_id: Unique identifier of the target user
|
|
7747
|
+
:type user_id: :obj:`int`
|
|
7748
|
+
|
|
7749
|
+
:param custom_description: Custom description for the verification; 0-70 characters. Must be empty if the organization isn't allowed to provide a custom verification description.
|
|
7750
|
+
:type custom_description: :obj:`str`
|
|
7751
|
+
|
|
7752
|
+
:return: Returns True on success.
|
|
7753
|
+
:rtype: :obj:`bool`
|
|
7754
|
+
"""
|
|
7755
|
+
return await asyncio_helper.verify_user(self.token, user_id, custom_description=custom_description)
|
|
7756
|
+
|
|
7757
|
+
async def verify_chat(self, chat_id: Union[int, str], custom_description: Optional[str]=None) -> bool:
|
|
7758
|
+
"""
|
|
7759
|
+
Verifies a chat on behalf of the organization which is represented by the bot. Returns True on success.
|
|
7760
|
+
|
|
7761
|
+
Telegram documentation: https://core.telegram.org/bots/api#verifychat
|
|
7762
|
+
|
|
7763
|
+
:param chat_id: Unique identifier for the target chat or username of the target channel (in the format @channelusername)
|
|
7764
|
+
:type chat_id: :obj:`int` | :obj:`str`
|
|
7765
|
+
|
|
7766
|
+
:param custom_description: Custom description for the verification; 0-70 characters. Must be empty if the organization isn't allowed to provide a custom verification description.
|
|
7767
|
+
:type custom_description: :obj:`str`
|
|
7768
|
+
|
|
7769
|
+
:return: Returns True on success.
|
|
7770
|
+
:rtype: :obj:`bool`
|
|
7771
|
+
"""
|
|
7772
|
+
|
|
7773
|
+
return await asyncio_helper.verify_chat(self.token, chat_id, custom_description=custom_description)
|
|
7774
|
+
|
|
7775
|
+
async def remove_user_verification(self, user_id: int) -> bool:
|
|
7776
|
+
"""
|
|
7777
|
+
Removes verification from a user who is currently verified on behalf of the organization represented by the bot. Returns True on success.
|
|
7778
|
+
|
|
7779
|
+
Telegram documentation: https://core.telegram.org/bots/api#removeuserverification
|
|
7780
|
+
|
|
7781
|
+
:param user_id: Unique identifier of the target user
|
|
7782
|
+
:type user_id: :obj:`int`
|
|
7783
|
+
|
|
7784
|
+
:return: Returns True on success.
|
|
7785
|
+
:rtype: :obj:`bool`
|
|
7786
|
+
|
|
7787
|
+
"""
|
|
7788
|
+
return await asyncio_helper.remove_user_verification(self.token, user_id)
|
|
7789
|
+
|
|
7790
|
+
async def remove_chat_verification(self, chat_id: Union[int, str]) -> bool:
|
|
7791
|
+
"""
|
|
7792
|
+
Removes verification from a chat that is currently verified on behalf of the organization represented by the bot. Returns True on success.
|
|
7793
|
+
|
|
7794
|
+
Telegram documentation: https://core.telegram.org/bots/api#removechatverification
|
|
7795
|
+
|
|
7796
|
+
:param chat_id: Unique identifier for the target chat or username of the target channel (in the format @channelusername)
|
|
7797
|
+
:type chat_id: :obj:`int` | :obj:`str`
|
|
7798
|
+
|
|
7799
|
+
:return: Returns True on success.
|
|
7800
|
+
:rtype: :obj:`bool`
|
|
7801
|
+
"""
|
|
7802
|
+
return await asyncio_helper.remove_chat_verification(self.token, chat_id)
|
|
7735
7803
|
|
|
7736
7804
|
async def get_available_gifts(self) -> types.Gifts:
|
|
7737
7805
|
"""
|
|
@@ -1916,7 +1916,7 @@ async def delete_sticker_set(token, name):
|
|
|
1916
1916
|
payload = {'name': name}
|
|
1917
1917
|
return await _process_request(token, method_url, params=payload, method='post')
|
|
1918
1918
|
|
|
1919
|
-
async def send_gift(token, user_id, gift_id, text=None, text_parse_mode=None, text_entities=None):
|
|
1919
|
+
async def send_gift(token, user_id, gift_id, text=None, text_parse_mode=None, text_entities=None, pay_for_upgrade=None):
|
|
1920
1920
|
method_url = 'sendGift'
|
|
1921
1921
|
payload = {'user_id': user_id, 'gift_id': gift_id}
|
|
1922
1922
|
if text:
|
|
@@ -1925,6 +1925,32 @@ async def send_gift(token, user_id, gift_id, text=None, text_parse_mode=None, te
|
|
|
1925
1925
|
payload['text_parse_mode'] = text_parse_mode
|
|
1926
1926
|
if text_entities:
|
|
1927
1927
|
payload['text_entities'] = json.dumps(types.MessageEntity.to_list_of_dicts(text_entities))
|
|
1928
|
+
if pay_for_upgrade is not None:
|
|
1929
|
+
payload['pay_for_upgrade'] = pay_for_upgrade
|
|
1930
|
+
return await _process_request(token, method_url, params=payload, method='post')
|
|
1931
|
+
|
|
1932
|
+
async def verify_user(token, user_id, custom_description=None):
|
|
1933
|
+
method_url = 'verifyUser'
|
|
1934
|
+
payload = {'user_id': user_id}
|
|
1935
|
+
if custom_description:
|
|
1936
|
+
payload['custom_description'] = custom_description
|
|
1937
|
+
return await _process_request(token, method_url, params=payload, method='post')
|
|
1938
|
+
|
|
1939
|
+
async def verify_chat(token, chat_id, custom_description=None):
|
|
1940
|
+
method_url = 'verifyChat'
|
|
1941
|
+
payload = {'chat_id': chat_id}
|
|
1942
|
+
if custom_description:
|
|
1943
|
+
payload['custom_description'] = custom_description
|
|
1944
|
+
return await _process_request(token, method_url, params=payload, method='post')
|
|
1945
|
+
|
|
1946
|
+
async def remove_user_verification(token, user_id):
|
|
1947
|
+
method_url = 'removeUserVerification'
|
|
1948
|
+
payload = {'user_id': user_id}
|
|
1949
|
+
return await _process_request(token, method_url, params=payload, method='post')
|
|
1950
|
+
|
|
1951
|
+
async def remove_chat_verification(token, chat_id):
|
|
1952
|
+
method_url = 'removeChatVerification'
|
|
1953
|
+
payload = {'chat_id': chat_id}
|
|
1928
1954
|
return await _process_request(token, method_url, params=payload, method='post')
|
|
1929
1955
|
|
|
1930
1956
|
async def get_available_gifts(token):
|
|
@@ -2243,6 +2269,12 @@ async def convert_input_media_array(array):
|
|
|
2243
2269
|
if media_dict['media'].startswith('attach://'):
|
|
2244
2270
|
key = media_dict['media'].replace('attach://', '')
|
|
2245
2271
|
files[key] = input_media.media
|
|
2272
|
+
if 'thumbnail' in media_dict:
|
|
2273
|
+
thumbnail = media_dict['thumbnail']
|
|
2274
|
+
if isinstance(thumbnail, types.InputFile):
|
|
2275
|
+
thumbnail_key = 'thumbnail_' + key
|
|
2276
|
+
files[thumbnail_key] = thumbnail
|
|
2277
|
+
media_dict['thumbnail'] = 'attach://' + thumbnail_key
|
|
2246
2278
|
media.append(media_dict)
|
|
2247
2279
|
return json.dumps(media), files
|
|
2248
2280
|
|
|
@@ -4449,6 +4449,10 @@ class InlineQueryResultArticle(InlineQueryResultBase):
|
|
|
4449
4449
|
self.thumbnail_width: Optional[int] = thumbnail_width
|
|
4450
4450
|
self.thumbnail_height: Optional[int] = thumbnail_height
|
|
4451
4451
|
|
|
4452
|
+
if hide_url:
|
|
4453
|
+
log_deprecation_warning('The parameter "hide_url" is deprecated. Pass an empty string as url instead.')
|
|
4454
|
+
self.url = ''
|
|
4455
|
+
|
|
4452
4456
|
|
|
4453
4457
|
@property
|
|
4454
4458
|
def thumb_url(self) -> str:
|
|
@@ -11059,6 +11063,9 @@ class Gift(JsonDeserializable):
|
|
|
11059
11063
|
:param star_count: The number of Telegram Stars that must be paid to send the sticker
|
|
11060
11064
|
:type star_count: :obj:`int`
|
|
11061
11065
|
|
|
11066
|
+
:param upgrade_star_count: Optional. The number of Telegram Stars that must be paid to upgrade the gift to a unique one
|
|
11067
|
+
:type upgrade_star_count: :obj:`int`
|
|
11068
|
+
|
|
11062
11069
|
:param total_count: Optional. The total number of the gifts of this type that can be sent; for limited gifts only
|
|
11063
11070
|
:type total_count: :obj:`int`
|
|
11064
11071
|
|
|
@@ -11069,12 +11076,13 @@ class Gift(JsonDeserializable):
|
|
|
11069
11076
|
:rtype: :class:`Gift`
|
|
11070
11077
|
"""
|
|
11071
11078
|
|
|
11072
|
-
def __init__(self, id, sticker, star_count, total_count=None, remaining_count=None, **kwargs):
|
|
11079
|
+
def __init__(self, id, sticker, star_count, total_count=None, remaining_count=None, upgrade_star_count=None, **kwargs):
|
|
11073
11080
|
self.id: str = id
|
|
11074
11081
|
self.sticker: Sticker = sticker
|
|
11075
11082
|
self.star_count: int = star_count
|
|
11076
11083
|
self.total_count: Optional[int] = total_count
|
|
11077
11084
|
self.remaining_count: Optional[int] = remaining_count
|
|
11085
|
+
self.upgrade_star_count: Optional[int] = upgrade_star_count
|
|
11078
11086
|
|
|
11079
11087
|
@classmethod
|
|
11080
11088
|
def de_json(cls, json_string):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/en/LC_MESSAGES/calldata.po
RENAMED
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/en/LC_MESSAGES/formatting.po
RENAMED
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/en/LC_MESSAGES/index.po
RENAMED
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/en/LC_MESSAGES/install.po
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/en/LC_MESSAGES/types.po
RENAMED
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/en/LC_MESSAGES/util.po
RENAMED
|
File without changes
|
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/ru/LC_MESSAGES/calldata.po
RENAMED
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/ru/LC_MESSAGES/formatting.po
RENAMED
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/ru/LC_MESSAGES/index.po
RENAMED
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/ru/LC_MESSAGES/install.po
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/ru/LC_MESSAGES/types.po
RENAMED
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/docs/source/locales/ru/LC_MESSAGES/util.po
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/custom_states.py
RENAMED
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/detect_changes.py
RENAMED
|
File without changes
|
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/echo_bot.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/middleware/i18n.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/mini_app.py
RENAMED
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/multibot/README.MD
RENAMED
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/multibot/config.py
RENAMED
|
File without changes
|
|
File without changes
|
{pytelegrambotapi-4.25.0 → pytelegrambotapi-4.26.0}/examples/asynchronous_telebot/multibot/main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|