pyTelegramBotAPI 4.27.0__tar.gz → 4.28.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.27.0 → pytelegrambotapi-4.28.0}/PKG-INFO +5 -4
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/README.md +1 -1
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/conf.py +1 -1
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/pyproject.toml +2 -3
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/requirements.txt +1 -1
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/__init__.py +98 -3
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/apihelper.py +34 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/async_telebot.py +93 -1
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/asyncio_helper.py +34 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/types.py +350 -24
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/util.py +3 -2
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/version.py +1 -1
- pytelegrambotapi-4.28.0/tests/__init__.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/.github/ISSUE_TEMPLATE +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/.github/workflows/setup_python.yml +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/.gitignore +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/.readthedocs.yml +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/.travis.yml +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/LICENSE +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/doc_req.txt +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/Makefile +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/_static/logo.png +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/_static/logo2.png +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/async_version/index.rst +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/calldata.rst +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/formatting.rst +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/index.rst +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/install.rst +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/locales/en/LC_MESSAGES/async_version.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/locales/en/LC_MESSAGES/calldata.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/locales/en/LC_MESSAGES/formatting.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/locales/en/LC_MESSAGES/index.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/locales/en/LC_MESSAGES/install.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/locales/en/LC_MESSAGES/quick_start.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/locales/en/LC_MESSAGES/sync_version.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/locales/en/LC_MESSAGES/types.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/locales/en/LC_MESSAGES/util.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/locales/ru/LC_MESSAGES/async_version.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/locales/ru/LC_MESSAGES/calldata.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/locales/ru/LC_MESSAGES/formatting.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/locales/ru/LC_MESSAGES/index.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/locales/ru/LC_MESSAGES/install.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/locales/ru/LC_MESSAGES/quick_start.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/locales/ru/LC_MESSAGES/sync_version.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/locales/ru/LC_MESSAGES/types.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/locales/ru/LC_MESSAGES/util.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/quick_start.rst +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/sync_version/index.rst +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/types.rst +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/docs/source/util.rst +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/anonymous_bot.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/callback_data_examples/advanced_calendar_example/filters.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/callback_data_examples/advanced_calendar_example/keyboards.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/callback_data_examples/advanced_calendar_example/main.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/callback_data_examples/simple_products_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/chat_join_request.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/chat_member_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/continue_handling.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/custom_filters/admin_filter_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/custom_filters/advanced_text_filter.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/custom_filters/general_custom_filters.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/custom_filters/id_filter_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/custom_filters/is_filter_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/custom_filters/text_filter_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/custom_states.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/detect_changes.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/download_file_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/echo_bot.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/exception_handler.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/formatting_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/message_reaction_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/middleware/flooding_middleware.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/middleware/i18n.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/i18n_base_midddleware.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/keyboards.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/locales/en/LC_MESSAGES/messages.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/locales/ru/LC_MESSAGES/messages.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/locales/uz_Latn/LC_MESSAGES/messages.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/middleware/i18n_middleware_example/main.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/mini_app.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/multibot/README.MD +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/multibot/config.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/multibot/handlers.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/multibot/main.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/multibot/nginx_conf.conf +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/register_handler.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/send_file_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/set_command_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/skip_updates_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/timer_bot_async.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/update_listener.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/webhooks/async_webhook_aiohttp_echo_bot.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/webhooks/run_webhooks.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/asynchronous_telebot/webhooks/webhook_starlette_echo_bot.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/callback_data_examples/advanced_calendar_example/filters.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/callback_data_examples/advanced_calendar_example/keyboards.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/callback_data_examples/advanced_calendar_example/main.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/callback_data_examples/simple_products_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/chat_join_request.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/chat_member_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/continue_handling.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/create_invite_link.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/custom_filters/admin_filter_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/custom_filters/advanced_text_filter.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/custom_filters/general_custom_filters.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/custom_filters/id_filter_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/custom_filters/is_filter_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/custom_filters/text_filter_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/custom_states.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/deep_linking.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/detailed_example/detailed_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/detailed_example/kitten.jpg +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/detailed_example/rooster.jpg +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/detect_changes.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/download_file_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/echo_bot.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/formatting_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/inline_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/inline_keyboard_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/message_reaction_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/middleware/README.md +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/middleware/class_based/antiflood_middleware.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/middleware/class_based/basic_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/middleware/class_based/i18n_middleware/i18n_base_middleware.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/middleware/class_based/i18n_middleware/keyboards.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/middleware/class_based/i18n_middleware/locales/en/LC_MESSAGES/messages.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/middleware/class_based/i18n_middleware/locales/ru/LC_MESSAGES/messages.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/middleware/class_based/i18n_middleware/locales/uz_Latn/LC_MESSAGES/messages.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/middleware/class_based/i18n_middleware/main.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/middleware/function_based/i18n.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/middleware/function_based/i18n_gettext/i18n_class.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/middleware/function_based/i18n_gettext/keyboards.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/middleware/function_based/i18n_gettext/locales/en/LC_MESSAGES/messages.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/middleware/function_based/i18n_gettext/locales/ru/LC_MESSAGES/messages.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/middleware/function_based/i18n_gettext/locales/uz_Latn/LC_MESSAGES/messages.po +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/middleware/function_based/i18n_gettext/main.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/middleware/function_based/session.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/mini_app.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/mini_app_web/index.html +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/mini_app_web/script.js +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/mini_app_web/style.css +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/multibot/README.MD +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/multibot/config.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/multibot/handlers.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/multibot/main.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/multibot/nginx_conf.conf +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/payments_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/poll_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/register_handler.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/reply_keyboard_markup_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/serverless/aws_lambda_function.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/serverless/azure_functions +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/serverless/flask_google_cloud_bot/.gcloudignore +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/serverless/flask_google_cloud_bot/app.yaml +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/serverless/flask_google_cloud_bot/main.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/serverless/flask_google_cloud_bot/requirements.txt +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/set_command_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/skip_updates_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/stars_payment.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/step_example.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/telebot_bot/telebot_bot.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/timer_bot.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/webhook_examples/README.md +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/webhook_examples/run_webhooks.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/webhook_examples/webhook_aiohttp_echo_bot.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/webhook_examples/webhook_cherrypy_echo_bot.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/webhook_examples/webhook_cpython_echo_bot.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/webhook_examples/webhook_fastapi_echo_bot.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/webhook_examples/webhook_flask_echo_bot.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/webhook_examples/webhook_flask_heroku_echo.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/webhook_examples/webhook_tornado_echo_bot.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/examples/webhook_examples/webhook_twisted_echo_bot.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/asyncio_filters.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/asyncio_handler_backends.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/asyncio_storage/__init__.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/asyncio_storage/base_storage.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/asyncio_storage/memory_storage.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/asyncio_storage/pickle_storage.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/asyncio_storage/redis_storage.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/callback_data.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/custom_filters.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/ext/__init__.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/ext/aio/__init__.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/ext/aio/webhooks.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/ext/reloader.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/ext/sync/__init__.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/ext/sync/webhooks.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/formatting.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/handler_backends.py +0 -0
- /pytelegrambotapi-4.27.0/tests/__init__.py → /pytelegrambotapi-4.28.0/telebot/py.typed +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/service_utils.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/states/__init__.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/states/asyncio/__init__.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/states/asyncio/context.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/states/asyncio/middleware.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/states/sync/__init__.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/states/sync/context.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/states/sync/middleware.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/storage/__init__.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/storage/base_storage.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/storage/memory_storage.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/storage/pickle_storage.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/telebot/storage/redis_storage.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/tests/test_data/record.mp3 +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/tests/test_data/record.ogg +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/tests/test_data/record.wav +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/tests/test_data/test_video.mp4 +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/tests/test_handler_backends.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/tests/test_telebot.py +0 -0
- {pytelegrambotapi-4.27.0 → pytelegrambotapi-4.28.0}/tests/test_types.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyTelegramBotAPI
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.28.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
|
|
@@ -20,9 +20,10 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.13
|
|
22
22
|
Requires-Python: >=3.9
|
|
23
|
+
Requires-Dist: aiohttp
|
|
24
|
+
Requires-Dist: pytest
|
|
23
25
|
Requires-Dist: requests
|
|
24
|
-
|
|
25
|
-
Requires-Dist: aiohttp; extra == 'aiohttp'
|
|
26
|
+
Requires-Dist: wheel
|
|
26
27
|
Provides-Extra: coloredlogs
|
|
27
28
|
Requires-Dist: coloredlogs; extra == 'coloredlogs'
|
|
28
29
|
Provides-Extra: fastapi
|
|
@@ -53,7 +54,7 @@ Description-Content-Type: text/markdown
|
|
|
53
54
|
<p align="center">A simple, but extensible Python implementation for the <a href="https://core.telegram.org/bots/api">Telegram Bot API</a>.</p>
|
|
54
55
|
<p align="center">Both synchronous and asynchronous.</p>
|
|
55
56
|
|
|
56
|
-
## <p align="center">Supported Bot API version: <a href="https://core.telegram.org/bots/api#
|
|
57
|
+
## <p align="center">Supported Bot API version: <a href="https://core.telegram.org/bots/api#july-3-2025"><img src="https://img.shields.io/badge/Bot%20API-9.1-blue?logo=telegram" alt="Supported Bot API version"></a>
|
|
57
58
|
|
|
58
59
|
<h2><a href='https://pytba.readthedocs.io/en/latest/index.html'>Official documentation</a></h2>
|
|
59
60
|
<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#july-3-2025"><img src="https://img.shields.io/badge/Bot%20API-9.1-blue?logo=telegram" alt="Supported Bot API version"></a>
|
|
14
14
|
|
|
15
15
|
<h2><a href='https://pytba.readthedocs.io/en/latest/index.html'>Official documentation</a></h2>
|
|
16
16
|
<h2><a href='https://pytba.readthedocs.io/ru/latest/index.html'>Official ru documentation</a></h2>
|
|
@@ -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.28.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.
|
|
7
|
+
version = "4.28.0"
|
|
8
8
|
description = "Python Telegram bot api."
|
|
9
9
|
authors = [{name = "eternnoir", email = "eternnoir@gmail.com"}]
|
|
10
10
|
license = {text = "GPL2"}
|
|
@@ -22,7 +22,7 @@ classifiers = [
|
|
|
22
22
|
"Environment :: Console",
|
|
23
23
|
"License :: OSI Approved :: GNU General Public License v2 (GPLv2)"
|
|
24
24
|
]
|
|
25
|
-
dependencies = ["requests"]
|
|
25
|
+
dependencies = ["pytest", "requests", "wheel", "aiohttp"]
|
|
26
26
|
|
|
27
27
|
[project.urls]
|
|
28
28
|
Homepage = "https://github.com/eternnoir/pyTelegramBotAPI"
|
|
@@ -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"]
|
|
@@ -2104,6 +2104,90 @@ class TeleBot:
|
|
|
2104
2104
|
message_thread_id=message_thread_id, protect_content=protect_content, remove_caption=remove_caption)
|
|
2105
2105
|
return [types.MessageID.de_json(message_id) for message_id in result]
|
|
2106
2106
|
|
|
2107
|
+
def send_checklist(
|
|
2108
|
+
self, business_connection_id: str, chat_id: Union[int, str],
|
|
2109
|
+
checklist: types.InputChecklist,
|
|
2110
|
+
disable_notification: Optional[bool]=None,
|
|
2111
|
+
protect_content: Optional[bool]=None,
|
|
2112
|
+
message_effect_id: Optional[str]=None,
|
|
2113
|
+
reply_parameters: Optional[types.ReplyParameters]=None,
|
|
2114
|
+
reply_markup: Optional[types.InlineKeyboardMarkup]=None) -> types.Message:
|
|
2115
|
+
"""
|
|
2116
|
+
Use this method to send a checklist on behalf of a connected business account. On success,
|
|
2117
|
+
the sent Message is returned.
|
|
2118
|
+
|
|
2119
|
+
Telegram documentation: https://core.telegram.org/bots/api#sendchecklist
|
|
2120
|
+
|
|
2121
|
+
:param business_connection_id: Unique identifier of the business connection on behalf of which the message will be sent
|
|
2122
|
+
:type business_connection_id: :obj:`str`
|
|
2123
|
+
|
|
2124
|
+
:param chat_id: Unique identifier for the target chat or username of the target channel (in the format @channelusername)
|
|
2125
|
+
:type chat_id: :obj:`int` or :obj:`str`
|
|
2126
|
+
|
|
2127
|
+
:param checklist: A JSON-serialized object for the checklist to send
|
|
2128
|
+
:type checklist: :class:`telebot.types.InputChecklist`
|
|
2129
|
+
|
|
2130
|
+
:param disable_notification: Sends the message silently. Users will receive a notification with no sound.
|
|
2131
|
+
:type disable_notification: :obj:`bool`
|
|
2132
|
+
|
|
2133
|
+
:param protect_content: Protects the contents of the sent message from forwarding and saving
|
|
2134
|
+
:type protect_content: :obj:`bool`
|
|
2135
|
+
|
|
2136
|
+
:param message_effect_id: Unique identifier of the message effect to be added to the message; for private chats only
|
|
2137
|
+
:type message_effect_id: :obj:`str`
|
|
2138
|
+
|
|
2139
|
+
:param reply_parameters: Additional parameters for replies to messages
|
|
2140
|
+
:type reply_parameters: :class:`telebot.types.ReplyParameters`
|
|
2141
|
+
|
|
2142
|
+
:param reply_markup: Additional interface options. A JSON-serialized object for an inline keyboard.
|
|
2143
|
+
:type reply_markup: :class:`telebot.types.InlineKeyboardMarkup`
|
|
2144
|
+
|
|
2145
|
+
:return: On success, the sent Message is returned.
|
|
2146
|
+
:rtype: :class:`telebot.types.Message`
|
|
2147
|
+
"""
|
|
2148
|
+
disable_notification = self.disable_notification if (disable_notification is None) else disable_notification
|
|
2149
|
+
protect_content = self.protect_content if (protect_content is None) else protect_content
|
|
2150
|
+
|
|
2151
|
+
if reply_parameters and (reply_parameters.allow_sending_without_reply is None):
|
|
2152
|
+
reply_parameters.allow_sending_without_reply = self.allow_sending_without_reply
|
|
2153
|
+
|
|
2154
|
+
return types.Message.de_json(
|
|
2155
|
+
apihelper.send_checklist(
|
|
2156
|
+
self.token, business_connection_id, chat_id, checklist, disable_notification=disable_notification,
|
|
2157
|
+
protect_content=protect_content, message_effect_id=message_effect_id,
|
|
2158
|
+
reply_parameters=reply_parameters, reply_markup=reply_markup))
|
|
2159
|
+
|
|
2160
|
+
def edit_message_checklist(
|
|
2161
|
+
self, business_connection_id: str, chat_id: Union[int, str],
|
|
2162
|
+
message_id: int, checklist: types.InputChecklist,
|
|
2163
|
+
reply_markup: Optional[types.InlineKeyboardMarkup]=None) -> types.Message:
|
|
2164
|
+
"""
|
|
2165
|
+
Use this method to edit a checklist on behalf of a connected business account. On success,
|
|
2166
|
+
the edited Message is returned.
|
|
2167
|
+
|
|
2168
|
+
Telegram documentation: https://core.telegram.org/bots/api#editmessagechecklist
|
|
2169
|
+
|
|
2170
|
+
:param business_connection_id: Unique identifier of the business connection on behalf of which the message will be sent
|
|
2171
|
+
:type business_connection_id: :obj:`str`
|
|
2172
|
+
|
|
2173
|
+
:param chat_id: Unique identifier for the target chat or username of the target channel (in the format @channelusername)
|
|
2174
|
+
:type chat_id: :obj:`int` or :obj:`str`
|
|
2175
|
+
|
|
2176
|
+
:param message_id: Unique identifier for the target message
|
|
2177
|
+
:type message_id: :obj:`int`
|
|
2178
|
+
|
|
2179
|
+
:param checklist: A JSON-serialized object for the new checklist
|
|
2180
|
+
:type checklist: :class:`telebot.types.InputChecklist`
|
|
2181
|
+
|
|
2182
|
+
:param reply_markup: Additional interface options. A JSON-serialized object for an inline keyboard.
|
|
2183
|
+
:type reply_markup: :class:`telebot.types.InlineKeyboardMarkup`
|
|
2184
|
+
|
|
2185
|
+
:return: On success, the edited Message is returned.
|
|
2186
|
+
:rtype: :class:`telebot.types.Message`
|
|
2187
|
+
"""
|
|
2188
|
+
return types.Message.de_json(
|
|
2189
|
+
apihelper.edit_message_checklist(
|
|
2190
|
+
self.token, business_connection_id, chat_id, message_id, checklist, reply_markup=reply_markup))
|
|
2107
2191
|
|
|
2108
2192
|
def send_dice(
|
|
2109
2193
|
self, chat_id: Union[int, str],
|
|
@@ -3528,7 +3612,7 @@ class TeleBot:
|
|
|
3528
3612
|
proximity_alert_radius: Optional[int]=None,
|
|
3529
3613
|
live_period: Optional[int]=None,
|
|
3530
3614
|
business_connection_id: Optional[str]=None
|
|
3531
|
-
) -> types.Message
|
|
3615
|
+
) -> Union[types.Message, bool]:
|
|
3532
3616
|
"""
|
|
3533
3617
|
Use this method to edit live location messages. A location can be edited until its live_period expires or editing is explicitly
|
|
3534
3618
|
disabled by a call to stopMessageLiveLocation. On success, if the edited message is not an inline message, the edited Message
|
|
@@ -3590,7 +3674,7 @@ class TeleBot:
|
|
|
3590
3674
|
inline_message_id: Optional[str]=None,
|
|
3591
3675
|
reply_markup: Optional[types.InlineKeyboardMarkup]=None,
|
|
3592
3676
|
timeout: Optional[int]=None,
|
|
3593
|
-
business_connection_id: Optional[str]=None) -> types.Message
|
|
3677
|
+
business_connection_id: Optional[str]=None) -> Union[types.Message, bool]:
|
|
3594
3678
|
"""
|
|
3595
3679
|
Use this method to stop updating a live location message before live_period expires.
|
|
3596
3680
|
On success, if the message is not an inline message, the edited Message is returned, otherwise True is returned.
|
|
@@ -5599,7 +5683,7 @@ class TeleBot:
|
|
|
5599
5683
|
:param question: Poll question, 1-300 characters
|
|
5600
5684
|
:type question: :obj:`str`
|
|
5601
5685
|
|
|
5602
|
-
:param options: A JSON-serialized list of 2-
|
|
5686
|
+
:param options: A JSON-serialized list of 2-12 answer options
|
|
5603
5687
|
:type options: :obj:`list` of :obj:`InputPollOption` | :obj:`list` of :obj:`str`
|
|
5604
5688
|
|
|
5605
5689
|
:param is_anonymous: True, if the poll needs to be anonymous, defaults to True
|
|
@@ -5818,6 +5902,17 @@ class TeleBot:
|
|
|
5818
5902
|
"""
|
|
5819
5903
|
return apihelper.answer_pre_checkout_query(
|
|
5820
5904
|
self.token, pre_checkout_query_id, ok, error_message=error_message)
|
|
5905
|
+
|
|
5906
|
+
def get_my_star_balance(self) -> types.StarAmount:
|
|
5907
|
+
"""
|
|
5908
|
+
Returns the bot's current Telegram Stars balance. On success, returns a StarAmount object.
|
|
5909
|
+
|
|
5910
|
+
Telegram documentation: https://core.telegram.org/bots/api#getmystarbalance
|
|
5911
|
+
|
|
5912
|
+
:return: On success, returns a StarAmount object.
|
|
5913
|
+
:rtype: :obj:`types.StarAmount`
|
|
5914
|
+
"""
|
|
5915
|
+
return types.StarAmount.de_json(apihelper.get_my_star_balance(self.token))
|
|
5821
5916
|
|
|
5822
5917
|
|
|
5823
5918
|
def get_star_transactions(self, offset: Optional[int]=None, limit: Optional[int]=None) -> types.StarTransactions:
|
|
@@ -473,6 +473,36 @@ def copy_message(token, chat_id, from_chat_id, message_id, caption=None, parse_m
|
|
|
473
473
|
payload['video_start_timestamp'] = video_start_timestamp
|
|
474
474
|
return _make_request(token, method_url, params=payload)
|
|
475
475
|
|
|
476
|
+
def send_checklist(
|
|
477
|
+
token, business_connection_id, chat_id, checklist,
|
|
478
|
+
disable_notification=None, protect_content=None, message_effect_id=None,
|
|
479
|
+
reply_parameters=None, reply_markup=None
|
|
480
|
+
):
|
|
481
|
+
method_url = r'sendChecklist'
|
|
482
|
+
payload = {'chat_id': chat_id, 'checklist': checklist, 'business_connection_id': business_connection_id}
|
|
483
|
+
if disable_notification is not None:
|
|
484
|
+
payload['disable_notification'] = disable_notification
|
|
485
|
+
if protect_content is not None:
|
|
486
|
+
payload['protect_content'] = protect_content
|
|
487
|
+
if message_effect_id:
|
|
488
|
+
payload['message_effect_id'] = message_effect_id
|
|
489
|
+
if reply_parameters:
|
|
490
|
+
payload['reply_parameters'] = reply_parameters.to_json()
|
|
491
|
+
if reply_markup:
|
|
492
|
+
payload['reply_markup'] = _convert_markup(reply_markup)
|
|
493
|
+
return _make_request(token, method_url, params=payload)
|
|
494
|
+
|
|
495
|
+
|
|
496
|
+
def edit_message_checklist(
|
|
497
|
+
token, business_connection_id, chat_id, message_id, checklist,
|
|
498
|
+
reply_markup=None
|
|
499
|
+
):
|
|
500
|
+
method_url = r'editMessageChecklist'
|
|
501
|
+
payload = {'chat_id': chat_id, 'message_id': message_id, 'checklist': checklist, 'business_connection_id': business_connection_id}
|
|
502
|
+
if reply_markup:
|
|
503
|
+
payload['reply_markup'] = _convert_markup(reply_markup)
|
|
504
|
+
return _make_request(token, method_url, params=payload)
|
|
505
|
+
|
|
476
506
|
|
|
477
507
|
def send_dice(
|
|
478
508
|
token, chat_id,
|
|
@@ -1817,6 +1847,10 @@ def answer_pre_checkout_query(token, pre_checkout_query_id, ok, error_message=No
|
|
|
1817
1847
|
payload['error_message'] = error_message
|
|
1818
1848
|
return _make_request(token, method_url, params=payload)
|
|
1819
1849
|
|
|
1850
|
+
def get_my_star_balance(token):
|
|
1851
|
+
method_url = 'getMyStarBalance'
|
|
1852
|
+
return _make_request(token, method_url)
|
|
1853
|
+
|
|
1820
1854
|
def get_star_transactions(token, offset=None, limit=None):
|
|
1821
1855
|
method_url = 'getStarTransactions'
|
|
1822
1856
|
payload = {}
|
|
@@ -3619,6 +3619,91 @@ class AsyncTeleBot:
|
|
|
3619
3619
|
result = await asyncio_helper.copy_messages(self.token, chat_id, from_chat_id, message_ids, disable_notification, message_thread_id,
|
|
3620
3620
|
protect_content, remove_caption)
|
|
3621
3621
|
return [types.MessageID.de_json(message_id) for message_id in result]
|
|
3622
|
+
|
|
3623
|
+
async def send_checklist(
|
|
3624
|
+
self, business_connection_id: str, chat_id: Union[int, str],
|
|
3625
|
+
checklist: types.InputChecklist,
|
|
3626
|
+
disable_notification: Optional[bool]=None,
|
|
3627
|
+
protect_content: Optional[bool]=None,
|
|
3628
|
+
message_effect_id: Optional[str]=None,
|
|
3629
|
+
reply_parameters: Optional[types.ReplyParameters]=None,
|
|
3630
|
+
reply_markup: Optional[types.InlineKeyboardMarkup]=None) -> types.Message:
|
|
3631
|
+
"""
|
|
3632
|
+
Use this method to send a checklist on behalf of a connected business account. On success,
|
|
3633
|
+
the sent Message is returned.
|
|
3634
|
+
|
|
3635
|
+
Telegram documentation: https://core.telegram.org/bots/api#sendchecklist
|
|
3636
|
+
|
|
3637
|
+
:param business_connection_id: Unique identifier of the business connection on behalf of which the message will be sent
|
|
3638
|
+
:type business_connection_id: :obj:`str`
|
|
3639
|
+
|
|
3640
|
+
:param chat_id: Unique identifier for the target chat or username of the target channel (in the format @channelusername)
|
|
3641
|
+
:type chat_id: :obj:`int` or :obj:`str`
|
|
3642
|
+
|
|
3643
|
+
:param checklist: A JSON-serialized object for the checklist to send
|
|
3644
|
+
:type checklist: :class:`telebot.types.InputChecklist`
|
|
3645
|
+
|
|
3646
|
+
:param disable_notification: Sends the message silently. Users will receive a notification with no sound.
|
|
3647
|
+
:type disable_notification: :obj:`bool`
|
|
3648
|
+
|
|
3649
|
+
:param protect_content: Protects the contents of the sent message from forwarding and saving
|
|
3650
|
+
:type protect_content: :obj:`bool`
|
|
3651
|
+
|
|
3652
|
+
:param message_effect_id: Unique identifier of the message effect to be added to the message; for private chats only
|
|
3653
|
+
:type message_effect_id: :obj:`str`
|
|
3654
|
+
|
|
3655
|
+
:param reply_parameters: Additional parameters for replies to messages
|
|
3656
|
+
:type reply_parameters: :class:`telebot.types.ReplyParameters`
|
|
3657
|
+
|
|
3658
|
+
:param reply_markup: Additional interface options. A JSON-serialized object for an inline keyboard.
|
|
3659
|
+
:type reply_markup: :class:`telebot.types.InlineKeyboardMarkup`
|
|
3660
|
+
|
|
3661
|
+
:return: On success, the sent Message is returned.
|
|
3662
|
+
:rtype: :class:`telebot.types.Message`
|
|
3663
|
+
"""
|
|
3664
|
+
disable_notification = self.disable_notification if (disable_notification is None) else disable_notification
|
|
3665
|
+
protect_content = self.protect_content if (protect_content is None) else protect_content
|
|
3666
|
+
|
|
3667
|
+
if reply_parameters and (reply_parameters.allow_sending_without_reply is None):
|
|
3668
|
+
reply_parameters.allow_sending_without_reply = self.allow_sending_without_reply
|
|
3669
|
+
|
|
3670
|
+
return types.Message.de_json(
|
|
3671
|
+
await asyncio_helper.send_checklist(
|
|
3672
|
+
self.token, business_connection_id, chat_id, checklist, disable_notification=disable_notification,
|
|
3673
|
+
protect_content=protect_content, message_effect_id=message_effect_id,
|
|
3674
|
+
reply_parameters=reply_parameters, reply_markup=reply_markup))
|
|
3675
|
+
|
|
3676
|
+
async def edit_message_checklist(
|
|
3677
|
+
self, business_connection_id: str, chat_id: Union[int, str],
|
|
3678
|
+
message_id: int, checklist: types.InputChecklist,
|
|
3679
|
+
reply_markup: Optional[types.InlineKeyboardMarkup]=None) -> types.Message:
|
|
3680
|
+
"""
|
|
3681
|
+
Use this method to edit a checklist on behalf of a connected business account. On success,
|
|
3682
|
+
the edited Message is returned.
|
|
3683
|
+
|
|
3684
|
+
Telegram documentation: https://core.telegram.org/bots/api#editmessagechecklist
|
|
3685
|
+
|
|
3686
|
+
:param business_connection_id: Unique identifier of the business connection on behalf of which the message will be sent
|
|
3687
|
+
:type business_connection_id: :obj:`str`
|
|
3688
|
+
|
|
3689
|
+
:param chat_id: Unique identifier for the target chat or username of the target channel (in the format @channelusername)
|
|
3690
|
+
:type chat_id: :obj:`int` or :obj:`str`
|
|
3691
|
+
|
|
3692
|
+
:param message_id: Unique identifier for the target message
|
|
3693
|
+
:type message_id: :obj:`int`
|
|
3694
|
+
|
|
3695
|
+
:param checklist: A JSON-serialized object for the new checklist
|
|
3696
|
+
:type checklist: :class:`telebot.types.InputChecklist`
|
|
3697
|
+
|
|
3698
|
+
:param reply_markup: Additional interface options. A JSON-serialized object for an inline keyboard.
|
|
3699
|
+
:type reply_markup: :class:`telebot.types.InlineKeyboardMarkup`
|
|
3700
|
+
|
|
3701
|
+
:return: On success, the edited Message is returned.
|
|
3702
|
+
:rtype: :class:`telebot.types.Message`
|
|
3703
|
+
"""
|
|
3704
|
+
return types.Message.de_json(
|
|
3705
|
+
await asyncio_helper.edit_message_checklist(
|
|
3706
|
+
self.token, business_connection_id, chat_id, message_id, checklist, reply_markup=reply_markup))
|
|
3622
3707
|
|
|
3623
3708
|
async def send_dice(
|
|
3624
3709
|
self, chat_id: Union[int, str],
|
|
@@ -7256,8 +7341,15 @@ class AsyncTeleBot:
|
|
|
7256
7341
|
:rtype: :obj:`bool`
|
|
7257
7342
|
"""
|
|
7258
7343
|
return await asyncio_helper.answer_pre_checkout_query(self.token, pre_checkout_query_id, ok, error_message)
|
|
7259
|
-
|
|
7260
7344
|
|
|
7345
|
+
|
|
7346
|
+
async def get_my_star_balance(self) -> types.StarAmount:
|
|
7347
|
+
"""
|
|
7348
|
+
A method to get the current Telegram Stars balance of the bot. Requires no parameters.
|
|
7349
|
+
On success, returns a StarAmount object.
|
|
7350
|
+
"""
|
|
7351
|
+
return types.StarAmount.de_json(await asyncio_helper.get_my_star_balance(self.token))
|
|
7352
|
+
|
|
7261
7353
|
async def get_star_transactions(self, offset: Optional[int]=None, limit: Optional[int]=None) -> types.StarTransactions:
|
|
7262
7354
|
"""
|
|
7263
7355
|
Returns the bot's Telegram Star transactions in chronological order.
|
|
@@ -477,6 +477,35 @@ async def copy_message(token, chat_id, from_chat_id, message_id, caption=None, p
|
|
|
477
477
|
payload['video_start_timestamp'] = video_start_timestamp
|
|
478
478
|
return await _process_request(token, method_url, params=payload)
|
|
479
479
|
|
|
480
|
+
async def send_checklist(
|
|
481
|
+
token, business_connection_id, chat_id, checklist,
|
|
482
|
+
disable_notification=None, protect_content=None, message_effect_id=None,
|
|
483
|
+
reply_parameters=None, reply_markup=None
|
|
484
|
+
):
|
|
485
|
+
method_url = r'sendChecklist'
|
|
486
|
+
payload = {'chat_id': chat_id, 'checklist': checklist, 'business_connection_id': business_connection_id}
|
|
487
|
+
if disable_notification is not None:
|
|
488
|
+
payload['disable_notification'] = disable_notification
|
|
489
|
+
if protect_content is not None:
|
|
490
|
+
payload['protect_content'] = protect_content
|
|
491
|
+
if message_effect_id:
|
|
492
|
+
payload['message_effect_id'] = message_effect_id
|
|
493
|
+
if reply_parameters:
|
|
494
|
+
payload['reply_parameters'] = reply_parameters.to_json()
|
|
495
|
+
if reply_markup:
|
|
496
|
+
payload['reply_markup'] = _convert_markup(reply_markup)
|
|
497
|
+
return await _process_request(token, method_url, params=payload)
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
async def edit_message_checklist(
|
|
501
|
+
token, business_connection_id, chat_id, message_id, checklist,
|
|
502
|
+
reply_markup=None
|
|
503
|
+
):
|
|
504
|
+
method_url = r'editMessageChecklist'
|
|
505
|
+
payload = {'chat_id': chat_id, 'message_id': message_id, 'checklist': checklist, 'business_connection_id': business_connection_id}
|
|
506
|
+
if reply_markup:
|
|
507
|
+
payload['reply_markup'] = await _convert_markup(reply_markup)
|
|
508
|
+
return await _process_request(token, method_url, params=payload)
|
|
480
509
|
|
|
481
510
|
async def send_dice(
|
|
482
511
|
token, chat_id,
|
|
@@ -1816,6 +1845,11 @@ async def answer_pre_checkout_query(token, pre_checkout_query_id, ok, error_mess
|
|
|
1816
1845
|
payload['error_message'] = error_message
|
|
1817
1846
|
return await _process_request(token, method_url, params=payload)
|
|
1818
1847
|
|
|
1848
|
+
|
|
1849
|
+
async def get_my_star_balance(token):
|
|
1850
|
+
method_url = 'getMyStarBalance'
|
|
1851
|
+
return await _process_request(token, method_url)
|
|
1852
|
+
|
|
1819
1853
|
async def get_star_transactions(token, offset=None, limit=None):
|
|
1820
1854
|
method_url = 'getStarTransactions'
|
|
1821
1855
|
payload = {}
|