wxpy: 用 Python 玩微信【转】

news/2025/2/23 7:57:54

转自:https://wxpy.readthedocs.io/zh/latest/index.html

微信机器人 / 可能是最优雅的微信个人号 API
wxpy 在 itchat 的基础上,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展

注意

强烈建议仅使用小号运行机器人!
从近期 (17年6月下旬) 反馈来看,使用机器人存在一定概率被限制登录的可能性。
主要表现为无法登陆 Web 微信 (但不影响手机等其他平台)。

项目主页

https://github.com/youfou/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()

模块特色

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

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

  • 包含 聊天机器人、共同好友 等 实用组件

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

  • 愉快的探索和调试,无需涂涂改改

  • 可混合使用 itchat 的原接口

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

    • 发送文本、图片、视频、文件
    • 通过关键词或用户属性搜索 好友、群聊、群成员等
    • 获取好友/群成员的昵称、备注、性别、地区等信息
    • 加好友,建群,邀请入群,移出群

更新日志

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

文档目录

  • 机器人对象
    • 初始化/登陆
    • 获取聊天对象
    • 搜索聊天对象
    • 加好友和建群
    • 其他
    • 控制多个微信 (多开)
  • 聊天对象
    • 各类型的继承关系
    • 基本聊天对象
    • 单个聊天对象
    • 好友
    • 群聊
    • 公众号
    • 聊天对象合集
  • 消息处理
    • 消息对象
    • 自动处理消息
    • 已发送消息
    • 历史消息
  • 用微信监控你的程序
    • 获得专用 Logger
    • 加入到现有的 Logger
    • 指定接收者
  • 愉快的探索和调试
    • 使用 embed()
    • 使用 wxpy 命令
  • 实用组件
    • 聊天机器人
    • 查找共同好友
    • 确保查找结果的唯一性
    • 在多个群中同步消息
    • 检测频率限制
    • 忽略 ResponseError 异常
  • 异常处理
    • 异常的抛出和捕捉
    • 已知错误码
  • itchat 与原始数据
    • 使用 itchat 的原接口
    • 使用原始数据
  • 必看: 常见问题 FAQ
    • 启动后马上退出了?
    • 每次登陆都要扫码?
    • 可以在 Linux 中使用吗?
    • 支持 红包、转账、朋友圈… 吗?
    • 为什么要开发 wxpy?

http://www.niftyadmin.cn/n/629957.html

相关文章

扫码枪回车键条码_抄码器 牛羊肉扫码抄码机进口牛羊肉抄码器冷库扫码器统计重量...

冷库抄码器帮助你快捷准确地完成抄码工作,通过软件可以准确的记录每个商品的重量,支持手动输入和语音输入两种方式,记录完成后软件还可以对这些商品重量求和计算出总重量!本应用主要用来扫描含有重量信息条码,在手持端…

hive安装需要安装mysql区别,怎样安装Hive?本地和远程操作安装区别在哪里

本地和远程模式安装配置方式大致相同,本质上是将Hive默认的元数据存储介质由自带的Derby数据库替换为MySQL数据库,这样无论在任何目录下以任何方式启动Hive,只要连接的是同一台Hive服务,那么所有节点访问的元数据信息是一致的&…

iphone双重认证关闭不了怎么办_在 iPhone 12 上登录 Apple ID 时遇到问题怎么办?

Apple ID 对于每个苹果设备用户来说都是非常重要的,在使用 iPhone 时,用户可以通过 Apple ID 使用 iCloud 功能、下载应用以及通过钥匙串储存其它更多账户密码等。如果您在使用 Apple ID 登录新 iPhone 时遇到问题,可参考如下办法解决&#x…

Visual Studio 2017 集成Crystal Report为ASP.NET MVC呈现报表

原文:Visual Studio 2017 集成Crystal Report为ASP.NET MVC呈现报表 最近项目需要实现报表功能,平衡各方面的因素,还是使用Crystal Report(水晶报表) To get there click here: Download WIKI https://www.crystalreports.com/crystal-reports-visual-st…

java poi excel 下载官网,Java使用Poi进行excel的文件导出,下载

Java使用Poi进行excel的文件导出,下载先贴代码后讲解导出方法1(确认已经有可导出的模板)例如:No:${no}确认日期:${date}确认人:${p}import org.apache.poi.ss.usermodel.Workbook;/**** param sheetList* 传入sheetList(sheet名称)* param dataList* 传入…

mysql改数据库名称

第一种方法:1.创建需要改成新名的数据库。2.mysqldum 导出要改名的数据库3.删除原来的旧库(确定是否真的需要)当然这种方法虽然安全,但是如果数据量大,会比较耗时,哎,当时连这种方法都没有想到&…

matlab st dt代表什么意思,kk是什么意思代表什么_吴白的dt和kk俱乐部的名称含义_我爱历史网...

《我的时代,你的时代》正式开播,该剧改编自墨宝非宝的小说《密室困游鱼》。之前由李现和杨紫主演的《亲爱的热爱的》也是出自该作者的小说,严格来说这部剧本来算是之前那部剧的后续,主要讲述了艾情和吴白之间的故事。这部剧之前定…

c++数据结构队列栈尸体_数据结构考研笔记之栈与队列(四)栈与队列应用括号匹配、中缀表达式转前缀后缀问题...

文字:独木排版:独木图片:独木栈与队列1.括号匹配问题栈例题1例题2-----不匹配例题1例题3-----不匹配例题22. 表达式求值问题例题1.中缀表达式转前缀表达式2.中缀表达式转后缀表达式实现过程:3. 递归:递归产生的问题&am…