pyTelegramBotAPI:用 Python 写 Telegram 机器人,这件事它包了

发布时间:2026/6/27 6:17:45
pyTelegramBotAPI:用 Python 写 Telegram 机器人,这件事它包了 文章目录pyTelegramBotAPI用 Python 写 Telegram 机器人这件事它包了同步和异步都支持写一个最简单的机器人消息处理器的设计中间件和自定义过滤器其他实用功能适合什么场景pyTelegramBotAPI用 Python 写 Telegram 机器人这件事它包了做 Telegram 机器人的 Python 开发者大概率听过 pyTelegramBotAPI 这个库。它在 GitHub 上攒了 8700 多个 Star算是 Telegram Bot API 的 Python 封装里用得最多的一个。这个库解决的问题很直接Telegram 官方的 Bot API 是 HTTP 接口每发一条消息都要拼参数、发请求、解析响应。pyTelegramBotAPI 把这些全封装了你写 Python 函数它帮你搞定底层通信。同步和异步都支持很多 Telegram Bot 库只支持同步模式pyTelegramBotAPI 两种都支持。同步模式用TeleBot异步模式用AsyncTeleBot。切换方式就改一行代码# 同步bottelebot.TeleBot(TOKEN)# 异步bottelebot.AsyncTeleBot(TOKEN)异步版本底层用的是 aiohttp不用 requests。如果你的机器人要处理大量并发消息异步模式会合适一些。同步模式用线程池处理消息小规模使用没问题。写一个最简单的机器人整个流程分三步创建实例、注册处理函数、启动轮询。importtelebot bottelebot.TeleBot(YOUR_BOT_TOKEN)bot.message_handler(commands[start,help])defsend_welcome(message):bot.reply_to(message,你好请问有什么可以帮你的)bot.message_handler(funclambdamessage:True)defecho_all(message):bot.reply_to(message,message.text)bot.infinity_polling()这段代码实现了一个回声机器人收到/start或/help命令回复固定文本收到其他消息原样返回。infinity_polling()会自动处理断线重连。消息处理器的设计消息处理器是这个库的核心概念。你用bot.message_handler()装饰器注册一个函数当收到符合条件的消息时这个函数就会被调用。支持的过滤条件有五种内容类型文字、图片、文档等、正则表达式、命令以 / 开头、聊天类型私聊、群组、频道、自定义函数。多个条件可以组合使用。比如只处理包含特定关键词的图片消息bot.message_handler(content_types[photo],funclambdam:重要in(m.captionor))defhandle_important_photo(message):bot.reply_to(message,收到重要图片)除了文本消息还支持编辑消息、频道帖子、回调查询、内联模式、投票、支付等十几种事件类型。每种都有对应的装饰器。中间件和自定义过滤器如果你用过 Web 框架对中间件不会陌生。pyTelegramBotAPI 支持在消息到达处理器之前和之后插入自定义逻辑。比如在所有消息处理之前统一记录日志classLoggingMiddleware(BaseMiddleware):def__init__(self):self.update_types[message]defpre_process(self,message,data):print(f收到消息:{message.text})defpost_process(self,message,data,exceptionNone):pass自定义过滤器也类似继承SimpleCustomFilter类定义一个check方法就行。官方示例里有个判断用户是否是群管理员的过滤器十几行代码搞定。其他实用功能这个库还做了几个实用的事情发送超长消息时Telegram API 限制单条消息不超过 4096 字符。库里的split_string和smart_split函数帮你按行或按句拆分不用自己写逻辑。支持代理配置同步和异步模式都有对应的设置方式。对于国内开发者来说这个功能比较实用。支持本地 Bot API Server。Telegram 允许你部署自己的 Bot API 服务器来处理大文件上传这个库也兼容。提供了测试模式可以自定义请求发送函数不用真的连 Telegram 服务器就能跑单元测试。适合什么场景如果你是 Python 开发者想做 Telegram 机器人这个库基本是首选。它的 API 设计跟 Telegram 官方文档基本一一对应文档读完就能上手。8700 多个 Star、持续维护了多年社区活跃度有保障。具体来说这几类项目用它比较顺手客服机器人、群管理工具、内容推送系统、数据监控告警。它的内联模式还能做搜索类机器人用户在聊天框里 你的机器人就能查询数据。有个细节值得一提这个库处理了 Telegram API 的各种边界情况。比如消息超长自动拆分、断线自动重连、Session 超时自动重建。这些你在开发初期可能不会遇到但上线后用户量一上来就会踩坑。库里帮你处理好了省得你自己写重试逻辑。用pip install pyTelegramBotAPI一行命令安装支持 Python 3.10 到 3.14。入门门槛低功能覆盖全这就是它能活这么久的原因。好了省得你自己写重试逻辑。用pip install pyTelegramBotAPI一行命令安装支持 Python 3.10 到 3.14。入门门槛低功能覆盖全这就是它能活这么久的原因。