Python使用总结之基于Python的Wechaty使用步骤

基于Python的Wechaty使用步骤

在当今自动化和智能化需求日益增长的时代,企业微信、公众号、小助手等自动聊天工具层出不穷。Wechaty 是一个跨平台的聊天机器人 SDK,支持多语言开发,包括 JavaScript、Python、Go、Rust 等,帮助开发者快速构建微信机器人。

本文将介绍如何基于 Python 语言使用 Wechaty,构建一个简单的微信机器人。


一、什么是 Wechaty?

Wechaty 是一个专为微信生态设计的聊天机器人框架,它支持私有部署、云端服务,并提供多种 Puppet 插件接入微信协议,如:

  • wechaty-puppet-wechat4u(个人微信网页版)
  • wechaty-puppet-padplus(已停用)
  • wechaty-puppet-service(推荐,官方提供 token 服务接入)
  • wechaty-puppet-wecom(企业微信)

二、环境准备

1. 安装 Python 环境

确保本地已安装 Python3.7+,推荐使用 Python3.9 版本:

python3 --version
pip3 --version

建议创建虚拟环境:

python3 -m venv .venv
source .venv/bin/activate

2. 安装 Wechaty Python SDK

pip install wechaty

三、获取 puppet token(以 wechaty-puppet-service 为例)

访问 https://wechaty.js.org/docs/puppet-services/ 并注册一个账号,获取免费的 puppet_service_token。这是连接微信服务的关键凭据。


四、编写机器人代码

from wechaty import Wechaty, Message, Contact

class MyBot(Wechaty):

    async def on_message(self, msg: Message):
        text = msg.text()
        talker = msg.talker()

        print(f'Message from {talker.name}: {text}')

        if text.lower() == 'ping':
            await msg.say('pong')

if __name__ == '__main__':
    import asyncio
    asyncio.run(MyBot().start())

上述代码会监听微信消息,如果有人发“ping”,机器人会回复“pong”。


五、配置 Puppet token 运行

你可以通过环境变量指定你的 puppet_service_token

export WECHATY_PUPPET=wechaty-puppet-service
export WECHATY_PUPPET_SERVICE_TOKEN=your_token_here
python bot.py

或者直接在代码中指定:

bot = MyBot()
bot.options.puppet = 'wechaty-puppet-service'
bot.options.puppet_token = 'your_token_here'
asyncio.run(bot.start())

六、使用 Docker 本地运行(可选)

如果你不想本地安装所有依赖,可以用 Docker 来运行 Wechaty:

docker run -e WECHATY_PUPPET=wechaty-puppet-service \
           -e WECHATY_PUPPET_SERVICE_TOKEN=your_token \
           wechaty/wechaty

七、常见问题与排查

  1. 无法连接服务端
    错误:WechatyPuppetGrpcError: service server is invalid
    原因:puppet_token 不正确或网络不通

  2. 消息接收不到
    请检查是否扫码登录成功,或是否被微信屏蔽

  3. Docker 拉取失败
    使用国内代理,如 dockerproxy.com 或配置镜像加速器


八、小结

通过 Wechaty Python SDK,我们可以快速构建一个可响应消息的微信机器人。借助 puppet-service 的云服务,我们无需逆向协议,即可专注于业务逻辑开发。

如果你希望进一步构建带有关键词自动回复、定时提醒、聊天记录存储甚至连接 ChatGPT 的智能机器人,Wechaty 将是一个非常理想的框架选择。


推荐阅读

  • Wechaty 官方文档:https://wechaty.js.org/
  • Python SDK 文档:https://github.com/wechaty/python-wechaty
  • Docker 镜像下载:https://hub.docker.com/r/wechaty/wechaty

你可能感兴趣的:(Python使用总结,python,开发语言)