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

eca0f8471a384d158ac711f3c67ab8de.gif

目录

效果展示

内容简介

环境配置

安装 

代码文件

main.py

--The End--


效果展示

eb14d077c01b4c21817012e4a5591d64.png

内容简介

本项目中,我们将使用 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})

--The End--

  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值