上犹电脑信息网我们一直在努力
您的位置:上犹电脑信息网 > 电脑怎么了 > 那家伙用Python写了一个QQ机器人,和女友聊天了一个下午,没有被找到?

那家伙用Python写了一个QQ机器人,和女友聊天了一个下午,没有被找到?

作者:上犹日期:

返回目录:电脑怎么了

 1 技术选型

1.1 QQ【QQ是腾讯QQ的简称,是腾讯公司开发的一款基于Internet的即时通信(IM)软件。】Bot


百度【百度(Nasdaq:BIDU)是中文搜索引擎网站。】了解到的第一个是QQBot,是一个用 python【Python(英语发音:/ˈpaɪθən/),是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。】 实现的、基于腾讯 Smart【Smart是梅塞德斯公司旗下的全资子公司。】QQ 协议的简单 QQ 机器人,可运行在 Linux【Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。】 和 Windows【Microsoft Windows,是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家】 平台下,所有代码集成在一个 qq【QQ是腾讯QQ的简称,是腾讯公司开发的一款基于Internet的即时通信(IM)软件。】bot.py 文件中,你可以用 来实现:


监控、收集 QQ 消息自动消息推送聊天机器人【世界上最早的聊天机器人诞生于20世纪80年代,名为“阿尔贝特”,用BASIC语言编写而成。】

不足的地方是,每次登陆的时候需要手动进行扫描的操作,很不方便;支撑的功能比较少,不满足后需要的需求。


1.2 酷 Q


酷Q【酷Q全球首台冰淇淋智能机器人。】是一款智能机器人软件,包含强大的插件机制,可以安装各式各样的插件,扩展酷Q的各项功能,有免费版本,收费版本,下面介绍游戏免费版本能支持的功能


登陆支持账号密码登陆私聊消息,群消息,讨论组消息,群管理操作消息:文字消息,At他人,QQ表情【QQ表情是指各种QQ聊天过程中用于传递情感心情的小头像图片。】,Emoji表情

基本免费的功能已经可以支持我的需求了,就选定了酷 Q。酷 Q本身只是封装了SmartQQ的协议,本身是没有具备功能,可以通过插件的方式扩展功能。


1.3 万能的淘宝


群发的消息的各种软件在万能的淘宝搜索一下,一大堆,价格还特便宜。为啥我们还需要自己去弄一个呢。


安全性,万一用了其他软件,qq被盗了呢开发一个淘宝类似的功能不复杂自己开发的可以根据需求随便变,比较灵活,例如我今天要接入一个图灵机器人【图灵机器人是以语义技术为核心驱动力的人工智能公司,致力于“让机器理解世界”,产品服务包括机器人开放平台、机器人OS和场景方案。】,明天要接入其他的机器人都很方便
2 开始折腾

2.1 安装需要的软件


酷 Q 直接下载后,直接双击安装就可以了。


2.1.1CoolQ HTTP【超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。】 API 插件


通过 HTTP 对酷 Q 的事件进行上报以及接收 HTTP 请求来调用酷 Q 的 DLL【延迟锁相环(Delay—locked Loop,简称DLL)技术是在PLL技术上改进得到的,被广泛应用于时序领域中。】 接口,从而可以使用其它语言编写酷 Q 插件。现已支持 WebSocket【WebSocket协议是基于TCP的一种新的网络协议。】


下载最新的 cpk【信息安全领域的定义:CPK是“Combined Public Key”的缩写,即中文名为组合公钥,是一种加密算法,以很小的资源,生成大规模密钥。】 文件放到酷 Q 的 app 文件夹,然后启用即可。启用后插件将开启一个 HTTP 服务器来接收请求,默认监听 0.0.0.0:5700,首次启用会生成一个默认配置文件,在酷 Q 的 appio.github.richardchien.coolqhttpapiconfig 文件夹中,文件名为 .json


此时通过 http://192.168.1.123:5700/ 即可调用酷 Q 的函数,例如 http://192.168.1.123:5700/send_private【Private,英文单词,常用意义为私人的,私有的。】_msg?user_id【ID是英文IDentity的缩写,身份标识号码的意思。】=123456&message=你好,注意这里的 192.168.1.123 要换成你自己电脑的 IP,如果在本地跑,可以用 127.0.0.1,user_id 也要换成你想要发送到的 QQ 号。


2.1.2 NoneBot


NoneBot 是一个基于 酷 Q 的 Python【Python(英语发音:/ˈpaɪθən/),是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。】 异步 QQ 机器人框架,它会对 QQ 机器人收到的消息进行解析和处理,并以插件化的形式,分发给消息所对应的命令处理器和自然语言处理器,来完成具体的功能。


除了起到解析消息的作用,NoneBot 还为插件提供了大量实用的预设操作和权限控制机制,尤其对于命令处理器,它更是提供了完善且易用的会话机制和内部调用机制,以分别适应命令的连续交互和插件内部功能复用等需求。


NoneBot 在其底层与酷 Q 交互的部分使用 python-aiocqhttp 库,后者是 CoolQ HTTP API 插件的一个 Python 异步 SDK,在 Quart【 夸脱,一种液量单位,英文名为quart...】 的基础上封装了与 CoolQ HTTP API 插件的网络交互


通过下面的命令安装


pip install none-bot

2.2 开始编写


2.2.1 设置插件的配置


酷 Q 的 appio.github.richardchien.coolqhttpapiconfig 目录中应该已经有了一个名为 .json 的文件( 为你登录的 QQ 账号)。修改这个文件,添加如下配置项,并且重启一下酷 Q


{ "ws_reverse_api_url": "ws://127.0.0.1:8080/ws/api/", "ws_reverse_event_url": "ws://127.0.0.1:8080/ws/event/", "ws_reverse_reconnect_on_code_1000": true, "use_ws_reverse": true}

2.2.2 启动NoneBot


启动后,就可以看到控制台如下图的信息,表示已经启动成功了。


import noneif __name__ == '__main__': none.init() none.load_builtin_plugins() none.run(host='127.0.0.1', port=8080)



启动后,控制台信息


2.2.3 开发群发信息的功能


通过另外一个qq发送信息给当前的qq进行群发消息的功能,只是需要下面几行代码就可以了。当然也可以改为获取用户的信息,群发用户的信息


#监控发送的消息“群发”的事件@on_command('send_msg', aliases=('群发',))async def send_msg(session: CommandSession): message_type=session.ctx['message_type'] user_id=session.ctx['user_id'] #判断发送的消息是私聊的,并且发送的qq号码是12345678 if message_type=='private' and user_id==12345678: #获取qq群的信息 group_list = await session.bot.get_group_list() for group in group_list: #对某个qq群进行发送信息 await session.bot.send_group_msg(group_id=group['group_id'],message='要群发的消息') 3 应用扩展,注意事项

上面讲到的只是最基本的发送信息的功能,还有那些可以玩的呢?


群管理的功能,自动检测新加入的成员,可以对新加入的成员发送群的规则,指引。可以检测群成员发送的信息不符合群规则,自动实现禁用,踢出等操作实现群机器人,例如 @群机器人,自动回复,实现成员跟机器人的互动;高级点可以接入图灵机器人等外部的接口。

注意事项:不要发送别人不需要的内容,一旦被举报就会被封号;发送的频率不要太快,发送的信息不要太多,会被检测到,也会被封号。


本文标签:都没(1)小伙(1)

相关阅读

关键词不能为空
极力推荐

电脑蓝屏_电脑怎么了_win7问题_win10问题_设置问题_文件问题_上犹电脑信息网

关于我们