.. image:: https://raw.githubusercontent.com/python-telegram-bot/logos/master/logo-text/png/ptb-logo-text_768.png :align: center :target: https://python-telegram-bot.org :alt: python-telegram-bot Logo
.. image:: https://img.shields.io/pypi/v/python-telegram-bot.svg :target: https://pypi.org/project/python-telegram-bot/ :alt: PyPi 包版本
.. image:: https://img.shields.io/pypi/pyversions/python-telegram-bot.svg :target: https://pypi.org/project/python-telegram-bot/ :alt: 支持的Python版本
.. image:: https://img.shields.io/badge/Bot%20API-7.8-blue?logo=telegram :target: https://core.telegram.org/bots/api-changelog :alt: 支持的Bot API版本
.. image:: https://img.shields.io/pypi/dm/python-telegram-bot :target: https://pypistats.org/packages/python-telegram-bot :alt: PyPi 包月下载量
.. image:: https://readthedocs.org/projects/python-telegram-bot/badge/?version=stable :target: https://docs.python-telegram-bot.org/en/stable/ :alt: 文档状态
.. image:: https://img.shields.io/pypi/l/python-telegram-bot.svg :target: https://www.gnu.org/licenses/lgpl-3.0.html :alt: LGPLv3 许可证
.. image:: https://github.com/python-telegram-bot/python-telegram-bot/actions/workflows/unit_tests.yml/badge.svg?branch=master :target: https://github.com/python-telegram-bot/python-telegram-bot/ :alt: Github Actions 工作流
.. image:: https://codecov.io/gh/python-telegram-bot/python-telegram-bot/branch/master/graph/badge.svg :target: https://app.codecov.io/gh/python-telegram-bot/python-telegram-bot :alt: 代码覆盖率
.. image:: https://isitmaintained.com/badge/resolution/python-telegram-bot/python-telegram-bot.svg :target: https://isitmaintained.com/project/python-telegram-bot/python-telegram-bot :alt: 解决问题的中位时间
.. image:: https://api.codacy.com/project/badge/Grade/99d901eaa09b44b4819aec05c330c968 :target: https://app.codacy.com/gh/python-telegram-bot/python-telegram-bot/dashboard :alt: 代码质量: Codacy
.. image:: https://results.pre-commit.ci/badge/github/python-telegram-bot/python-telegram-bot/master.svg :target: https://results.pre-commit.ci/latest/github/python-telegram-bot/python-telegram-bot/master :alt: pre-commit.ci 状态
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg :target: https://github.com/psf/black :alt: 代码风格: Black
.. image:: https://img.shields.io/badge/Telegram-Channel-blue.svg?logo=telegram :target: https://t.me/pythontelegrambotchannel :alt: Telegram 频道
.. image:: https://img.shields.io/badge/Telegram-Group-blue.svg?logo=telegram :target: https://telegram.me/pythontelegrambotgroup :alt: Telegram 群组
我们为您提供了一个无法拒绝的包装器
我们有一个充满活力的开发者社区,在我们的 Telegram 群组 <https://telegram.me/pythontelegrambotgroup>
_ 中互相帮助。加入我们吧!
通过我们的 Telegram 频道 <https://telegram.me/pythontelegrambotchannel>
_ 了解库更新和新版本发布。
这个库为 Telegram Bot API <https://core.telegram.org/bots/api>
_ 提供了一个纯 Python 的异步接口。
它兼容 Python 3.8+ 版本。
除了纯 API 实现外,这个库还提供了几个便捷方法和快捷方式,以及一些高级类,使得开发机器人变得简单直接。这些类包含在 telegram.ext
子模块中。
在安装_库之后,请务必查看关于 使用 PTB
_ 的部分。
Telegram API 支持
这个库原生支持 Telegram Bot API **7.8** 的所有类型和方法。
此外,尚未原生包含的 Bot API 功能仍然可以使用,具体方法详见 `我们的 wiki <https://github.com/python-telegram-bot/python-telegram-bot/wiki/Bot-API-Forward-Compatibility>`_。
主要特性
~~~~~~~~~~~~~~~~
- `完全异步 <https://github.com/python-telegram-bot/python-telegram-bot/wiki/Concurrency>`_
- 便捷的快捷方法,例如 `Message.reply_text <https://docs.python-telegram-bot.org/en/stable/telegram.message.html#telegram.Message.reply_text>`_
- `使用静态类型提示进行完全注释 <https://github.com/python-telegram-bot/python-telegram-bot/wiki/Type-Checking>`_
- `可定制和可扩展的接口 <https://github.com/python-telegram-bot/python-telegram-bot/wiki/Architecture>`_
- 无缝集成 `webhooks <https://github.com/python-telegram-bot/python-telegram-bot/wiki/Webhooks>`_ 和 `轮询 <https://docs.python-telegram-bot.org/en/stable/telegram.ext.application.html#telegram.ext.Application.run_polling>`_
- `全面的文档和示例 <#working-with-ptb>`_
安装
----------
你可以通过以下命令安装或升级 ``python-telegram-bot``:
.. code:: shell
$ pip install python-telegram-bot --upgrade
要安装预发布版本,请额外使用 ``--pre`` `标志 <https://pip.pypa.io/en/stable/cli/pip_install/#cmdoption-pre>`_。
你也可以从源代码安装 ``python-telegram-bot``,尽管这通常不是必需的。
.. code:: shell
$ git clone https://github.com/python-telegram-bot/python-telegram-bot
$ cd python-telegram-bot
$ pip install build
$ python -m build
验证发布
~~~~~~~~~~~~~~~~~~
为了让你能够验证你下载的发布文件确实是由 ``python-telegram-bot`` 团队提供的,我们采取了以下措施。
从 v21.4 版本开始,所有发布都通过 `sigstore <https://sigstore.dev>`_ 进行签名。
相应的签名文件上传到 `GitHub 发布页面`_。
要验证签名,请安装 `sigstore Python 客户端 <https://pypi.org/project/sigstore/>`_ 并按照 `验证来自 GitHub Actions 的签名 <https://github.com/sigstore/sigstore-python#signatures-from-github-actions>`_ 的说明操作。对于 ``--repository`` 参数的输入,请使用值 ``python-telegram-bot/python-telegram-bot``。
早期版本使用 GPG 密钥签名。
签名上传到 `GitHub 发布页面`_ 和 `PyPI 项目 <https://pypi.org/project/python-telegram-bot/>`_,文件名以 ``.asc`` 后缀结尾。
公钥可以在 `这里 <https://github.com/python-telegram-bot/python-telegram-bot/tree/master/public_keys>`_ 找到。
密钥的命名格式为 ``<first_version>-<last_version>.gpg``。
此外,GitHub 发布页面还包含发布文件的 sha1 哈希值,文件名以 ``.sha1`` 后缀结尾。
依赖及其版本
python-telegram-bot
尽量减少对第三方依赖的使用。
然而,对于某些功能,使用第三方库比重新实现功能更为明智。
由于这些功能是可选的,相应的第三方依赖默认不会安装。
相反,它们被列为可选依赖。
这样可以避免不需要这些可选功能的用户遇到不必要的依赖冲突。
唯一必需的依赖是 httpx ~= 0.27 <https://www.python-httpx.org>
_,用于
telegram.request.HTTPXRequest
,即默认的网络后端。
python-telegram-bot
与其他库一起使用时最为有用。
为了最小化依赖冲突,我们尽量在(可选)依赖的版本要求上保持灵活。
另一方面,我们必须确保 python-telegram-bot
的稳定性,这就是为什么我们会设置版本限制。
如果你因这些限制而遇到依赖冲突,请随时联系我们。
可选依赖 #####################
PTB 可以安装以下可选依赖:
pip install "python-telegram-bot[passport]"
安装 cryptography>=39.0.1 <https://cryptography.io/en/stable>
_ 库。如果你想使用 Telegram Passport 相关功能,请使用此选项。pip install "python-telegram-bot[socks]"
安装 httpx[socks] <https://www.python-httpx.org/#dependencies>
_。如果你想在 Socks5 服务器后工作,请使用此选项。pip install "python-telegram-bot[http2]"
安装 httpx[http2] <https://www.python-httpx.org/#dependencies>
_。如果你想使用 HTTP/2,请使用此选项。pip install "python-telegram-bot[rate-limiter]"
安装 aiolimiter~=1.1.0 <https://aiolimiter.readthedocs.io/en/stable/>
_。如果你想使用 telegram.ext.AIORateLimiter
,请使用此选项。pip install "python-telegram-bot[webhooks]"
安装 tornado~=6.4 <https://www.tornadoweb.org/en/stable/>
_ 库。如果你想使用 telegram.ext.Updater.start_webhook
/telegram.ext.Application.run_webhook
,请使用此选项。pip install "python-telegram-bot[callback-data]"
安装 cachetools>=5.3.3,<5.5.0 <https://cachetools.readthedocs.io/en/latest/>
_ 库。如果你想使用 任意 callback_data <https://github.com/python-telegram-bot/python-telegram-bot/wiki/Arbitrary-callback_data>
_,请使用此选项。pip install "python-telegram-bot[job-queue]"
安装 APScheduler~=3.10.4 <https://apscheduler.readthedocs.io/en/3.x/>
_ 库并强制使用 pytz>=2018.6 <https://pypi.org/project/pytz/>
_,其中 pytz
是 APScheduler
的依赖。如果你想使用 telegram.ext.JobQueue
,请使用此选项。
要安装多个可选依赖项,请用逗号分隔它们,例如 pip install "python-telegram-bot[socks,webhooks]"
。此外,还提供了两个快捷方式:
pip install "python-telegram-bot[all]"
安装所有可选依赖项。pip install "python-telegram-bot[ext]"
安装与 telegram.ext
相关的所有可选依赖项,即 [rate-limiter, webhooks, callback-data, job-queue]
。一旦安装了库,你就可以开始使用它了 - 让我们开始吧!
快速入门
我们的 Wiki 包含一个 `API 介绍 <https://github.com/python-telegram-bot/python-telegram-bot/wiki/Introduction-to-the-API>`_,解释了如何通过 ``python-telegram-bot`` 访问纯 Bot API。
此外,`教程:你的第一个机器人 <https://github.com/python-telegram-bot/python-telegram-bot/wiki/Extensions---Your-first-Bot>`_ 介绍了如何借助 ``telegram.ext`` 模块轻松编程聊天机器人。
资源
~~~~~~~~~
- `包文档 <https://docs.python-telegram-bot.org/>`_ 是 ``python-telegram-bot`` 的技术参考。
它包含所有可用类、模块、方法和参数的描述,以及 `更新日志 <https://docs.python-telegram-bot.org/changelog.html>`_。
- `wiki <https://github.com/python-telegram-bot/python-telegram-bot/wiki/>`_ 包含了许多关于 ``python-telegram-bot`` 不同功能的更详细介绍,以及其他超出技术文档范围的有用资源。
- 我们的 `示例部分 <https://docs.python-telegram-bot.org/examples.html>`_ 包含几个展示 Bot API 和 ``python-telegram-bot`` 不同功能的示例。
即使这不是你的学习方法,也请看一看 ``echobot.py``。它是大多数机器人的事实上的基础。
这些示例的代码已发布到公共领域,所以你可以从获取代码开始,在此基础上进行构建。
- 当然,`官方 Telegram Bot API 文档 <https://core.telegram.org/bots/api>`_ 也总是值得一读。
获取帮助
如果上述资源无法回答你的问题或让你感到不知所措,有几种获取帮助的方式。
我们有一个充满活力的开发者社区,在我们的 Telegram 群组 <https://telegram.me/pythontelegrambotgroup>
_ 中互相帮助。加入我们!在这里提问通常是获得正确方向指引的最快方式。
通过开启 讨论 <https://github.com/python-telegram-bot/python-telegram-bot/discussions/new>
_ 来提问。
你甚至可以使用 python-telegram-bot 标签 <https://stackoverflow.com/questions/tagged/python-telegram-bot>
_ 在 Stack Overflow 上寻求帮助。
并发
从 v20.0 开始,``python-telegram-bot`` 建立在 Python 的 ``asyncio`` 模块之上。
由于 ``asyncio`` 通常是单线程的,``python-telegram-bot`` 目前不打算做到线程安全。
``python-telegram-bot`` API 中值得注意的部分在多线程环境中使用可能会导致问题(例如竞态条件),包括:
* ``telegram.ext.Application/Updater.update_queue``
* ``telegram.ext.ConversationHandler.check/handle_update``
* ``telegram.ext.CallbackDataCache``
* ``telegram.ext.BasePersistence``
* ``telegram.ext.filters`` 模块中所有允许在运行时添加/删除允许的用户/聊天的类
贡献
------------
我们欢迎各种规模的贡献。
请查看我们的 `贡献指南 <https://github.com/python-telegram-bot/python-telegram-bot/blob/master/.github/CONTRIBUTING.rst>`_ 以开始。
你也可以通过 `报告错误或功能请求 <https://github.com/python-telegram-bot/python-telegram-bot/issues/new/choose>`_ 来提供帮助。
捐赠
--------
有时我们会被问到是否接受捐赠来支持开发。
虽然我们感谢这种想法,但维护 PTB 是我们的爱好,我们几乎没有运营成本。因此,我们没有设置接受捐赠的渠道。
如果你仍然想捐赠,我们恳请你将捐赠给你选择的另一个开源项目/计划。
许可证
-------
你可以复制、分发和修改该软件,前提是修改要描述并根据 `LGPL-3 <https://www.gnu.org/licenses/lgpl-3.0.html>`_ 免费许可。
衍生作品(包括修改或与库静态链接的任何内容)只能在 LGPL-3 下重新分发,但使用该库的应用程序不必如此。
.. _`GitHub 发布页面`: https://github.com/python-telegram-bot/python-telegram-bot/releases>
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
高分辨率纹理 3D 资产生成
Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。
一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。
3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号