前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【教程】最新使用Shamrock搭建QQ机器人

【教程】最新使用Shamrock搭建QQ机器人

原创
作者头像
小锋学长生活大爆炸
发布2024-02-23 23:28:59
7680
发布2024-02-23 23:28:59
举报

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn]

背景介绍

官方原版Shamrock的作者已经删库跑路了,所以我们使用这个:OpenShamrock

文档在这里,但访问可能需要点魔法:快速开始指南

步骤也简单,这里以无Root的安卓机为例,其他的可以看上面的文档,支持这么多:


安装步骤

1、下载Shamrock apk(推荐xxx-all.zip的包):Releases · whitechi73/OpenShamrock · GitHub

2、下载Lspatch和QQ,最新版也可以使用。

3、登录完QQ后,再打开Shamrock就可以看到已经有hook信息了。

使用示例

接口API说明在这里:请求与响应 | OpenShamrock

如果是在手机上运行,处理局域网直接有IP,那如果外网访问就需要内网穿透,教程可以看这个:

【教程】超详细安装和使用免费内网穿透软件Zerotier-One

https://xfxuezhang.blog.csdn.net/article/details/135761567

向Shamrock发请求

HTTP API调用有两种形式传参:post data 和 url encode

比如请求这样的(access_token是你在Shamrock设置的“鉴权Token”):

代码语言:javascript
复制
http://192.168.0.12:5700/get_login_info?access_token=xxxxx

就可以拿到Shamrock的返回信息:

从Shamrock收请求

这里就要用到“回调HTTP地址”功能了。在你的服务器上写个监听程序,然后Shamrock有消息的话就会给你的地址发消息。使用的是OneBot的API:OneBot API列表

比如使用flask写一个监听程序,端口为8888(如果是服务器,记得安全组里放行一下端口),接收post请求,并将data原样返回:

代码语言:javascript
复制
from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/', methods=['POST'])
def post_data():
    # 获取请求体中的数据
    data = request.get_json(force=True)
    # 原样返回数据
    return jsonify(data), 200

if __name__ == '__main__':
    app.run(debug=True, port=8888, host="0.0.0.0")

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景介绍
  • 安装步骤
  • 使用示例
    • 向Shamrock发请求
      • 从Shamrock收请求
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档