一、为什么要写这篇文章
解决什么问题?
“每天,当同事们手忙脚乱地在微信群发工作日报,我已经优雅地喝着咖啡,看着Python自动帮我完成了这个任务…”
可用并且简单
我不是一名程序员,所以知道大家的需求。自己在网上搜了一晚上,也问了deepseek给出的代码,都不能用。很疑惑,后来才发现微信官网已经大量关闭了对很多库的支持,所以不能使用 wxauto等等众多库,我决定送人玫瑰,一定有很多朋友也有这种需求,但是找不到这种教程,所以我愿意免费分享给大家。
二、效果演示
核心功能说明
- 每日不重复语录:
从预设的MOTIVATIONAL_QUOTES列表中随机选择
可自行扩充更多励志语句(建议至少准备10条)
- 自动日期填充:
自动生成格式如:2025年03月15日
- 智能定时:
每天在SCHEDULE_TIME指定时间发送
使用指南
- 准备工作
pip install pyautogui pyperclip
提前登录微信PC版
手动打开一次目标微信群聊
微信快捷键使用的是默认,可用手动测试自己微信要与代码保持一致。
- 配置修改
GROUP_NAME:改为实际微信群名称(必须完全匹配)
SCHEDULE_TIME:调整发送时间
MOTIVATIONAL_QUOTES:自定义语录库
- 运行方式:
测试模式:取消注释send_to_group(),直接运行
正式模式:保持daily_schedule()运行
后台运行:start /b python morning_bot.py
三、高级版代码:带定时和随机语录功能
# coding: utf-8
"""
手工安装所需模块
pip install pyautogui
⚠️ 免责声明:
本代码仅用于技术研究
实际使用请勿违反微信条款
后果自负!
"""
import pyautogui
import time
import pyperclip
from datetime import datetime
import random
# 配置区
# 只支持windows系统
# 提前登录微信PC版
# 手动打开一次目标微信群聊
GROUP_NAME = "传输助手" # 微信群名称(需完整匹配)
SCHEDULE_TIME = "7:17:10" # 每天发送时间
# 励志语录库(可自行扩充)
MOTIVATIONAL_QUOTES = [
"今天的努力,是明天的实力!加油!",
"自控力改变习惯,习惯决定命运!",
"每一个清晨,都是改变命运的机会!",
"成功不是将来才有的,而是从决定去做的那一刻起持续累积而成!",
"你今天的努力,是幸运的伏笔,当下的付出,是明日的花开!",
"没有不进步的人生,只有不进取的人!",
]
def get_daily_message():
"""生成每日固定格式消息"""
today = datetime.now().strftime("%Y年%m月%d日")
quote = random.choice(MOTIVATIONAL_QUOTES)
return f"【今日目标】{today}\n\n{quote}\n\n✨打卡清单 :\n1. 朗读50分钟\n2. 鹅打卡分享读书体会\n3. 学习python自动化办公\n4. 学习英语单词"
def send_to_group():
"""发送消息到微信群"""
message = get_daily_message()
# 激活微信
pyautogui.hotkey('ctrl', 'alt', 'w')
time.sleep(2)
# 搜索群聊
pyautogui.hotkey('ctrl', 'f')
time.sleep(1)
pyperclip.copy(GROUP_NAME)
pyautogui.hotkey('ctrl', 'v')
time.sleep(2)
pyautogui.press('enter')
time.sleep(1)
# 发送消息
pyperclip.copy(message)
pyautogui.hotkey('ctrl', 'v')
pyautogui.press('enter')
print(f"✅ 已发送晨报到 {GROUP_NAME}")
print("=" * 40)
print(message)
def daily_schedule():
"""定时任务"""
print("微信群晨报机器人已启动...")
while True:
now = datetime.now().strftime("%H:%M:%S")
if now >= SCHEDULE_TIME:
send_to_group()
# 第二天同一时间再次发送
time.sleep(60 * 60 * 24 - 1)
time.sleep(1)
if __name__ == "__main__":
# 测试发送(立即运行)
send_to_group()
# 正式运行(定时发送)
#daily_schedule()
三、避坑指南(血泪经验)
- 时间误差
- 防封号建议:微信个人版有严格的安全机制,请不要越轨
发送间隔大于2分钟
避免完全重复内容
不要在凌晨发送
扩展玩法
我们可以,增加代码使其支持图片、world等等文件;也可以给多个人发送(要注意频率,否则会被微信封号限制,如果大家喜欢可用在下期更新)。
结语
“自从用了这个脚本,我不仅每天多睡2小时,还因为’准时’的早安问候获得了领导表扬!”
🔥 重要提醒:
本技术仅限学习交流
过度自动化可能违反微信使用条款
建议用于工作群等合规场景
Q&A环节:
Q:会被检测出机器人吗?
A:合理设置间隔时间(>2分钟)基本不会被检测
Q:支持Mac吗?
A:Mac需改用pyobjc库,原理相同
下期预告:《我用Python自动回复女朋友消息,结果…》