栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python 项目02:微信定时发送消息

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python 项目02:微信定时发送消息

目录

效果展示

内容简介

环境配置

安装 

代码文件

main.py

--The End--


效果展示

内容简介

本项目中,我们将使用 PyAutoGUI 模块模拟键盘鼠标发送微信消息,并使用 APScheduler 模块管理时间调度,发送信息时,我们还会使用 Pyperclip​​​​​​​ 模块复制消息文本。

PyAutoGUI 是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,利用它可以实现自动化任务。

APScheduler 的全称是 Advanced Python Scheduler 。它是一个轻量级的 Python 定时任务调度框架。APScheduler 支持三种调度任务:固定时间间隔,固定时间点(日期),Linux 下的 Crontab 命令。同时,它还支持异步执行、后台执行调度任务。

Pyperclip 可以用来实现跨平台的对系统剪贴板操作的方法,其中有两个函数,分别是 copy() 和 paste(),copy() 用于向计算机的剪贴板发送文本,paste() 用于从计算机剪贴板接收文本。

环境配置

安装 
pip install pyautogui
pip install apscheduler
pip install pyperclip

代码文件

main.py
import pyautogui
import pyperclip
from apscheduler.schedulers.blocking import BlockingScheduler

# 操作间隔
pyautogui.PAUSE = 1

wx_hotkey = {"open": ('ctrl', 'alt', 'w'), "send": ('enter',), "shot": ('ctrl', 'alt', 'j')}


def send_msg(name: str, msg: str, hotkey=None) -> None:
    # 打开微信
    if hotkey is None:
        hotkey = wx_hotkey

    pyautogui.hotkey(*hotkey["open"])
    pyautogui.hotkey('ctrl', 'f')

    # 找到用户
    pyperclip.copy(name)
    pyautogui.hotkey('ctrl', 'v')
    pyautogui.press(*hotkey["send"])

    # 发送消息
    pyperclip.copy(msg)
    pyautogui.hotkey('ctrl', 'v')
    pyautogui.press(*hotkey["send"])

    # 隐藏微信
    pyautogui.hotkey(*hotkey["open"])


def timing(task, time: dict) -> None:
    scheduler = BlockingScheduler()   # 实例化一个调度器
    scheduler.add_job(task, 'cron', hour=time["hour"], minute=time["minute"])   # 添加任务
    scheduler.start()


if __name__ == '__main__':
    timing(lambda: send_msg("文件传输助手", "收到"), {"hour": 21, "minute": 12})

如果你的微信快捷键不同,请更改第8行 设置;

如果需要发消息的时间不同,请更改第40行 time参数;

如果需要发消息的用户或发送消息不同,请更改第40行 name 或 msg参数。


发送消息时请不要点击鼠标!​​​​​​​

--The End--

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/926357.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号