easyChat
PC端微信助手(非web微信版):定时发送信息;群发信息;自动回复等。
最新编辑日期:2023/08/01
有疑问推荐在Issues上提出以供他人参考。
个人邮箱:[email protected]。
如果有帮到您的话,麻烦顺手点个star~
更新日志
2023/08/01
- 修复了无法at他人的bug
2023/07/24
- 现在程序在无法发送时会进行报错,不会直接闪退。
- 现在用户可以通过按下"ctrl + alt"来终止发送。
2023/07/22
- 现在代码调用方式支持存储聊天记录的图片和视频。
2023/07/19
- 对输入方式进行了优化。
- 现在支持加载内容txt文件。
- 现在一条信息可以指定用户发送而不是默认全部发送。
2023/06/21
- 现在ui界面支持读取微信联系人并存储成txt文件用于加载。
2023/06/20
- 修复了当好友数过少无法获取联系人的bug。
2023/06/13
- 修复版本更新导致代码调用无法发送信息的bug。
2022/11/22
- 修正了文件版本更新混乱导致的出错问题。
2022/11/03
- 现在可以一次性添加多个人名,输入时通过英文逗号‘,’分隔即可。
2022/09/26
- 定时发送现在可以指定发送内容的范围(详情请使用最新版exe时看输入提示)。
2022/09/16
- 新增获取窗口聊天记录的功能(仅支持代码调用)。
2022/07/27
- 完成发送内容的优化,现在支持微信群@他人的操作
2022/07/07
- 完成发送内容的优化,现在支持一次定时按顺序发送多条信息。
前言
之前使用过的itchat等工具都是基于web版网页微信的。自从网页微信无法登陆之后,之前的工具都失效了。因此,本人采用uiautomation对微信进行暴力操作,就有了本仓库。并且用自学了三年的图形界面水平写了个简易ui供大家使用。
注意:请确保输入相应内容时严格按照示例的内容格式进行,以保证代码的正确执行。
支持功能
图形界面方式:
- 群发消息
- 定时发送消息
- 自动回复(随缘开发ing)
注意事项:请在使用过程中严格遵守输入格式,否则程序会自动退出。(要去考虑一个个边界条件太麻烦了,我直接采取一个鸵鸟政策)。
代码调用方式:
-
在指定群聊中@他人(若@所有人需具备@所有人权限)-> def at()
-
搜索指定用户名的联系人发送信息 -> def send_msg()
-
搜索指定用户名的联系人发送文件 -> def send_file()
-
获取所有通讯录中所有联系人 -> def find_all_contacts()
-
获取指定聊天窗口的聊天记录 -> def get_dialogs()
-
获取指定聊天窗口的图片和视频 -> def save_dialog_pictures()
注意事项:请进入ui_auto_wechat.py文件内部进行调用。内部代码简易注释详尽,可以自由尝试。
文件说明
automation.py
可视化控件树的文件,针对希望DIY的用户,方便进行控件类型和深度的查看。
clipboard.py
提供了对文件的复制操作,调用函数即可将指定路径的文件复制到剪切板。
ui_auto_wechat.py
是对PC版微信进行的各种操作实现代码。内部代码简易,支持自由DIY。
wechat_gui.py
是编写的图形界面,在图形界面中调用对微信的操作。由于本人太懒,直接放弃美工,后期边做边改吧。
module.py
控件模块,组成UI界面的小组件。
wechat_gui.exe
是打包好的exe程序,可以直接下载进行使用。也可以对wechat_gui.py进行打包生成exe文件。
图形界面
**图形界面示意图**
使用步骤
基础操作
-
点击“选择微信打开路径”,在目录下选择微信的可执行exe文件。
-
点击“添加用户”,输入要发送信息的用户名(在搜索框第一个展示的名字,如下所示)。
-
点击文本框右侧的添加按钮,选择添加文本或文件。添加的内容会在发送时按添加的顺序一次发送。
-
(可选)如果要进行定时发送,点击下方的“添加时间”按钮,按照规定的格式添加时间。随后点击“开始定时”,当时间达到列表中的指定时间时,便会将指定的消息发送给指定的用户。
微信群@他人
注意:@所有人时请确保拥有微信群@所有人的权限,否则将失败。目前不支持直接在@人名后发送内容,请先@人名,随后单独添加发送内容。
加载用户txt文件
用户可以提前查看所有要发送的对象的名字,并存储在一个txt文件中,之后点击”加载用户txt文件“按钮,即可自动加载所有对象。
用户txt文件格式如下:
每一行都是一个对象的名字。
加载内容txt文件
你可以提前写下要发送的内容,并存储在一个txt文件中,之后点击”加载内容txt文件“按钮,即可自动加载所有内容。
注意事项:该方式仅支持发送文本内容
内容txt文件格式如下:
每一行都是一条内容消息。在输入内容之前,你需要先指定该条消息要发送给哪些对象:
- 如果默认发送给所有对象,则输入all:,然后写上要发送的内容
- 如果要发送给指定的对象,则输入用户的编号,多个用户之间用英文逗号分隔(如1,2,3),然后写上要发送的内容
注意事项:指定对象与发送内容之间要用英文冒号进行分隔
友情赞助
如果你觉得这款应用不错的话,麻烦顺手点个star。也可以请作者喝杯奶茶,让我在日常生活中感受到一些小确幸~