南宁网站设计制作公司,html5 爱情网站模板,开发公司让员工顶名买房套取贷款,鹰潭做网站在本教程中#xff0c;我们将使用Python和Mirai来开发一个QQ机器人#xff0c;本文提供了三个教学视频#xff0c;包教包会#xff0c;本文也很贴心贴了代码和相关文件。话不多说#xff0c;直接开始教学。 目录
一、安装配置MIrai
图片验证码报错#xff1a;
二、机器…在本教程中我们将使用Python和Mirai来开发一个QQ机器人本文提供了三个教学视频包教包会本文也很贴心贴了代码和相关文件。话不多说直接开始教学。 目录
一、安装配置MIrai
图片验证码报错
二、机器人的认证与绑定
视频教学
代码
认证和绑定
主程序
三、好友信息监听
视频教学
四、发送好友消息
调用库
程序
五、总结
六、补充
http.client和requests库异同 一、安装配置MIrai 安装配置MIrai 在本视频中几个下载地址如下
https://github.com/mamoe/mirai
https://github.com/project-mirai/mirai-api-http
https://github.com/MrXiaoM/qsign
大家打不开的话可以用我的百度地址里面有三个文件。 链接https://pan.baidu.com/s/1Wi4AcMIwl373Xe8sbbFnJg?pwd1111 提取码1111 图片验证码报错
大家可以看Mirai文档有的登录出现了要验证可以看这个链接详细介绍了怎么填写图片验证码返回值。
本人解决方法
控制台会返回一个滑块地址我们用浏览器打开。打开开发者工具移动滑块完成验证。在 Network 中找到名为 cap_union_new_verify 的请求, 在ticket 后那一坨就是要输入回 mirai 的内容回到控制台粘贴就可以了。
注意
复制的时候记得删掉引号(, 前后都有一个), 那个不是ticket内容速度要快注意不要漏字符(没复制完, 后面还有很长) 可以先开一次试一下手(不输入ticket) 然后重启进行滑块 二、机器人的认证与绑定
到这里大家登录成功就成功了99%为什么这么说呢后面就是写代码了。
视频教学 机器人的认证与绑定 代码
为了方便大家学习我把视频中的代码也放在了下面,如下
class bot:def __init__(self,hostlocalhost,port 8080,verifyKeyccbot)::param host: 监听地址:param port: 监听端口:param verifyKey: keyself.VisitHttpPathhttp.client.HTTPConnection(host,port)self.verifyKeyverifyKeyself.sessionKey self.bind()
认证和绑定
下面是http.client方法
def bind(self):auto json.dumps({verifyKey:self.verifyKey})VisitHttpPath self.VisitHttpPathVisitHttpPath.request(POST,/verify,auto)response VisitHttpPath.getresponse()session response.read().decode(utf-8)print(认证成功:str(session))sessionKey json.loads(session)[session]bind json.dumps({sessionKey:sessionKey,qq:2368214676})VisitHttpPath.request(POST,/bind,bind)response VisitHttpPath.getresponse().read().decode(utf-8)print(绑定成功: str(response))return sessionKey大家可以用http.client或者request方法文末介绍异同。下面介绍requests方法。
url http://localhost:8080/verify
data {verifyKey:ccbot}
res requests.post(url,jsondata)
print(res.text)sessionKey json.loads(res.text)[session]
url http://localhost:8080/bind
bind {sessionKey:sessionKey,qq:填你机器人QQ号}
res requests.post(url,jsonbind)
print(res.text)主程序 if __name__ __main__:b bot()
三、好友信息监听
你完成第二步就成功了后面就是收发信息了大家可以对照文档自行研究。Mirai | mirai (mamoe.net)
视频教学 好友消息监听 这个大家可以跟着我视频一起敲代码。
四、发送好友消息
大家可以直接运行下面的代码看自己的QQ有没有收到消息。
调用库
import requests
import json
程序 url http://localhost:8080/verify
data {verifyKey:ccbot}
res requests.post(url,jsondata)
print(res.text)sessionKey json.loads(res.text)[session]
url http://localhost:8080/bind
bind {sessionKey:sessionKey,qq:填你机器人QQ号}
res requests.post(url,jsonbind)
print(res.text)url http://localhost:8080/sendFriendMessagesend_message {sessionKey:sessionKey,target:填你要接受消息的QQ号须是好友,messageChain:[{ type:Plain, text:你好 },]}
print(send_message)
res requests.post(url,jsonsend_message)
print(res.text)五、总结
看到这里相信你们都成功喜欢的话给文章点点赞有疑问的话可以加群讨论或者评论区留言。
看看效果图吧 六、补充知识点
到这里大家的功能基本上都实现了这里就和搭建QQ机器人就没有多大关系了可以跳过。
http.client和requests库异同
http.client和requests库都可以用于发送HTTP请求但它们有一些不同之处。 导入方式 http.client模块是通过导入http.client来使用的。requests库是通过导入requests来使用的。 发送请求的方式 http.client模块提供了低级别的HTTP通信功能可以创建不同类型的连接如HTTP、HTTPS等并使用request()方法发送请求。requests库提供了更高级别的HTTP请求功能可以更方便地发送不同类型的请求如GET、POST等而无需关注底层的通信细节。 响应处理方式 http.client模块通过getresponse()方法获取响应然后可以使用响应对象的方法和属性来获取响应的内容。requests库返回一个Response对象可以使用该对象的属性和方法来获取响应的内容。 异步支持 http.client模块提供了异步支持但使用起来相对复杂。requests库本身不支持异步请求但可以通过异步库如asyncio结合使用。 其他功能 http.client模块提供了更多的低级别控制例如设置头部、处理重定向等。requests库提供了更简单和易用的API例如处理Cookie、Session等。 总之选择使用哪种方法取决于你的需求和偏好。如果你需要更多的控制和灵活性可以选择使用http.client模块。如果你更关注易用性和简洁性可以选择使用requests库。