用Python实现自动发消息,自定义内容,太省事了!「建议收藏」

用Python实现自动发消息,自定义内容,太省事了!「建议收藏」自动发弹幕,想要多快有多快!

大家好,又见面了,我是你们的朋友全栈君。

有时候让了解放双手,让电脑来帮我们自动发一些我们想要发的消息,挺省力的,比如说白天写好了演讲稿,晚上要在群里进行文字演讲,那么我们就可以用脚本来实现自动复制、粘贴和发送文字的功能,从而解放我们自己,不用亲自在电脑上反复干这个Ctrl C/Ctrl V这个累活儿。

还可以把定时多长时间后发送指定内容,这下子就不用坐在电脑前面到点了发弹幕了。

在这里插入图片描述

多长时间发1条消息,又或者1秒发多少条信息,都可自由设置,时间设得短的话,一秒发几十条都没问题,只是太快了会形成刷屏的效果…

今天就把这个技巧给大家分享一下,很简单,没有多少代码。


一、效果

我们先来看一下效果,我这里设置的是4s后开始发送,间隔0.5s发一次。

用Python实现电脑自动发消息,内容自定义,快慢均可


二、开发环境

  • 系统:Windows10 64位
  • Python版本:3.9
  • Pycharm版本:2021.1.3
  • 模块(库):os、time、pyautogui、pyperclip

三、关键步骤解析

实现的代码文件主要有两个,目的分别是:获取聊天窗口位置和实现自动发送消息功能,用到的库在上面已经提过了,在开始写代码之前,先把要用的库先pip下载装好,下面就不再说这个了。

1.获取聊天窗口位置(源码1)

在我们发消息之前,得需要知道聊天窗口的位置在哪,即鼠标停留在哪里才能定位到聊天窗口的输入界面,也就是鼠标的x和y坐标是多少。

这里我用的是os、time和pyautogui这三个库,获取鼠标的实时位置的:

try:
    while True:
        print("Press Ctrl-C to end")
        x, y = pag.position()  # 返回鼠标的坐标
        posStr = "Position:" + str(x).rjust(4) + ',' + str(y).rjust(4)
        print(posStr)  # 打印坐标
        time.sleep(0.2)
        os.system('cls')  # 清楚屏幕
except KeyboardInterrupt:
    print('end....')

只要程序运行起来之后,每当我们移动鼠标,鼠标的x和y值就会自动发声改变并打印出来,我们只需要把聊天窗口调出来,把鼠标定位到聊天的窗口的输入位置就能获取到此时的x和y值,有了这个x和y值之后,我们才能告诉下面的发消息程序要在哪里进行粘贴和推送。

在这里插入图片描述
当然了,获取鼠标位置的方式有很多种,你们也可以去尝试一下其他方式的获取。

粉丝福利,点击可查看

2.实现自动发送消息功能

在获取了x和y的值之后,我们要做的当然是写程序实现“复制文本→粘贴文本→发送消息”,这里就需要用到 pyautogui 来控制键盘和鼠标,用 pyperclip 来控制电脑进行复制和粘贴,以及用 time 这个库进行一下时间的控制。

首先我们把需要发送的内容提前准备好,放在content里面,到时候直接拿来用就可以了,内容可以自定义修改,比如这样的:

content = """ 呼叫龙叔! 第二遍! 第三遍! 第四遍! 第五遍! """

我们在运行代码之后需要切换到聊天界面,中间需要时间去手动做一下这个操作,所以在复制粘贴和发送代码之前,我们需要留出一些时间给自己,我这里先设定了4s的时间延迟,当然也可以设置几个小时之后开始发消息。

time.sleep(4)

接下来就是怎么实现复制粘贴和发送了:

for line in list(content.split("\n"))*10:
    if line:
        pyautogui.click(669,687)  #鼠标点击并定位到聊天窗口
        pyperclip.copy(line)    #复制该行
        pyautogui.hotkey("ctrl","v") #粘贴,mac电脑则把ctrl换成command
        pyautogui.typewrite("\n")   #发送
        time.sleep(5) #每次发完间隔5s

到了这里,所有的东西就已经完成了,如果觉得5s发送1条消息太快,可以修改time.sleep(5)里面的5这个数值,比如说10s发一条消息;如果你设置成0.01秒,那么就会是一个快速发消息的刷屏效果了…

for循环中的“*10”控制循环次数,也就是让它发10次文本的样子,也可以设置不让它循环,把 list(content.split(“\n”))*10 改成 content.split(“\n”) 即可。

大致的方法就是上面这些,需要源码可以私聊我,你们也可以去尝试别的方式实现,说白了就是自动发消息,实现方式有很多种,比如更高级一点的直接带着xookie调api发送等等,以及按键精灵也是能实现这个功能,更多精彩,等你自己去挖掘了。


总结

这个脚本的本质是实现电脑自动发消息,只是间隔时间的设置导致它也具备快速发消息的功能,不仅仅是QQ,微信也是一样能用。

基本的原理就是这样了,你们还可以思考一下,如何在这个基础上,让程序在几个小时之后启动,间隔几十分钟发一次,彻底解放自己。

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134229.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • windows操作系统定时关机和取消定时关机命令

    windows操作系统定时关机和取消定时关机命令windows操作系统定时关机和取消定时关机命令1、定时关机shutdown-s-t60(60表示定时60秒)2、取消定时关机shutdown-a(取消定时关机)…

  • 移动APP漏洞自动化检测平台建设

    移动APP漏洞自动化检测平台建设前言:本文是《移动APP客户端安全笔记》系列原创文章中的第一篇,主要讲的是企业移动APP自动化漏洞检测平台建设,移动APP漏洞检测发展史与前沿技术,APP漏洞检测工具与平台,以及笔者的一些思考。希望能对移动App自动化漏洞检测感兴趣的同学有所帮助,限于笔者技术水平与文章篇幅,有些内容暂没有逐一详细分析,后续我争取多学习多分享,在此也欢迎大家指点和交流。一、国内AndroidApp漏洞检测

  • 【小程序】手把手带你完成微信小程序开发实践

    【小程序】手把手带你完成微信小程序开发实践帐号相关流程注册范围企业政府媒体其他组织换句话讲就是不让个人开发者注册。:)填写企业信息不能使用和之前的公众号账户相同的邮箱,也就是说小程序是和微信公众号一个层级的。填写公司机构信息,对公账户信息绑定管理员微信企业认证公司对公账户对微信进行打款账户自动验证后,自动认证通过,并将认证资金退回公司对公账户,费用在1元内随机小程序发布流程开发实践这次的demo项目为农历和公历的转换器,重在体验

  • 复制粘贴不到远程桌面_设置服务器复制粘贴

    复制粘贴不到远程桌面_设置服务器复制粘贴在远程服务器上打开任务管理器,在进程里面找到rdpclip进程(或者剪贴板监视器),点击“结束进程”打卡DOS命令符,输入rdpclip后,确认,从新打开远程剪贴服务。

  • c语言random函数在vc,C++ 中随机函数random函数的使用方法

    c语言random函数在vc,C++ 中随机函数random函数的使用方法C++中随机函数random函数的使用方法一、random函数不是ANSIC标准,不能在gcc,vc等编译器下编译通过。可改用C++下的rand函数来实现。1、C++标准函数库提供一随机数生成器rand,返回0-RAND_MAX之间均匀分布的伪随机整数。RAND_MAX必须至少为32767。rand()函数不接受参数,默认以1为种子(即起始值)。随机数生成器总是以相同的种子开始,所以形成…

  • MODIS数据的简介和下载(一)——MODIS数据简介

    MODIS数据的简介和下载(一)——MODIS数据简介借最近上课实习上机内容,来介绍MODIS数据相关方面内容。本部分主要包括了MODIS数据的简介和下载的问题。本篇是第一部分,MODIS的简介。主要分为三个部分:1.MODIS传感器简介及参数;2.MODIS产品及命名规则;3.MODIS的典型应用。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号