【PC】自制QQ机器人(python+VB6)

目前网上的那些QQ机器人都需要下载什么什么软件,我想自己弄个QQ机器人,所有有了想法就去实现。
实现方法:

首先要先说明一下:两种语言要怎么沟通呢?
我一开始也寻思着,后来发现txt文档可以,不过比较慢。

主要思路:
VB6:1.定时获取QQ消息,也就是对方说了什么。2.定时发送来自python处理好的回答(txt文件格式)。3.对获取的QQ消息分析,既不能是对方上次发的消息(已经处理完并发送)也不能是自己发给对方的消息。分析完成后保存到一个txt文件夹,好传送到python中去。

python:1.接受来自VB6处理好的消息并发送给机器人,让机器人回复消息并保存为txt文档以便 VB6发送


由于VB6会一直循环检测来自QQ的消息,所以会有消息重复获取的情况
因此需要判断获取的这个消息是否处理完毕。
如果只有对方发送的消息:
在这里插入图片描述
就像这样,那么VB6就只会获取到“你好”,
这个时候VB6就会判断这个消息是否和上一次消息一样,
如果一样就不执行代码,(但在第一次获取这个消息的时候就会执行(因为第一次获取就是和第一次的上一次不一样))
在这里插入图片描述
这是执行了代码(也就是回复这条消息)

之后就是是这样:
在这里插入图片描述
就机器人回复只有这个,但是对方不回复,很重要
如果对方一直不回答,那么VB6是不是一直检测到的就是这句话“在的”
这样的话程序就不会回复,要不然自己获取了之前发自己消息还以为这是对方发的消息然后就自己回复自己啦


具体步骤
第一步:用python确定发送给对方的内容。
python人工智能我不会,所以只能找网上的图灵接口,还真有,直接用python爬取数据或者发送数据到几口就有返回值了,返回值就是你要回复的话。保存为txt文件(这里需要两个txt文件都储存着这个数据。为什么:VB6重要用掉其中一个,下面会说)

↓↓↓↓↓↓↓↓↓↓↓↓↓↓这是我找到的图灵机器人(如果你会人工智能的话就简单啦,直接python调用)
机器人
第二步:发送来自python机器人的消息

先来分析一下PCQQ也就是这样了
就是这个样子。然后我们看看有个输入框,其实发送消息就直接用VB6就行了

AppActivate "对方或群聊QQ名字" 
SendKeys Text1.Text
SendKeys "%s"
  • 第一行代码就是选中窗体
  • 第二行输出语句,也就是打字到QQ消息框里,打字的内容可以更改
  • 第三行快捷键发送

好了发送已经做好了,接下来我们要拦截 获取对方发送了什么消息

首先先来看看QQ,一般可以解释聊天窗口有很多控件
根据VB是不是可以按一下tab

然后我们就试试在这里插入图片描述
发现没有,有一条虚线在那里,然后我们发现就可以选择文字复制粘贴了

我们直接用VB6把所有文字都复制下来,

SendKeys "^c"

也就是ctrl+c复制
继续,用VB6获取剪辑版的文字

dim a
a = Clipboard.GetText

Clipboard.GetText这个就是剪切板的内容啦
然后再用VB6处理这些文字,就只用获取最后一行

Dim A As String
Dim FSO As Object
Dim FSO_File As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Set FSO_File = FSO.OpenTextFile(App.path & "/1.txt", 1, False) '读取文件而不创建
Do While Not FSO_File.AtEndOfStream
A = FSO_File.ReadLine '获取最后一行
Loop
FSO_File.Close

就如你所见,我是先弄到txt文档在读取最后一行。
这里的A就是QQ最后接受的消息啦,
不过不要忘记,这也可能是你发送的消息
所以我们接下来还要进行一波判定
判定这个A消息是否和之前处理过的消息以及你发的消息一样
如果不一样的话就可以输出到python
然后有新回复VB6又会检测到,发送。
就这样一个循环过程。

Guess you like

Origin blog.csdn.net/qq_28406527/article/details/100120852