我是程序员小小叶,为大家带来原创精彩技术内容。
首先安装wxpy。
pip install wxpy
优点:相比itchat封装了接口,使用较为方便。
注意事项:wxpy 支持 Python 3.4-3.6,以及 2.7 版本。
实现三个场景:
场景1:你在网吧吃鸡需要及时回复给老婆(针对某人回复文本消息)
场景2:你在追求女神时需要时刻在群里关注对方(从微信群里定位某人)
场景3:工作需要给客户定时发送文件(针对某人发送文件)
场景1:你在网吧吃鸡需要及时回复给老婆(针对某人回复文本消息)
关键代码:
wifi_boss = bot.search('老婆大人')[0] # 这里‘’填入微信昵称,定位老婆
@bot.register() # 接收从指定好友发来的消息,发送者即recv_msg.sender为指定好友wifi_boss
def recv_send_msg(recv_msg):
if recv_msg.sender == wifi_boss: # 这里指定回复老婆
return recv_msg.text # 这里是回复内容
完整代码:
# encoding: utf-8
"""
@author: 程序员小小叶
@contact: 3203636266@qq.com
@微信公众号:程序员小小叶
@file: case1.py
@desc:
"""
from wxpy import *
bot = Bot(cache_path=True) # 模拟登陆
wifi_boss = bot.search('老婆大人')[0] # 这里‘’填入微信昵称
print(wifi_boss)
@bot.register() # 接收从指定好友发来的消息,发送者即recv_msg.sender为指定好友wifi_boss
def recv_send_msg(recv_msg):
print('收到的消息:', recv_msg.text) # recv_msg.text取得文本
if recv_msg.sender == wifi_boss: # 这里指定回复老婆
recv_msg.forward(bot.file_helper, prefix='老婆留言: ') # 在文件传输助手里留一份,方便自己忙完了回头查看
ms = '老婆最美丽,我对老婆的爱如滔滔江水,连绵不绝'
print('>>>给老婆回复的:', ms)
return ms # 这里是回复内容
# 进入Python命令行,让程序保持运行
embed()
尴尬了!避免万一,最好用(qiao)心(miao)设计一下语言!
场景2:你在追求女神时需要时刻在群里关注对方(从微信群里定位某人)
关键代码:
lover_group = bot.groups().search('群名字')[0] # 第一步找到群名字
lover = lover_group.search('女神')[0] # 第二步在群里找到女神名字
@bot.register(chats=lover_group) # 接收从指定群发来的消息,发送者即recv_msg.sender为组
def recv_send_msg(recv_msg):
if recv_msg.member == lover : # 这里不用recv_msg.sender 因为sender是群的名字
recv_msg.forward(bot.file_helper,prefix='女神发言: ')
return '女神大人沉鱼落雁,闭月羞花'
完整代码:
# encoding: utf-8
"""
@author: 程序员小小叶
@contact: 3203636266@qq.com
@微信公众号:程序员小小叶
@file: case2.py
@desc:
"""
from wxpy import *
bot = Bot(cache_path=True)
lover_group = bot.groups().search('群名字')[0] # 第一步找到群名字
lover = lover_group.search('女神')[0] # 第二步在群里找到女神名字
@bot.register(chats=lover_group) # 接收从指定群发来的消息,发送者即recv_msg.sender为组
def recv_send_msg(recv_msg):
print('收到的消息:', recv_msg.text)
if recv_msg.member == lover:
# 这里不用recv_msg.render 因为render是群的名字
recv_msg.forward(bot.file_helper, prefix='女神发言: ')
return '女神大人沉鱼落雁,闭月羞花'
# 进入Python命令行,让程序保持运行
embed()
场景3:工作需要给客户定时发送文件(针对某人回复文件)
关键代码:
client_baba.send('Hello') # 文件放在同目录下即可 # 发送文本
client_baba.send_image('Test.png') # 发送图片
client_baba.send_video('Test.mov') # 发送视频
client_baba.send_file('Test.zip') # 发送文件
client_baba.send('@img@Test.png') # 以动态的方式发送图片
完整代码:
# encoding: utf-8
"""
@author: 程序员小小叶
@contact: 3203636266@qq.com
@微信公众号:程序员小小叶
@file: case3.py
@desc:
"""
import time
from wxpy import *
from threading import Thread
bot = Bot(cache_path=True)
client_baba = bot.search('客户爸爸')[0] # 这里‘’填入微信客户昵称
print(client_baba)
'''
设定一个定时发送线程
'''
def timer(target, ok_time):
while (True):
now_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
print(now_time)
if ok_time == now_time:
# 发送文本
# client_baba.send('Hello, WeChat!')
# 发送图片
# client_baba.send_image('Test.png')
# 发送视频
# client_baba.send_video('Test.mov')
# 发送文件
target.send_file('Test.zip')
# 以动态的方式发送图片
# client_baba.send('@img@Test.png')
t = Thread(target=timer, args=(client_baba, '2020-02-19 13:33:11',))
t.start()
当然啦,还有很多有趣的想法可以加进去,比如自动推广,每日打卡,回答机器人,节日问候,每日一句等等。
如果你在学习Python,不妨关注点赞收藏一下!
同名公众号:程序员小小叶,关注发送“数据分析”,赠送《利用 Python 进行数据分析》(中文带书签)电子书(学习 Python 基础库最好的书。)