Python使用wxpy模塊實現(xiàn)微信兩兩群組消息同步功能(推薦)
wxpy也是一個python的模塊,利用它我們可以做很多有意思的事情,今天通過本文給大家介紹Python使用wxpy模塊實現(xiàn)微信兩兩群組消息同步功能。
安裝模塊:
pip install wxpy
注意:需要同步的微信群需要保存到通訊錄中
以下是自己閑來無事寫的代碼,暫時還存在以下幾個問題,有能優(yōu)化的大佬可以討論下:
1.暫時同步不了大文件,測試發(fā)現(xiàn)超過40M的文件無法同步;
2.頻發(fā)發(fā)送消息時可能導(dǎo)致有的消息丟失;
3.項目不穩(wěn)定,有時會掉線,腳本需要重啟后重新登錄微信
直接上代碼
import time
from wxpy import *
# 用同步的微信群,為雙重列表,最里層列表為要同步的微信群,可以有多個
need_group = [['客戶1群', '技術(shù)1群'],
['客戶2群', '技術(shù)2群'],
['客戶3群', '技術(shù)3群'],
]
# 需要屏蔽的人
except_list = ["張三", "李四"]
# 保存搜索結(jié)果的對象雙重列表
group_obj_list = [[] for _ in range(len(need_group))]
# 初始化機器人,電腦彈出二維碼,用手機微信掃碼登陸
bot = Bot()
# 微信登陸后,更新微信群列表(包括未保存到通訊錄的群)
bot.groups(update=True, contact_only=False)
# 往微信助手發(fā)消息
bot.file_helper.send('wechat bot login success.')
# 查找群
try:
for i in range(len(need_group)):
# 注意: 暫時發(fā)現(xiàn)需要搜索的群需要保存到通訊錄中
my_groups_Q1 = bot.groups().search(need_group[i][0])[0]
my_groups_Q2 = bot.groups().search(need_group[i][1])[0]
# 更新群消息
my_groups_Q1.update_group(members_details=True)
my_groups_Q2.update_group(members_details=True)
group_obj_list[i].append(my_groups_Q1)
group_obj_list[i].append(my_groups_Q2)
except:
pass
def send_message(msg, group_list):
try:
# 屏蔽某人
if msg.member.name not in except_list:
# 使用API提供的函數(shù)同步消息
sync_message_in_groups(msg, group_list, prefix="")
except:
pass
# 暫時發(fā)現(xiàn)綁定監(jiān)聽事件是阻塞事件,需要一個一個幫忙,用循環(huán)綁定的話只能綁定第一個
# 同步1群
@bot.register(group_obj_list[0], except_self=False)
def sync_my_groups_00(msg):
send_message(msg, group_obj_list[0])
# 同步2群
@bot.register(group_obj_list[1], except_self=False)
def sync_my_groups_01(msg):
send_message(msg, group_obj_list[1])
# 同步3群
@bot.register(group_obj_list[2], except_self=False)
def sync_my_groups_02(msg):
send_message(msg, group_obj_list[2])
# 每過30min往微信助手發(fā)送消息,不發(fā)則說明程序崩潰
while True:
DATE = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
bot.file_helper.send('程序運行中', DATE)
time.sleep(1800)
embed()
# 堵塞線程,讓機器人保持運行
bot.join()
同步微信群時默認的前綴為表情加微信名,如果想去掉的話,點擊進入sync_message_in_groups函數(shù)修改下源碼,如下圖

到此這篇關(guān)于Python使用wxpy模塊實現(xiàn)微信兩兩群組消息同步功能(推薦)的文章就介紹到這了,更多相關(guān)Python微信兩兩群組消息同步內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中內(nèi)置函數(shù)filter函數(shù)用法詳解
filter()函數(shù)是Python內(nèi)置的另一個有用的高階函數(shù),filter()函數(shù)接收一個函數(shù)f和一個序列,函數(shù)f的作用是對每個元素進行判斷,返回True或False,下面這篇文章主要給大家介紹了關(guān)于Python中內(nèi)置函數(shù)filter函數(shù)用法的相關(guān)資料,需要的朋友可以參考下2024-05-05
Django使用HTTP協(xié)議向服務(wù)器傳參方式小結(jié)
本文主要介紹了Django使用HTTP協(xié)議向服務(wù)器傳參方式小結(jié),用戶發(fā)送請求時攜帶的參數(shù)后端需要使用,而不同的發(fā)送參數(shù)的方式對應(yīng)了不同的提取參數(shù)的方式,本文就詳細的介紹一下2021-08-08
Python基礎(chǔ)語言學(xué)習(xí)筆記總結(jié)(精華)
給大家分享一篇關(guān)于Python基礎(chǔ)學(xué)習(xí)內(nèi)容的學(xué)習(xí)筆記整理總結(jié)篇,里面匯集了學(xué)習(xí)Python基礎(chǔ)語言的難點和技巧,分享給大家。2017-11-11
使用Python3?Boto3包刪除AWS?CloudFormation的棧(Stacks)
這篇文章主要介紹了如何使用Python3?Boto3刪除AWS?CloudFormation的棧(Stacks),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-01-01
Python爬蟲數(shù)據(jù)處理模塊的安裝使用教程
這篇文章主要為大家介紹了Python爬蟲數(shù)據(jù)處理模塊的安裝使用教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06

