wxpy学习

wxpy学习

徐静

2017年最后一篇更新文章

前期用Itchat做过简单的聊天机器人,前几天我又发现了一个Python好玩的模块:wxpy。微信机器人 / 可能是最优雅的微信个人号 API,wxpy 在 itchat 的基础上,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展。

强烈建议仅使用小号运行机器人!

从近期 (17年6月下旬) 反馈来看,使用机器人存在一定概率被限制登录的可能性。

主要表现为无法登陆 Web 微信 (但不影响手机等其他平台)。

用来干啥

一些常见的场景

  • 控制路由器、智能家居等具有开放接口的玩意儿

  • 运行脚本时自动把日志发送到你的微信

  • 加群主为好友,自动拉进群中

  • 跨号或跨群转发消息

  • 自动陪人聊天

  • 逗人玩

总而言之,可用来实现各种微信个人号的自动化操作

体验一下

这有一个现成的微信机器人,想不想调戏一下?

记得填写入群口令 👉 [ wxpy ],与群里的大神们谈笑风生 😏

轻松安装

wxpy 支持 Python 3.4-3.6,以及 2.7 版本

将下方命令中的 “pip” 替换为 “pip3” 或 “pip2”,可确保安装到对应的 Python 版本中

  1. 从 PYPI 官方源下载安装 (在国内可能比较慢或不稳定):

pip install -U wxpy

  1. 从豆瓣 PYPI 镜像源下载安装 (推荐国内用户选用):

pip install -U wxpy -i "https://pypi.doubanio.com/simple/"

简单上手

登陆微信:


    # 导入模块
    from wxpy import *
    # 初始化机器人,扫码登陆
    bot = Bot()

找到好友:


    # 搜索名称含有 "游否" 的男性深圳好友
    my_friend = bot.friends().search('游否', sex=MALE, city="深圳")[0]

发送消息:


    # 发送文本给好友
    my_friend.send('Hello WeChat!')
    # 发送图片
    my_friend.send_image('my_picture.jpg')

自动响应各类消息:


    # 打印来自其他好友、群聊和公众号的消息
    @bot.register()
    def print_others(msg):
        print(msg)

    # 回复 my_friend 的消息 (优先匹配后注册的函数!)
    @bot.register(my_friend)
    def reply_my_friend(msg):
        return 'received: {} ({})'.format(msg.text, msg.type)

    # 自动接受新的好友请求
    @bot.register(msg_types=FRIENDS)
    def auto_accept_friends(msg):
        # 接受好友请求
        new_friend = msg.card.accept()
        # 向新的好友发送消息
        new_friend.send('哈哈,我自动接受了你的好友请求')

保持登陆/运行:


    # 进入 Python 命令行、让程序保持运行
    embed()

    # 或者仅仅堵塞线程
    # bot.join()

模块特色

  • 全面对象化接口,调用更优雅

  • 默认多线程响应消息,回复更快

  • 包含 聊天机器人、共同好友 等 实用组件 <http://wxpy.readthedocs.io/zh/latest/utils.html>_

  • 只需两行代码,在其他项目中用微信接收警告

  • 愉快的探索和调试 <http://wxpy.readthedocs.io/zh/latest/console.html>_,无需涂涂改改

  • 可混合使用 itchat 的原接口

  • 当然,还覆盖了各类常见基本功能:

    • 发送文本、图片、视频、文件

    • 通过关键词或用户属性搜索 好友、群聊、群成员等

    • 获取好友/群成员的昵称、备注、性别、地区等信息

    • 加好友,建群,邀请入群,移出群

说明文档

http://wxpy.readthedocs.io

更新日志

https://github.com/youfou/wxpy/releases

项目主页

https://github.com/youfou/wxpy

Author face

徐静

数据科学从业者,算法工程师. 善于用数据科学的工具透析业务,模型的线上化部署,网络爬虫及前端可视化. 喜欢研究机器学习,深度学习及相关软件实现.目前自己还是小白一个,希望多多学习.

最近发表的文章