python使用wxpy模块提供的微信API接口实现两两群组的消息同步

安装模块: pip install wxpy

注意:需要同步的微信群需要保存到通讯录中

以下是自己闲来无事写的代码,暂时还存在以下几个问题,有能优化的大佬可以讨论下:

1.暂时同步不了大文件,测试发现超过40M的文件无法同步;

2.频发发送消息时可能导致有的消息丢失;

3.项目不稳定,有时会掉线,脚本需要重启后重新登录微信

直接上代码

import time
from wxpy import * # 用同步的微信群,为双重列表,最里层列表为要同步的微信群,可以有多个
need_group = [['客户1群', '技术1群'],
['客户2群', '技术2群'],
['客户3群', '技术3群'],
] # 需要屏蔽的人
except_list = ["张三", "李四"] # 保存搜索结果的对象双重列表
group_obj_list = [[] for _ in range(len(need_group))] # 初始化机器人,电脑弹出二维码,用手机微信扫码登陆
bot = Bot() # 微信登陆后,更新微信群列表(包括未保存到通讯录的群)
bot.groups(update=True, contact_only=False) # 往微信助手发消息
bot.file_helper.send('wechat bot login success.') # 查找群
try:
for i in range(len(need_group)):
     
     # 注意: 暂时发现需要搜索的群需要保存到通讯录中
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提供的函数同步消息
sync_message_in_groups(msg, group_list, prefix="")
except:
pass # 暂时发现绑定监听事件是阻塞事件,需要一个一个帮忙,用循环绑定的话只能绑定第一个 # 同步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往微信助手发送消息,不发则说明程序崩溃
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函数修改下源码,如下图

Python使用wxpy模块实现微信两两群组消息同步的更多相关文章

  1. python 使用wxpy实现获取微信好友列表 头像 群成员

    最近在学习 python 突然想要试试能不能把微信里面的微信群和好友取出来 结果百度了一下 找到了 wxpy 这怎么能不试一下呢 用到 wxpy.threading.os.time 四个库 第一步 判 ...

  2. 使用wxpy模块了解微信好友

    网上看了一篇python文章,内容简单有趣,正好可以练习一下.原文连接:http://mp.weixin.qq.com/s/oI2pH8uvq4kwYqc4kLMjuA 一.环境:Windows+py ...

  3. [LeetCode] Couples Holding Hands 两两握手

    N couples sit in 2N seats arranged in a row and want to hold hands. We want to know the minimum numb ...

  4. python模块的导入的两种方式区别详解

    Python 有两种导入模块的方法.两种都有用,你应该知道什么时候使用哪一种方法.一种方法,import module,另一种是from module import,下面是 from module i ...

  5. 用Python实现gmail邮箱服务,实现两个邮箱之间的绑定(上)

    一.本程序的起源 当我决定去中科院实习的时候,我给刘奎恩老师发了封邮件.我对此事是非常看重的,因此经常使用浏览器,打开gmail去查看刘老师有没有给我回复.因为gmail的新邮件推送的功能仅限于打开浏 ...

  6. 用Python实现gmail邮箱服务,实现两个邮箱之间的绑定(下)

    一.我的需求 我希望做成具有以下功能的软件:1. 间隔一段时间登录我的邮箱查看是否有未读邮件 如果不断的运行查看是否有新邮件确实没多大必要. 另外如果这个客户端登录我的邮箱,那么我可能就不能用浏览器登 ...

  7. 用Python实现gmail邮箱服务,实现两个邮箱之间的绑定(中)

    这篇博客,主要讲解用Python实现邮箱服务的几个需要学习的模块:E-mail Compotion and Decoding(邮件生成和解析).SMTP.POP.IMAP 如上篇博客所讲,我学习过程参 ...

  8. iOS不得姐项目--推荐关注模块(一个控制器控制两个tableView),数据重复请求的问题,分页数据的加载,上拉下拉刷新(MJRefresh)

    一.推荐关注模块(一个控制器控制两个tableView) -- 数据的显示 刚开始加载数据值得注意的有以下几点 导航控制器会自动调整scrollView的contentInset,最好是取消系统的设置 ...

  9. 利用python实现两个文件夹的同步

    其实无论windows还是Linux,简单地去实现两个两个文件夹的同步只需系统自带的复制命令加参数就可以了. WINDOWS : xcopy 源文件夹\* 目标文件夹 /s /e /y Linux : ...

随机推荐

  1. mysql设置文档快捷写

    select distinct column_name,column_comment,column_type from information_schema.columns where table_n ...

  2. 开箱即用,Knative 给您极致的容器 Serverless 体验

    作者 | 冬岛  阿里巴巴技术专家 导读:托管 Knative 开箱即用,您不需要为这些常驻实例付出任何成本.结合 SLB 云产品提供 Gateway 的能力以及基于突发性能型实例的保留规格功能,极大 ...

  3. 必会技能!Docker助你快速上手玩转HBase!

    前言:本文主要讲述了如何使用Docker快速上手HBase,省去繁杂的安装部署环境,直接上手,小白必备.适合HBase入门学习及简单代码测试. 1. Docker 安装 参考地址: https://y ...

  4. iOS 的尾调用优化原理

    背景: 今天聊代码规范的问题的时候说了一下尾调用的问题. 一:概念: 什么是尾调用? 尾调用(Tail Call):某个函数的最后一步仅仅只是调用了一个函数(可以是自身,可以是另一个函数). 注意 “ ...

  5. vue-cli中的index.html ,main.js , App.vue的关系

    ###发现不少小伙伴才刚开始接触到这个结构都被绕的迷糊,而发现很多人说的也不是那么准确,那么下面我来说一下是怎么回事### 1.首先我们来看看原生Vue中组件的写法, 我们按照vue-cli的结构按照 ...

  6. 转 vue过滤器使用

    简单介绍一下过滤器,顾名思义,过滤就是一个数据经过了这个过滤之后出来另一样东西,可以是从中取得你想要的,或者给那个数据添加点什么装饰,那么过滤器则是过滤的工具.例如,从['abc','abd','ad ...

  7. Android_存储访问框架SAF

    概念 存储访问框架---Storage Access Framework (SAF),这是在Android4.4(API level 19)之后引入的. 借助 SAF,用户可轻松在其所有首选文档存储提 ...

  8. Intellij IDEA 2020.1.1 破解 永久有效 亲测100%成功

    申明:本教程 WebStorm 破解补丁.激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除. 前言 作为一个有强迫症的码农,怎么能忍受自己的开发工具跟不上潮流呢?笔者以前一直用 ...

  9. 数据库原理实验指导(三)使用SQL语言进行简单查询【转载csdn】

    --1.查询全体学生的学号和姓名select sno,sname from student --2.查询全体学生的详细记录select * from student --3.查询软件学院的学生姓名,年 ...

  10. Vim入门教程——转

    简书: https://www.jianshu.com/p/bcbe916f97e1