python实现微信群消息自动转发简明教程
csdh11 2025-03-13 14:18 1 浏览
基本思路是,用 Python 模拟微信网页版登陆,接收到群里消息后,对文本、图片、分享等各类消息类型分别处理,并转发至其他群。主要源头是使用itchat,itchat是一个开源的微信个人号接口,python实现。
1、准备一个单独的微信号,要一直在线,不能退出。
2、找台电脑,作为服务器,后面要长期运行。
3、服务器上安装python解析器。
4、安装itchat。命令:pip install itchat
5、把代码跑起来。
#coding=utf-8 import sys import itchat from itchat.content import * reload(sys) sys.setdefaultencoding('utf8') # @itchat.msg_register(itchat.content.TEXT) # def text_reply(msg): # return msg['Text'] # 自动回复文本等类别消息 # isGroupChat=False表示非群聊消息 @itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING], isGroupChat=False) def text_reply(msg): # print "here we are!" itchat.send('稍后会给您回复!', msg['FromUserName']) # 自动回复图片等类别消息 # isGroupChat=False表示非群聊消息 @itchat.msg_register([PICTURE, RECORDING, ATTACHMENT, VIDEO], isGroupChat=False) def download_files(msg): itchat.send('稍后会给您回复!', msg['FromUserName']) # 自动处理添加好友申请 @itchat.msg_register(FRIENDS) def add_friend(msg): itchat.add_friend(**msg['Text']) # 该操作会自动将新好友的消息录入,不需要重载通讯录 itchat.send_msg(u'您好', msg['RecommendInfo']['UserName']) # 自动转发文本等类别的群聊消息 # isGroupChat=True表示为群聊消息 @itchat.msg_register([TEXT, SHARING], isGroupChat=True) def group_reply_text(msg): # 消息来自于哪个群聊 chatroom_id = msg['FromUserName'] print"消息来自群聊",chatrooms_rename.get(chatroom_id) # 来自监控组里的群聊信息需要转发到“收信息群” #来自“收信息群”的群聊信息不需要处理 if not chatroom_id in chatroom_ids: return if chatroom_id == list(chatrooms_rename.keys())[list(chatrooms_rename.values()).index("收消息群")]: print "你在收消息群发送消息" return # 发送者的昵称 username = msg['ActualNickName'] print "发送者的昵称",username # 获取群名 group_name = chatrooms_rename.get(chatroom_id) if msg['Type'] == TEXT: content = msg['Content'] elif msg['Type'] == SHARING: content = msg['Text'] # 根据消息类型转发至其他需要同步消息的群聊 if msg['Type'] == TEXT: for item in chatrooms: if not item['UserName'] == chatroom_id: #写死了,默认需要同步的群只有“收信息群” itchat.send('%s—%s 说:\n%s' % (group_name, username, msg['Content']), list(chatrooms_rename.keys())[list(chatrooms_rename.values()).index("收消息群")]) elif msg['Type'] == SHARING: print 5 for item in chatrooms: if not item['UserName'] == chatroom_id: itchat.send('%s-%s 分享:\n%s\n%s' % (group_name, username, msg['Text'], msg['Url']), list(chatrooms_rename.keys())[list(chatrooms_rename.values()).index("收消息群")]) # 自动回复图片等类别的群聊消息 # isGroupChat=True表示为群聊消息 @itchat.msg_register([PICTURE, ATTACHMENT, VIDEO], isGroupChat=True) def group_reply_media(msg): # 消息来自于哪个群聊 chatroom_id = msg['FromUserName'] # 发送者的昵称 username = msg['ActualNickName'] # 消息并不是来自于需要同步的群 if not chatroom_id in chatroom_ids: return # 如果为gif图片则不转发 if msg['FileName'][-4:] == '.gif': return # 下载图片等文件 msg['Text'](msg['FileName']) # 转发至其他需要同步消息的群聊 group_name = chatrooms_rename.get(chatroom_id) for item in chatrooms: if not item['UserName'] == chatroom_id: itchat.send('%s—%s分享:' % (group_name, msg['ActualNickName']), list(chatrooms_rename.keys())[list(chatrooms_rename.values()).index("收消息群")]) itchat.send('@%s@%s' % ( {'Picture': 'img', 'Video': 'vid'}.get(msg['Type'], 'fil'), msg['FileName']), list(chatrooms_rename.keys())[list(chatrooms_rename.values()).index("收消息群")]) # 扫二维码登录 # itchat.auto_login(hotReload=False) itchat.auto_login(hotReload=True) # 获取所有通讯录中的群聊 # 需要在微信中将需要同步的群聊都保存至通讯录 chatrooms = itchat.get_chatrooms(update=True, contactOnly=True) print"chatrooms",chatrooms chatroom_ids = [c['UserName'] for c in chatrooms] print"chatroom_ids",chatroom_ids print"正在监测的群聊:", len(chatrooms),"个" chatrooms_rename = {} for item in chatrooms: chatrooms_rename[str(item['UserName'])] = item['NickName'] print"监控群",chatrooms_rename A=list(chatrooms_rename.keys())[list(chatrooms_rename.values()).index("收消息群")] itchat.run() 运行截图:
相关推荐
- 最具标志性的电影服饰
-
在1933年的电影《晚宴》中,一袭白色斜裁缎质礼服和一头染成银灰色的卷发将珍·哈露变成了片中孤独骄傲的凯蒂·帕卡德(KittyPackard)。这条白色礼服风靡一时,与它类似的款式统称为”珍·哈露式...
- 呼吸系统及其他相关疾病英文词汇
-
allergic/alls:rd3ik/a.过敏的同根alergyn.辻敏症allergenn.变应原(引起过敏反应的物质)...
- python实现微信群消息自动转发简明教程
-
基本思路是,用Python模拟微信网页版登陆,接收到群里消息后,对文本、图片、分享等各类消息类型分别处理,并转发至其他群。主要源头是使用itchat,itchat是一个开源的微信个人号接口,pyt...
- python实践——如何批量向好友发送消息,亲测有效!
-
今天为大家介绍如何像指定好友或微信群批量,一共两个Python模块,第一个是itchat,...
- 用python分析你的朋友圈,很好玩~
-
设计喵的内心OS:我一脸懵逼点进来,一脸懵逼走出去,你说了什么?事情是这么来的,我看到有朋友在做朋友圈的电子书,也想自己研究一下,发现原来有个itchart这个微信第三方API可以读取微信数据,抱着好...
- 探索Python技术在电脑端自动化中:从群发消息到智能朋友圈秒赞
-
一、技术革新与基础库的安装首先,确保Python环境已如诗如画般配置完毕,随后安装那些将赋予我们魔力的第三方库:...
- 使用Python实现微信电脑端自动化:群发消息、朋友圈点赞与秒赞
-
一、技术准备与基础库安装首先,确保Python环境已正确配置,随后安装必要的第三方库:...
- Python 查看微信撤回的消息(完整代码)
-
看到了一个基于python的微信开源库:itchat,玩了一天,做了一个程序,把私聊撤回的信息可以收集起来并发送到个人微信的文件传输助手,包括:...
- 用 Python 玩转微信就是这么简单
-
前言wxpy在itchat的基础上,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展。用来干啥一些常见的场景控制路由器、智能家居等具有开放接口的玩意儿...
- Python开源项目合集(第三方平台)
-
wechat-python-sdk-wechat-python-sdk微信公众平台Python开发包http://wechat-python-sdk.readthedocs.org/,非官方...
- 78行Python代码帮你复现微信撤回消息!
-
来源:悟空智能科技本文约700字,建议阅读5分钟。本文基于python的微信开源库itchat,教你如何收集私聊撤回的信息。...
- 女朋友老喜欢撤回消息?看我如何利用Python识破她的心理
-
一、pipInstallitchat既然都用python解决问题了,第一步当然是明确用什么库啦,直接执行pipinstallitchat:...
- 打游戏老是被女朋友骚扰怎么办?教你用Python智能回复消息
-
Python中itchat模块对于操作微信来说是个福音,今天,我们就用Python实现微信自动回复,同时调用图灵机器人,实现智能回复。具体代码如下:#导入...
- 一周热门
- 最近发表
- 标签列表
-
- mydisktest_v298 (34)
- document.appendchild (35)
- 头像打包下载 (61)
- acmecadconverter_8.52绿色版 (39)
- word文档批量处理大师破解版 (36)
- server2016安装密钥 (33)
- mysql 昨天的日期 (37)
- parsevideo (33)
- 个人网站源码 (37)
- centos7.4下载 (33)
- mysql 查询今天的数据 (34)
- intouch2014r2sp1永久授权 (36)
- 先锋影音源资2019 (35)
- jdk1.8.0_191下载 (33)
- axure9注册码 (33)
- pts/1 (33)
- spire.pdf 破解版 (35)
- shiro jwt (35)
- sklearn中文手册pdf (35)
- itextsharp使用手册 (33)
- 凯立德2012夏季版懒人包 (34)
- 反恐24小时电话铃声 (33)
- 冒险岛代码查询器 (34)
- 128*128png图片 (34)
- jdk1.8.0_131下载 (34)