Python使用wxpy模塊實(shí)現(xiàn)微信兩兩群組消息同步功能(推薦)
wxpy也是一個(gè)python的模塊,利用它我們可以做很多有意思的事情,今天通過本文給大家介紹Python使用wxpy模塊實(shí)現(xiàn)微信兩兩群組消息同步功能。
安裝模塊:
pip install wxpy
注意:需要同步的微信群需要保存到通訊錄中
以下是自己閑來(lái)無(wú)事寫的代碼,暫時(shí)還存在以下幾個(gè)問題,有能優(yōu)化的大佬可以討論下:
1.暫時(shí)同步不了大文件,測(cè)試發(fā)現(xiàn)超過40M的文件無(wú)法同步;
2.頻發(fā)發(fā)送消息時(shí)可能導(dǎo)致有的消息丟失;
3.項(xiàng)目不穩(wěn)定,有時(shí)會(huì)掉線,腳本需要重啟后重新登錄微信
直接上代碼
import time
from wxpy import *
# 用同步的微信群,為雙重列表,最里層列表為要同步的微信群,可以有多個(gè)
need_group = [['客戶1群', '技術(shù)1群'],
['客戶2群', '技術(shù)2群'],
['客戶3群', '技術(shù)3群'],
]
# 需要屏蔽的人
except_list = ["張三", "李四"]
# 保存搜索結(jié)果的對(duì)象雙重列表
group_obj_list = [[] for _ in range(len(need_group))]
# 初始化機(jī)器人,電腦彈出二維碼,用手機(jī)微信掃碼登陸
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)):
# 注意: 暫時(shí)發(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
# 暫時(shí)發(fā)現(xiàn)綁定監(jiān)聽事件是阻塞事件,需要一個(gè)一個(gè)幫忙,用循環(huán)綁定的話只能綁定第一個(gè)
# 同步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('程序運(yùn)行中', DATE)
time.sleep(1800)
embed()
# 堵塞線程,讓機(jī)器人保持運(yùn)行
bot.join()
同步微信群時(shí)默認(rèn)的前綴為表情加微信名,如果想去掉的話,點(diǎn)擊進(jìn)入sync_message_in_groups函數(shù)修改下源碼,如下圖

到此這篇關(guān)于Python使用wxpy模塊實(shí)現(xiàn)微信兩兩群組消息同步功能(推薦)的文章就介紹到這了,更多相關(guān)Python微信兩兩群組消息同步內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中內(nèi)置函數(shù)filter函數(shù)用法詳解
filter()函數(shù)是Python內(nèi)置的另一個(gè)有用的高階函數(shù),filter()函數(shù)接收一個(gè)函數(shù)f和一個(gè)序列,函數(shù)f的作用是對(duì)每個(gè)元素進(jìn)行判斷,返回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ā)送請(qǐng)求時(shí)攜帶的參數(shù)后端需要使用,而不同的發(fā)送參數(shù)的方式對(duì)應(yīng)了不同的提取參數(shù)的方式,本文就詳細(xì)的介紹一下2021-08-08
Python基礎(chǔ)語(yǔ)言學(xué)習(xí)筆記總結(jié)(精華)
給大家分享一篇關(guān)于Python基礎(chǔ)學(xué)習(xí)內(nèi)容的學(xué)習(xí)筆記整理總結(jié)篇,里面匯集了學(xué)習(xí)Python基礎(chǔ)語(yǔ)言的難點(diǎn)和技巧,分享給大家。2017-11-11
使用Python3?Boto3包刪除AWS?CloudFormation的棧(Stacks)
這篇文章主要介紹了如何使用Python3?Boto3刪除AWS?CloudFormation的棧(Stacks),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-01-01
Python爬蟲數(shù)據(jù)處理模塊的安裝使用教程
這篇文章主要為大家介紹了Python爬蟲數(shù)據(jù)處理模塊的安裝使用教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
詳解python常用命令行選項(xiàng)與環(huán)境變量
這篇文章主要介紹了python常用命令行選項(xiàng)與環(huán)境變量,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
Flask教程之重定向與錯(cuò)誤處理實(shí)例分析
這篇文章主要介紹了Flask教程之重定向與錯(cuò)誤處理,結(jié)合實(shí)例形式分析了flask框架重定向、狀態(tài)碼判斷及錯(cuò)誤處理相關(guān)操作技巧,需要的朋友可以參考下2019-08-08

