专业编程基础技术教程

网站首页 > 基础教程 正文

Python实现给qq自动发消息 终于有人来和我说早安晚安了吗

ccvgpt 2025-01-05 16:05:40 基础教程 2 ℃

长话短说

孤寡,我们看似很坚强,每天嘻嘻哈哈,装作一副玩世不恭的样子,但是我们也需要关怀和感动呀


前提准备

import win32gui
import win32con
import win32clipboard 
123

没有下载win32的宝,可以使用

Python实现给qq自动发消息 终于有人来和我说早安晚安了吗

pip install pywin32
1

如果不行的话,我们再去
python win32下载


选择我们的对应的版本就可以了


原理:
我们使用的python的win32的第三方库,这样一来就可以利用页面捕获来,来确定聊天框的位置,然后再利用代码操作复制,输入对话消息,最后再利用代码来按下(Enter)发送,思路清晰!!!


代码

在测试代码的时候,记得打开聊天框喔!

import win32gui
import win32con
import win32clipboard as w
msg="早上好呀,小唐同学"#我们要发送的信息
name = "睿睿"#发送人的网名
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_UNICODETEXT, msg)#将消息放进剪切板
w.CloseClipboard()
handle = win32gui.FindWindow(None, name)#找到我们的窗口
#在这里加一个while True:【手动狗头】就看你们自己怎么想的啦
#发送一条消息
win32gui.SendMessage(handle, 770, 0, 0)
win32gui.SendMessage(handle, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)

123456789101112131415

推进

消息太单一,没有情感,都知道会发什么内容了,时间怎么确定,是不是还有这样的一些疑问呢,来看看下面这一个代码吧
使用了my sql来存储我们的早安晚安,同时一个time来判断我们的条件,之后我们可以直接在电脑设置,几点打开这一个程序,我们就可以实现自动化了


import win32gui
import win32con
import win32clipboard as w
import mysql.connector as sql
import pandas as pd
import time
#连接数据库
conn = sql.connect(user='root',password='123456',host='localhost',port='3306',use_unicode=True)
c = conn.cursor() 
c.execute('use test')
#时间判断
ISOTIMEFORMAT='%X'
temp=time.strftime( ISOTIMEFORMAT, time.localtime())
print(temp)
if temp[0]=='0' and temp[1]<='9':
    zaoan="Select  早安  From  早安  Order  By  rand()  Limit  1;"
    msg=pd.read_sql(zaoan, conn)
else:
    wanan="Select  晚安  From  晚安  Order  By  rand()  Limit  1;"
    msg=pd.read_sql(wanan, conn)
msg=str(msg)
msg=msg.replace(' ', '').replace('\n', '').replace('\r', '').replace('0',',')
name = "黄海蓉妹妹"
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_UNICODETEXT, msg)#将消息放进剪切板
w.CloseClipboard()
handle = win32gui.FindWindow(None, name)
if 1 == 1:
#填充消息
    win32gui.SendMessage(handle, 770, 0, 0)
#模拟回车
    win32gui.SendMessage(handle, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
c.close() 
conn.close() 

123456789101112131415161718192021222324252627282930313233343536

不足

因为我们是直接用的窗口捕获,所以说,如果我们没有找到这一个窗口,这样子的话,我们就不可以发送消息了,所以在实用程序时,记得把聊天框打开

最近发表
标签列表