Skip to content

Commit 884dc2a

Browse files
authored
Update README.md
1 parent 053e27a commit 884dc2a

File tree

1 file changed

+32
-13
lines changed

1 file changed

+32
-13
lines changed

README.md

+32-13
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,18 @@ Python+itchat+PyQt5实现的个人版微信--自动回复、防撤回、红包
33

44
一直在学习python,无意中看到了itchat这个包,感觉很有意思,简单实现了一个LowB版微信,给女朋友捉弄朋友用。其实没有什么难度,做的很简陋,这里做下记录。
55

6+
[博客地址](https://blog.csdn.net/hyqwmxsh/article/details/82019571)
7+
68
环境:
7-
python3.6
8-
PyQt5 5.11.2
9-
itchat 1.3.10
10-
wordcloud 1.5.0
11-
matplotlib 2.1.2
9+
* python3.6
10+
11+
* PyQt5 5.11.2
12+
13+
* itchat 1.3.10
14+
15+
* wordcloud 1.5.0
16+
17+
* matplotlib 2.1.2
1218

1319
代码主要包括四个部分:
1420

@@ -21,10 +27,13 @@ matplotlib 2.1.2
2127
* [AutoReplyWechat.py](https://github.com/Mister5ive/weChatAutoReply/blob/master/AutoReplyWechat.py)相当于一个调度中心,包括main函数
2228

2329

24-
#登录
30+
# 登录
31+
2532
这部分代码功能很简单,就是获取itchat的登陆二维码
2633

27-
##代码:
34+
35+
## 代码:
36+
2837

2938
from PyQt5.QtWidgets import QDialog,QLabel,QPushButton,QVBoxLayout,QApplication
3039
from PyQt5 import QtGui
@@ -78,7 +87,8 @@ class LogWindow(QDialog):
7887

7988

8089

81-
#itchat消息处理
90+
# itchat消息处理
91+
8292
这部分代码主要是微信消息的获取和后续处理,全部基于itchat来实现,后面别的有趣的功能也应该在这里增加。
8393

8494
from PyQt5.QtCore import QThread, pyqtSignal
@@ -297,7 +307,9 @@ class ItchatThread(QThread):
297307

298308
run函数中,分别处理群和个人消息,关于itchat的api,具体可以参考官网说明。
299309

300-
###个人消息部分:
310+
311+
### 个人消息部分:
312+
301313

302314
调用get_head_img获取对方头像,并保存到本地。
303315
如果是文本信息,聊天记录保存到本地文件log,然后存进一个list--msgHistory。上述list用来保存2min以内的聊天记录(2min以上无法撤回),用来实现防撤回功能。这里保存的信息主要包括创建时间,消息人昵称、备注、ID和内容。msgHistory因为只保存了最近2min的消息,所以要一直清理,否则会堆积太多内容。msgClear函数用来清理msgHistory,原理也很简单,当前时间跟最早的时间作差,大于120s即删除。
@@ -309,10 +321,14 @@ autoReply用来开启自动回复,通过Qt界面设置。自动回复调用了
309321

310322
最后调用auto_login,就可以获取二维码登录自己的微信了。这里注意,默认是调用电脑的看图软件打开二维码,或者可以在控制台利用字符显示。这里我想在qt界面显示,所以重写了qrCallBack,把图片数据发送给界面显示,loginCallBack负责通知界面登录状态。get_friends获取通讯录朋友信息,供界面使用。
311323

312-
#主界面
324+
325+
# 主界面
326+
313327
这部分代码写的有点乱,其实没什么难度,主要是自己想实现的逻辑理清就ok了。
314328

315-
##代码:
329+
330+
## 代码:
331+
316332

317333
from PyQt5.QtWidgets import QApplication ,QWidget, QTabWidget,QTextBrowser,QTextEdit,QListWidgetItem,QCheckBox,QLabel,QPushButton,QVBoxLayout,QHBoxLayout,QGridLayout,QListWidget,QMenu,QSystemTrayIcon,QAction
318334
from PyQt5.QtCore import pyqtSlot
@@ -822,7 +838,9 @@ QTabWidget建了三个页,基本是模仿的微信PC端。
822838
两个趣功能是在网上看到的,感觉很有意思,云词功能调用了wordcloud包,很好玩。我做了下简单改进在界面展示出来。
823839

824840

825-
#调度部分
841+
842+
# 调度部分
843+
826844
这部分代码就算是指挥中心了,继承QThread,负责其他三个累的通信,很容易理解。
827845

828846
from PyQt5.QtWidgets import QApplication
@@ -964,7 +982,8 @@ if __name__ == '__main__':
964982

965983

966984

967-
参考链接:
985+
986+
# 参考链接:
968987

969988
[https://www.jianshu.com/p/d042ff5f4457](https://www.jianshu.com/p/d042ff5f4457)
970989

0 commit comments

Comments
 (0)