Wxpy用来做什么
一些常见的场景
控制路由器、智能家居等具有开放接口的玩意儿 运行脚本时自动把日志发送到你的微信 加群主为好友,自动拉进群中 跨号或跨群转发消息 自动陪人聊天 逗人玩 ... 总而言之,可用来实现各种微信个人号的自动化操作
安装
wxpy 支持 Python 3.4-3.6,以及 2.7 版本
将下方命令中的 "pip" 替换为 "pip3" 或 "pip2",可确保安装到对应的 Python 版本中
1.从 PYPI 官方源下载安装 (在国内可能比较慢或不稳定):
pip install -U wxpy
2.从豆瓣 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()
自动回复指定微信好友的信息
#encoding=utf-8
from wxpy import *
# cache_path保持登录,Bot初始化中可以加入参数:console_qr是否在控制台显示二维码
bot = Bot(cache_path=True, console_qr=True,login_callback='loginSuccess')
#使用图灵机器人自动与指定好友聊天
#免费申请: http://www.tuling123.com/
tuling = Tuling(api_key='你在tuling网站申请的api_key')
# sex和city可以不输入,也可以仅通过他们进行好友的获取,结果为列表形式,所以我们通过[0]得到第一项
myfriend = bot.friends().search(u'郭發龍')[0]
myfriend1 = bot.self
print (myfriend)
@bot.register()
def reply_msg(msg):
sender_username = msg.sender.raw['UserName']
# 输出发送信息的好友或者群聊中的人员信息
print(sender_username)
# 判断是否和我设置的想要自动恢复到人一致如果一致调用tuling进行消息回复
if sender_username == myfriend.raw['UserName']:
#输出或得到的消息
print(msg)
#调用tuling机器人回复消息,并将消息赋值给message
message = tuling.do_reply(msg)
#输出回复消息的内容
print(message)
#阻塞进程
bot.join()