一. 痛点
小路在发消息…
运维侠小白学会了python让微信自动发送消息,但是运维侠想让这个代码更完美,增加一些细节,于是他又去问了deepseek!!!
…
运维侠问deepseek
deepseek的回答
# 文件:auto_message.py
import pyautogui
import pyperclip
import time
import datetime
import random
# 新增功能模块 -------------------------------------------------
def 获取日期():
"""获取当前日期,格式:2023年07月28日"""
return datetime.datetime.now().strftime("%Y年%m月%d日")
def 随机语录():
"""励志语录库(可自行扩充)"""
语录库 = [
"✨ 成功是日复一日的坚持,不是奇迹的瞬间!",
"🚀 今天的学习是为明天的自由铺路!",
"🌞 早起三光,晚起三慌,抓住清晨时光!",
"📚 你读过的每一页书,都会在未来某个时刻回报你!",
"💻 代码虐我千百遍,我待代码如初恋!"
]
return random.choice(语录库)
def 生成消息模板():
"""生成标准格式的群消息"""
return f"""{获取日期()} 学习打卡提醒 ⏰
【今日目标清单】📋
1️⃣ 朗读50分钟
2️⃣ 鹅打卡分享读书体会
3️⃣ 学习Python自动化办公
4️⃣ 学习英语单词
{随机语录()}
✅ 完成请接龙:1.张三(07:15已完成)
"""
# 原有功能优化 -------------------------------------------------
def 打开微信():
pyautogui.hotkey('ctrl', 'alt', 'w') # 微信快捷键
time.sleep(2) # 等待微信启动
def 找群聊(群名称):
"""优化搜索稳定性"""
pyautogui.hotkey('ctrl', 'f') # 打开搜索
time.sleep(0.3) # 增加短等待
pyperclip.copy(群名称)
pyautogui.hotkey('ctrl', 'v') # 粘贴名称
time.sleep(1.5) # 延长等待确保加载
pyautogui.press('enter')
def 发消息():
"""发送预制模板内容"""
内容 = 生成消息模板()
pyperclip.copy(内容)
pyautogui.hotkey('ctrl', 'v')
time.sleep(0.5) # 防止发送过快
pyautogui.press('enter')
# 使用示例 ---------------------------------------------------
if __name__ == "__main__":
打开微信()
找群聊("9310学习攻坚组") # 改为实际群名称
发消息()
deepseek的局限
测试发现,第一次发送,空消息。所以,反复修改尝试,最终修复了这个问题。
二.运维侠的代码演示:自动发送消息
⚠️避免报错:
- 提前检查有没有需要安装的模块如果没,执行:pip install pyautogui;
- 微信默认热键不要修改,并不要与其他打开的软件冲突。
(1)定义:获取日期方法
💻 代码:return使用简化案例
def 简单加法(a, b):
# ...计算过程...
result = a + b
return result # 就像外卖员把餐送到你手里
# 调用时就像点外卖
外卖 = 简单加法(3, 5)
print(外卖) # 输出:8
执行代码效果:
💻 代码:
import datetime
def 获取日期():
"""获取当前日期,格式:2023年07月28日"""
# 注意:这行开始用4个空格缩进(或1个Tab)
当前日期 = datetime.datetime.now().strftime("%Y年%m月%d日")
return 当前日期 # 这行缩进必须与上一行完全一致
执行代码效果:
(2)消息模板
💻 代码:
def 随机语录():
"""励志语录库(可自行扩充)"""
语录库 = [
"✨ 成功是日复一日的坚持,不是奇迹的瞬间!",
"🚀 今天的学习是为明天的自由铺路!",
"🌞 早起三光,晚起三慌,抓住清晨时光!",
"📚 你读过的每一页书,都会在未来某个时刻回报你!",
"💻 代码虐我千百遍,我待代码如初恋!"
]
return random.choice(语录库)
def 生成消息模板():
"""生成标准格式的群消息"""
return f"""{获取日期()} 学习打卡提醒 ⏰
{随机语录()}
【今日目标清单】📋
1️⃣ 朗读50分钟
2️⃣ 鹅打卡分享读书体会
3️⃣ 学习Python自动化办公
4️⃣ 学习英语单词
"""
执行代码效果:
(3)综合实现按固定格式发消息
💻 代码:
# 文件:auto_message.py
import pyautogui
import pyperclip
import time
import datetime
import random
# 新增功能模块 -------------------------------------------------
def 获取日期():
"""获取当前日期,格式:2023年07月28日"""
return datetime.datetime.now().strftime("%Y年%m月%d日")
def 随机语录():
"""励志语录库(可自行扩充)"""
语录库 = [
"✨ 成功是日复一日的坚持,不是奇迹的瞬间!",
"🚀 今天的学习是为明天的自由铺路!",
"🚀 不发脾气,要发财!",
"🚀 困难像弹簧,你强它就弱,你弱它就强!",
"🌞 早起三光,晚起三慌,抓住清晨时光!",
"📚 你读过的每一页书,都会在未来某个时刻回报你!",
"🌞 学会知足是我们一生的功课,懂得知足便离快乐更进一步!",
"💻 代码虐我千百遍,我待代码如初恋!"
]
return random.choice(语录库)
def 生成消息模板():
"""生成标准格式的群消息"""
return f"""{获取日期()} 学习打卡提醒 ⏰
{随机语录()}
【今日目标清单】📋
1️⃣ 朗读50分钟,鹅打卡分享读书体会🔴
2️⃣ 拳卧撑3组🟢
3️⃣ 两篇博文Selenium教程Python网页自动化🟡
4️⃣ 总结规律,英语每日一词:dream 梦想🔴
"""
# 原有功能优化 -------------------------------------------------
def 打开微信():
pyautogui.hotkey('ctrl', 'alt', 'w') # 微信快捷键
time.sleep(2) # 等待微信启动
def 找群聊(群名称):
"""优化搜索稳定性"""
pyautogui.hotkey('ctrl', 'f') # 打开搜索
time.sleep(0.3) # 增加短等待
pyperclip.copy(群名称)
pyautogui.hotkey('ctrl', 'v') # 粘贴名称
time.sleep(1.5) # 延长等待确保加载
pyautogui.press('enter')
time.sleep(1)
def 发消息():
"""发送预制模板内容"""
内容 = 生成消息模板()
pyperclip.copy(内容)
pyautogui.hotkey('ctrl', 'v')
time.sleep(1.5) # 防止发送过快
pyautogui.press('enter')
# 使用示例 ---------------------------------------------------
if __name__ == "__main__":
打开微信()
找群聊("一往无前~去写作") # 改为实际群名称
发消息()
执行代码效果:
三.注意事项
⏰提示:
- deepseek有时候给的代码不一定适合需要,所以要自己不断实践并总结,并且要注意问deepseek的话术模版。一种需求可以有多种类型代码实现,实际中,我们可以从中选择,最适合的。
- deepseek给的代码没有考虑到网络延迟,所以有时会发送空消息,增加了等待1.5秒,解决了问题。
💡 防止被微信官方封号
3. 避免高频发送消息(每小时不超过5条)
4. 不要用于营销推广
5. 建议使用小号测试
6. 不要有违规敏感词,“红包", “转账”, "加微信"等等
💡下期教你用Python搞定更复杂的微信自动发消息场景!