一个用于在Windows微信客户端批量发送新年祝福的Python自动化程序。
- 自动识别并激活Windows微信客户端窗口
- 读取本地txt文件中的联系人列表
- 自动搜索联系人并进入聊天窗口
- 支持自定义祝福语模板和随机附加句
- 发送个性化新年祝福消息
- 完善的异常处理和日志记录
- 可配置的操作参数
确保已安装Python 3.6+,然后运行以下命令安装依赖:
pip install -r requirements.txt或手动安装:
pip install pyautogui==0.9.54
pip install pygetwindow==0.0.9
pip install pyperclip==1.8.2程序使用以下三个配置文件:
按行填写需要发送祝福的联系人姓名,格式如下:
张三
李四
王五
注意:每行一个姓名,不要添加多余的符号或空格。
定义祝福消息的固定模板,支持以下占位符:
{name}:会被替换为name.txt中的联系人姓名{word}:会被替换为从word.txt中随机选择的一条附加句
示例:
2026/2/17农历春节快乐,{name}!
今天是中华人民共和国成立的第76年,也是中华民族史上第4000多个春节,在新的一年里,祝你:
{word}
每行一条祝福附加句,程序会在每次发送时随机选择一条:
心想事成,万事如意!
身体健康,笑口常开!
马年大吉,诸事顺意!
...
- 在
name.txt中添加联系人 - 在
text.txt中设置祝福模板(可选,已提供默认模板) - 在
word.txt中添加祝福附加句(可选,已提供多条默认附加句)
- 确保Windows微信客户端已登录并处于打开状态
- 建议先手动测试搜索几个联系人,确保能正常找到
- 将微信窗口放置在桌面可见位置(不要最小化)
python wechat_blessing.py- 程序启动后会显示10秒倒计时
- 在倒计时期间切换到微信界面
- 程序自动开始发送祝福
- 查看控制台输出和
wechat_blessing.log日志文件了解发送结果
在 wechat_blessing.py 文件中的 CONFIG 字典可调整以下参数:
| 参数 | 说明 | 默认值 |
|---|---|---|
name_file |
联系人列表文件名 | name.txt |
template_file |
祝福语模板文件名 | text.txt |
word_file |
祝福附加句库文件名 | word.txt |
preparation_time |
准备时间(秒) | 10 |
search_delay |
搜索操作延时(秒) | 1.5 |
select_contact_delay |
选择联系人延时(秒) | 2.5 |
input_delay |
输入操作延时(秒) | 0.8 |
send_delay |
发送操作延时(秒) | 1.2 |
next_person_delay |
切换联系人延时(秒) | 2.5 |
wechat_window_title |
微信窗口标题 | 微信 |
- 紧急停止:将鼠标移动到屏幕左上角可紧急停止程序(pyautogui的安全机制)
- 测试建议:建议先用1-2个联系人测试,确认无误后再批量发送
- 网络环境:确保网络稳定,避免因网络延迟导致发送失败
- 微信版本:适用于Windows桌面版微信,不适用于网页版或手机版
- 联系人准确性:确保txt文件中的姓名与微信联系人备注完全一致
- 输入框位置:程序会自动点击微信窗口底部的输入框,如果位置不准确,可以调整
click_input_box()函数中的click_y参数
程序运行时会生成 wechat_blessing.log 日志文件,记录以下信息:
- 联系人读取情况
- 模板和附加句读取情况
- 发送成功/失败记录
- 错误信息
- 最终统计结果
Q: 找不到微信窗口怎么办? A: 确认微信已登录并打开,检查窗口标题是否为"微信",可在CONFIG中修改窗口标题。
Q: 搜索不到联系人? A: 确认姓名拼写正确,与微信备注完全一致,可适当增加search_delay时间。
Q: 消息发送失败? A: 检查微信是否正常工作,网络是否稳定,可适当增加send_delay时间。
Q: 输入框没有被选中? A: 程序会自动点击输入框,如果位置不准确,可以调整click_input_box()函数中的click_y参数。
Q: 如何自定义祝福内容? A: 编辑text.txt修改祝福模板,编辑word.txt添加更多祝福附加句。
本程序仅供学习和个人使用,请勿用于商业用途或恶意骚扰。使用本程序所产生的一切后果由使用者自行承担。