基于python的微信自动发消息脚本

这篇具有很好参考价值的文章主要介绍了基于python的微信自动发消息脚本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

由于轮到我每天在支部群里发学习强国打卡的提醒消息,而我擅长忘记事情。而且微信好像没有可以自动发群消息的机器人,并且这方面的微信小程序的使用都要收费。

所以直接写一个python脚本,实现自动化微信信息发送。

有两个代码,一个是我写的,用pc的电脑客户端,通过模拟键盘的方式发送消息(并且是正在使用的);另一个是让gpt写的,没有进行修改,但也是可以用的。

本文的方法都是基于pc的微信客户端,需要电脑打开,并微信打开(可以挂在后台)

我写的代码:

# -*- coding: utf-8 -*-
"""
实现定时自动发送消息
"""

import time
import pyperclip
import pywintypes
import win32api
import win32con
import win32gui
import os
import sys
import pygetwindow as gw


# 获取焦点
def set_focus_to_wechat():
    wechat_window_name = "WeChat"  # 请根据实际情况修改
    wechat_window = win32gui.FindWindow(None, wechat_window_name)

    if not wechat_window:
        print(f"找不到标题为 {wechat_window_name} 的窗口。")
        return

    win32gui.ShowWindow(wechat_window, win32con.SW_RESTORE)
    win32gui.SetForegroundWindow(wechat_window)


while True:
    time.sleep(300)  # 每5分钟检测一次,防止访问太多,过度占据cpu资源
    time_now = time.strftime("%H:%M:%S", time.localtime())  # 获取当前时间
    # sent_time = time.strftime("%H:%M:%S", time.localtime())  # 发送时间
    # sent_time = "23:30:00"
    if '23:25:00' <= time_now <= '23:35:00':  # 时间窗内
        def open_app(app_dir):
            os.startfile(app_dir)


        # 打开微信
        if __name__ == "__main__":
            app_dir = r'D:\tengxun\WeChat\WeChat.exe'  # 此处为微信的绝对路径
            open_app(app_dir)
            time.sleep(1)
            # 设置焦点
            set_focus_to_wechat()

            # 进入微信,模拟按键Ctrl+F
        win32api.keybd_event(17, 0, 0, 0)  # Ctrl
        win32api.keybd_event(70, 0, 0, 0)  # F
        win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)
        win32api.keybd_event(70, 0, win32con.KEYEVENTF_KEYUP, 0)
        time.sleep(1)

        # 复制需要查找的人,按回车,进入聊天输入框
        pyperclip.copy('xxxxx')  # 联系人昵称
        # pyperclip.copy('xxx')  # 联系人昵称
        spam = pyperclip.paste()
        win32api.keybd_event(17, 0, 0, 0)  # Ctrl
        win32api.keybd_event(86, 0, 0, 0)  # 86→V;
        win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)
        win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0)
        time.sleep(1)
        win32api.keybd_event(13, 0, 0, 0)  # 13→Enter
        win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)
        time.sleep(1)

        # 聊天输入框复制聊天内容,然后按回车发送消息
        pyperclip.copy('学习强国 家人们')  # 聊天的内容
        # pyperclip.copy('测试小仔')  # 联系人昵称
        spam = pyperclip.paste()
        win32api.keybd_event(17, 0, 0, 0)  # Ctrl
        win32api.keybd_event(86, 0, 0, 0)  # 86→V
        win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0)
        win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)
        win32api.keybd_event(13, 0, 0, 0)
        win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)
        time.sleep(1)  # 确保程序只执行一次,防止重复执行

        sys.exit()  # 退出程序

代码写好,并调试好之后。
使用pyinstaller进行打包,命令:

Pyinstaller -F -w -D XXQG.py

在当前目录会出现一个dist文件夹,里面就有可执行的exe文件。
然后想运行可以直接运行这个exe文件。
python脚本定时推送微信群,python,微信
在任务管理器中就会看到它一直在运行,
python脚本定时推送微信群,python,微信

如果想让这个脚本程序开机自启动,就把这个exe文件的快捷方式放到自启动文件夹中,
在运行输入命令,打开自启动文件夹,新建一个快捷方式,

shell:startup

python脚本定时推送微信群,python,微信
这样子就会开机自启动了,毕竟设置的每五分钟判断一次时间是否符合,对cpu的影响几乎没有,一天就执行一次,执行结束后,进程会退出。

gpt的代码:文章来源地址https://www.toymoban.com/news/detail-766212.html

# -*- coding: utf-8 -*-
"""
实现自动发送消息
"""

import time
import pygetwindow as gw
import pyautogui

def send_wechat_message(group_name, message_content):
    # 将当前活动窗口切换到微信客户端
    try:
        wechat_window = gw.getWindowsWithTitle('微信')[0]
        wechat_window.activate()
    except IndexError:
        print("请确保微信客户端已打开")
        return

    time.sleep(1)  # 等待窗口切换完成

    # 在搜索框中输入群聊名称并按回车键选择第一个结果
    pyautogui.hotkey('ctrl', 'f')
    time.sleep(1)
    pyautogui.write(group_name)
    time.sleep(1)
    pyautogui.press('enter')

    # 输入并发送消息内容
    time.sleep(1)
    pyautogui.write(message_content)
    time.sleep(1)
    pyautogui.press('enter')

# 示例:每天定时向指定群聊发送消息(例如:每天9点)
from apscheduler.schedulers.blocking import BlockingScheduler

def scheduled_send_message():
    group_name = "YourGroupName"
    message_content = "Hello, this is an automatic message."
    send_wechat_message(group_name, message_content)

scheduler = BlockingScheduler()
scheduler.add_job(scheduled_send_message, 'cron', hour='9')
scheduler.start()

# 若要立即发送一条消息,可以直接调用:
# send_wechat_message("YourGroupName", "Hello, this is an automatic message.")

到了这里,关于基于python的微信自动发消息脚本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信公众号推送天气教程,自动定时推送【Java版】开发者和小白详细教程

    久违的大更新: 建议先打开,因为GitHub在国内加载很慢。 点击打开 Java版本,教程最近一次更新时间为: 2023-08-23 重大更新: 1: 谚语功能修复。 2: 新增农历生日。 已经部署的伙伴,务必在公众号后台更新新的模块以及applicantion.yml配置文件中的模板ID,新的模板在本教程当中

    2024年01月23日
    浏览(50)
  • 【企业微信-消息推送】模板卡片消息-Python代码

    浏览消息推送的时候,在模板卡片部分停滞很久;其中主要涉及url的回调工作,不太熟悉。 官网链接-模板卡片 官方特殊说明: 特殊说明 仅有 按钮交互型、投票选择型、多项选择型 以及填写了action_menu字段的文本通知型、图文展示型的卡片支持回调更新或通过接口更新卡片

    2024年02月10日
    浏览(24)
  • 基于企业微信应用消息的每日早安推送

    第一步:注册企业微信 企业微信注册地址:https://work.weixin.qq.com/wework_admin/register_wx 按照正常流程填写信息即可,个人也可以注册企业微信,不需要公司 注册完成后,登录 企业微信登录地址:https://work.weixin.qq.com/wework_admin/loginpage_wx 登录后,邀请用户关注 切换到我的企业-微

    2024年02月15日
    浏览(33)
  • 利用vbs脚本实现自动发送微信消息

    vbs,全称Microsoft Visual Basic Script Edition,是微软开发的一个基于Visual Basic的脚本语言,可以在windows上直接运行。 在vbs中我们可以通过sendkeys轻松的模拟发送各类按键和文字,但是直接发送中文字符会乱码,所以我们需要先将待发送的中文字符放入剪切板然后再从剪切板取出内

    2024年02月13日
    浏览(27)
  • 运用python实现企业微信群机器人消息推送

    使用场景 :将BI报表精准推送入(群),精准触达用户 目的 :提高管理层对数据的感知度 工具:python+企业微信 步骤: 1、创建企业微信群机器人,提取Webhook地址(群机器人地址) 2、编写代码填充推送内容信息实现推送 3、其他需求自定义代码编写 实现方法1–优化后 实现

    2024年02月16日
    浏览(27)
  • shell脚本定时推送钉钉战报

    解析服务端返回的如下字符串,获取今日数据、历史数据,实现钉钉定时推送战报效果。 1、curl获取数据并赋值变量 在shell中直接使用curl http://www.baidu.com会出现下载器,因此我们拼接一个 -s 。 对于接收数据的变量api_result:其后面的等号前后都不要有空格。 对于要执行的函

    2024年02月16日
    浏览(18)
  • Python自动发送消息小脚本,可用于各种聊天框~

         作者主页: 爱笑的男孩。的博客_CSDN博客-深度学习,YOLO,活动领域博主 爱笑的男孩。擅长深度学习,YOLO,活动,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域. https://blog.csdn.net/Code_and516?type=collect  个人简介:打工人。  

    2023年04月24日
    浏览(33)
  • python微信公众号自动推送(十分简单的教程)

    目录 一、注册微信公众号      1.注册链接     2.登录成功 3.关注该公众号 4.创建模板 二、代码实现 1.爬取天气信息 2.计算生日天数  3.获取access token 4.获取关注者的openid 5.向用户广播消息 6.最终代码 2023年五月五日更:    自五月四日起原来的微信公众号模版将不再生效,

    2024年02月04日
    浏览(24)
  • 全网最详细的Python自动化测试+邮件推送+企业微信推送+Jenkins

    什么是python自动化?我理解的Python自动化测试就是把以前人为测试转化为机器测试的一种过程。自动化测试是一种比手工测试更快获得故障反馈的方法。 自动化测试是一种质量保障的方式,最重要的还是以做好一款高质量产品为前提。测试工作很多时候就是在不断平衡质量、

    2024年02月03日
    浏览(28)
  • 基于Python的微信聊天记录分析——数据处理与分析

    本篇为《基于Python的微信聊天记录分析》系列的第二篇,主要讲解获取到聊天记录数据之后,在Python环境下对其进行数据处理、分析和可视化,涉及库的安装、相关操作的Python代码等内容。希望和大家多多交流,共同进步! 数据分析的基础是“数据”,俗话说基础不牢,地动

    2024年02月19日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包