我是程序員小小葉呵哨,為大家?guī)碓瓌?chuàng)精彩技術(shù)內(nèi)容赁濒。
首先安裝wxpy。
pip install wxpy
優(yōu)點(diǎn):相比itchat封裝了接口孟害,使用較為方便拒炎。
注意事項(xiàng):wxpy 支持 Python 3.4-3.6,以及 2.7 版本挨务。
實(shí)現(xiàn)三個(gè)場(chǎng)景:
場(chǎng)景1:你在網(wǎng)吧吃雞需要及時(shí)回復(fù)給老婆(針對(duì)某人回復(fù)文本消息)
場(chǎng)景2:你在追求女神時(shí)需要時(shí)刻在群里關(guān)注對(duì)方(從微信群里定位某人)
場(chǎng)景3:工作需要給客戶定時(shí)發(fā)送文件(針對(duì)某人發(fā)送文件)
場(chǎng)景1:你在網(wǎng)吧吃雞需要及時(shí)回復(fù)給老婆(針對(duì)某人回復(fù)文本消息)
關(guān)鍵代碼:
wifi_boss = bot.search('老婆大人')[0] # 這里‘’填入微信昵稱击你,定位老婆
@bot.register() # 接收從指定好友發(fā)來的消息,發(fā)送者即recv_msg.sender為指定好友wifi_boss
def recv_send_msg(recv_msg):
if recv_msg.sender == wifi_boss: # 這里指定回復(fù)老婆
return recv_msg.text # 這里是回復(fù)內(nèi)容
完整代碼:
# encoding: utf-8
"""
@author: 程序員小小葉
@contact: 3203636266@qq.com
@微信公眾號(hào):程序員小小葉
@file: case1.py
@desc:
"""
from wxpy import *
?
bot = Bot(cache_path=True) # 模擬登陸
?
wifi_boss = bot.search('老婆大人')[0] # 這里‘’填入微信昵稱
print(wifi_boss)
?
?
@bot.register() # 接收從指定好友發(fā)來的消息谎柄,發(fā)送者即recv_msg.sender為指定好友wifi_boss
def recv_send_msg(recv_msg):
print('收到的消息:', recv_msg.text) # recv_msg.text取得文本
if recv_msg.sender == wifi_boss: # 這里指定回復(fù)老婆
recv_msg.forward(bot.file_helper, prefix='老婆留言: ') # 在文件傳輸助手里留一份丁侄,方便自己忙完了回頭查看
ms = '老婆最美麗,我對(duì)老婆的愛如滔滔江水谷誓,連綿不絕'
print('>>>給老婆回復(fù)的:', ms)
return ms # 這里是回復(fù)內(nèi)容
?
?
# 進(jìn)入Python命令行绒障,讓程序保持運(yùn)行
embed()
尷尬了!避免萬一捍歪,最好用(qiao)心(miao)設(shè)計(jì)一下語言户辱!
場(chǎng)景2:你在追求女神時(shí)需要時(shí)刻在群里關(guān)注對(duì)方(從微信群里定位某人)
關(guān)鍵代碼:
lover_group = bot.groups().search('群名字')[0] # 第一步找到群名字
lover = lover_group.search('女神')[0] # 第二步在群里找到女神名字
@bot.register(chats=lover_group) # 接收從指定群發(fā)來的消息,發(fā)送者即recv_msg.sender為組
def recv_send_msg(recv_msg):
if recv_msg.member == lover : # 這里不用recv_msg.sender 因?yàn)閟ender是群的名字
recv_msg.forward(bot.file_helper,prefix='女神發(fā)言: ')
return '女神大人沉魚落雁糙臼,閉月羞花'
完整代碼:
# encoding: utf-8
"""
@author: 程序員小小葉
@contact: 3203636266@qq.com
@微信公眾號(hào):程序員小小葉
@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) # 接收從指定群發(fā)來的消息庐镐,發(fā)送者即recv_msg.sender為組
def recv_send_msg(recv_msg):
print('收到的消息:', recv_msg.text)
if recv_msg.member == lover:
# 這里不用recv_msg.render 因?yàn)閞ender是群的名字
recv_msg.forward(bot.file_helper, prefix='女神發(fā)言: ')
return '女神大人沉魚落雁,閉月羞花'
?
?
# 進(jìn)入Python命令行变逃,讓程序保持運(yùn)行
embed()
場(chǎng)景3:工作需要給客戶定時(shí)發(fā)送文件(針對(duì)某人回復(fù)文件)
關(guān)鍵代碼:
client_baba.send('Hello') # 文件放在同目錄下即可 # 發(fā)送文本
client_baba.send_image('Test.png') # 發(fā)送圖片
client_baba.send_video('Test.mov') # 發(fā)送視頻
client_baba.send_file('Test.zip') # 發(fā)送文件
client_baba.send('@img@Test.png') # 以動(dòng)態(tài)的方式發(fā)送圖片
完整代碼:
# encoding: utf-8
"""
@author: 程序員小小葉
@contact: 3203636266@qq.com
@微信公眾號(hào):程序員小小葉
@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)
?
'''
設(shè)定一個(gè)定時(shí)發(fā)送線程
'''
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:
# 發(fā)送文本
# client_baba.send('Hello, WeChat!')
# 發(fā)送圖片
# client_baba.send_image('Test.png')
# 發(fā)送視頻
# client_baba.send_video('Test.mov')
# 發(fā)送文件
target.send_file('Test.zip')
# 以動(dòng)態(tài)的方式發(fā)送圖片
# client_baba.send('@img@Test.png')
?
?
t = Thread(target=timer, args=(client_baba, '2020-02-19 13:33:11',))
t.start()
當(dāng)然啦必逆,還有很多有趣的想法可以加進(jìn)去,比如自動(dòng)推廣揽乱,每日打卡名眉,回答機(jī)器人,節(jié)日問候凰棉,每日一句等等损拢。
如果你在學(xué)習(xí)Python,不妨關(guān)注點(diǎn)贊收藏一下撒犀!
同名公眾號(hào):程序員小小葉福压,關(guān)注發(fā)送“數(shù)據(jù)分析”掏秩,贈(zèng)送《利用 Python 進(jìn)行數(shù)據(jù)分析》(中文帶書簽)電子書(學(xué)習(xí) Python 基礎(chǔ)庫(kù)最好的書。)