内容来自:
关于QRSpeed dic和dicpro词库代码调用API的方法以及讲解和注意事项-哔哩哔哩专栏
帮我点赞投币收藏+关注呗~
首先,大概的说说API是什么,你可以理解API为一种数据来源的网站,机器人向这个链接请求后得到一个你想要的数据
如何请求API获得数据(事先声明,对接API前一定要去浏览器自己测试完后才对接,心里有个数知道返回什么///专栏中所使用的API网站是我个人搭建的公益免费API网站,有事请联系本人,可找我做接口或者反馈问题)
本专栏先教API返回各种不同数据如何处理,再教如何填写API参数(用点歌API等等示例教程)---------API返回text数据教程--------
一般dic和pro请求数据用$访问 链接$
例如:$访问 https://xiaobapi.top/api/xb/api/acg_2.php$
$访问
是无需授权的,注意$是英文的符号,输入法有一个[符]
,然后选择英文
,找到$
符号点击即可输入(讯飞输入法二十六键直接手写默认推送英文$
),英文$
和中文$
区别挺大的,一般不会打错
测试
$访问 https://xiaobapi.top/api/xb/api/acg_2.php$
发送指令后机器人就把这段链接里的内容返回给你
有的人应该见过这种代码吧
{
"code": 1,
"text": "获取成功",
"data": {
"url": "https://tva4.sinaimg.cn/large/0072Vf1pgy1foxlo1tjbnj31hc0u0wwc.jpg",
"width": 1920,
"height": 1080
}
}
这是json
,用于储存数据
,https://xiaobapi.top/api/xb/api/acg_2.php`的返回内容就是这个,那怎么才能取到里面的数据呢
qrdic和pro可以这样
测试
a:$访问 https://xiaobapi.top/api/xb/api/acg_2.php$
@a[data][url]
执行后获得的就是你想要的那个图片链接https://tva4.sinaimg.cn/large/0072Vf1pgy1foxlo1tjbnj31hc0u0wwc.jpg
如果想要发送出图片
有的接口可能返回以下数据±img=https://tva4.sinaimg.cn/large/0072Vf1pgy1foxlo1tjbnj31hc0u0wwc.jpg±
高1080
宽1920
dic直接$访问 接口地址$
pro还需要加开兼容性或者
a:$访问 接口地址$
$输出为 %a%$
测试
a:$访问 https://xiaobapi.top/api/xb/api/acg_2.php$
±img=@a[data][url]±
--------API返回text数据教程--------
--------JSON教程--------
即可,用一个示例简单讲解下json
以上面的json
为例
{
"code": 1,
"text": "获取成功",
"data": {
"url": "https://tva4.sinaimg.cn/large/0072Vf1pgy1foxlo1tjbnj31hc0u0wwc.jpg",
"width": 1920,
"height": 1080
}
}
取这一段"text": "获取成功",
text为键,获取成功为值
就例如qr执行取键@a[text]
后返回的值是获取成功
qr也可以一次性取多个键,就例如上面取图片链接@a[data][url]
一样
取了data
后获得
{
"url": "https://tva4.sinaimg.cn/large/0072Vf1pgy1foxlo1tjbnj31hc0u0wwc.jpg",
"width": 1920,
"height": 1080
}
然后继续取url获得https://tva4.sinaimg.cn/large/0072Vf1pgy1foxlo1tjbnj31hc0u0wwc.jpg
这个值
另一种json
json数组:
["1","2","小冰科技API"]
这样的
取值就得变一变了
[]里第几个""就取(第几个-1),比如我要取"小冰科技API",这是第三个""里的,那就(3-1)=2,为什么要减一呢,因为json
数组第一个值
的键是0
,第二个是1
,第三个是2
(小冰科技API这个值)
,以此类推,这种json数组也是有键的,就是数组,第几个-1
有些时候,可能会掺和在{}
里的json
就例如
{
"code":1,
"data":["1","2","小冰科技API"]
}
用上面的知识取data
的2
的值就是这样取@a[data][2]
顺着代码讲解
取data
这个键后得到
["1","2","小冰科技API"]
这个值
再取2
这个键得到小冰科技API
这个值
如果想要取完data
这个键里面全部数据怎么办
qrdic和pro可以遍历
,学过php和python的都知道for
吧,一样的原理
还是用
["1","2","小冰科技API"]
这个数组示例
测试
a:["1","2","小冰科技API"]
b:0
:x
如果:@a[%b%]==
返回
如果尾
@a[%b%]\n
b:[%b%+1]
$jump :x$
讲解:a
赋值一个数组b
赋值为0
,:x
是标签,执行到$jump :x$
时代码会跳到:x
下面继续执行代码,然后b:0
就相当于php的
for($i=0;$i < count($data);$i++){}
一样,先赋一个基础的0
值,一定要在标签:x
上面,否则会重新赋值导致覆盖了下面的b:[b+1]
变量导致写了个死循环的代码永远执行不完,使用如果判断来一只循环判断看看取值取完了没,为空则完了,跳出循环,还没完就取值,[%b%+1]
并跳标签
当然还有一种方法,就是先$JSON 长度 a$
取总长度来现在跳标签多少次,但我喜欢跳完就跳出循环这种方法
还有一种json
[{"hi":"你好","三点几咯":"饮茶先啦"},{"三点几咯":"做这么多老板不会疼你的"}]
想必学会了上面的取值的应该这种你也会取吧,取0
后得到
{"hi":"你好","三点几咯":"饮茶先啦"}
然后怎么取你懂的,不多说了--------JSON教程--------
--------image教程--------
如果接口返回的是一个图片,此时注意,看网址栏还是不是原来你访问的API网址,如果不是那就是这个API进行了301跳转,需要获取301跳转后的链接再继续发图,或者改变接口参数,获取你想要的数据类型(参数怎么填后面会说)
如果图片加载完了网址也是API地址,则可以直接
使用±img=https://xiaobapi.top/api/xb/api/ys-role.php?msg=夜兰&n=1&type=image±
来发图
如果返回的是一个text
的图片链接
则先用
a:$访问 https://xiaobapi.top/api/xb/api/mjx.php$
来获取图片链接
再代入±img=%a%±
来发图
--------image教程--------
--------ptt/语音教程--------
如果接口返回了一段语音,则使用
±ptt=https://xiaobapi.top/api/xb/api/ysmusic.php?msg=七七±
来发语音(dic/pro)
,注意需要qr
授权才能发送
语音格式可以是mp3,slk,amr
等等等等,群发语音,文件不能大于1MB
私信无限制
--------ptt/语音教程--------
--------卡片教程--------
如果接口返回了一段xml或者json的代码
你可以直接发送卡片信息,需要qr授权
先a:$访问 接口地址$
xml就
card:1
%a%
qr代码示例:
a:$访问 接口地址$
card:1
%a%
json就
json:%a%
qr代码示例:
a:$访问 接口地址$
json:%a%
--------卡片教程--------
--------API接口参数填写教程--------
我网站用的php
写接口,那就在.php
后面加个英文问号?然后填写参数,其他语言写的也是这样,后面加个英文问号?
然后填写参数
示例:https://xiaobapi.top/api/xb/api/kw.php?msg=群青冷鸢&n=1
msg是参数名,=后面是值,可以和json互相理解下
n是参数名=后面的1是值
每个参数名用&间隔隔开
用一个点歌词库示例
酷狗点歌(.*)
$访问 http://xiaobapi.top/api/xb/api/kgyy.php?msg=%括号1%$
$写 小冰/点歌/%群号% %QQ% %括号1%$
发送"酷狗选歌+序号"进行点歌
酷狗选歌([0-9]+)
a:$读 小冰/点歌/%群号% %QQ% 我的鸡八岁了$
$访问 http://xiaobapi.top/api/xb/api/kgyy.php?msg=%a%&n=%括号1%$
基本格式都是:接口地址?参数内容
这种请求方式是get
,还有一种post
请求
懒得写随便拿了个之前写的词库的代码出来用用
m:{"Cookie":"p_uin=o%Robot%;uin=o%Robot%;skey=%Skey%;p_skey=%P%","qname-service":"976321:131072","qname-space":"Production","content-type":"application/json"}
上面的这个用在QQ上的header
,qr
进行post
请求可以用
$访问 SETPOST header 地址$
内:{"bkn":%B%,"group_id":%群%}
$访问 SETPOST %m% %链% %内%$
%m%参数是自定义header(自己百度,这个不好解释,因为我自己都没整明白),%链%是要请求的链接,可直接填写get参数支持同时get
和post
,%内%
是post
过去服务器的内容,可以是json
或者是post
参数和get
一样,不过没有?,直接发送这种,msg=%a%&n=%括号1%
过去
get也支持自定义header
H:{"Referer":"https://y.qq.com/","origin":"https://y.qq.com","Content-type":"application/x-www-form-urlencoded"}
$访问 SETGET %H% %U%$
%H%
是header
,%U%
是链接(url)
手机自带浏览器是可以直接get
请求,但自己不可以直接发送post
请求
如果接口文档写着无参数 就直接请求接口地址就可以了,无需加?
,加了也无妨,不影响,加了参数也是无妨
请求参数时注意不能随便改大小写,否则都是无效请求,要对应网站的大小写
回复上面API
返回数据类型的话题
如何改变API
返回数据的类型呢
看接口文档,哪个是改变数据类型的参数,就改变她的值就可以了
例如我的网站的接口文档(地址是https://xiaobapi.top/api/xb/qq_qun_statistic_member.php)
里的type
参数
type=json就返回
json``数据,然后自己取自己想要的数据type=text
就返回文本数据,服务器处理好的可以直接使用的数据json
主要是可以取自己喜欢的数据,自己随意摆放位置,还能用在更多地方
--------API接口参数填写教程--------
现在是2022.7.22 02:22,睡觉睡觉,API
参数填写恐怕是没写清楚,但我实在困了
教程差不多就这么多了吧,应该没有遗漏,有遗漏或者错误的地方告诉我,我再改改
小冰科技API
URL: 小冰科技API
交流群:一群群号996413740
,其他分群看群简介
内容来自:
关于QRSpeed dic和dicpro词库代码调用API的方法以及讲解和注意事项-哔哩哔哩专栏
都看到这里了,帮我点赞投币收藏+关注呗~
博主真是太厉害了!!!
叼茂SEO.bfbikes.com
不错不错,我喜欢看
怎么收藏这篇文章?
想想你的文章写的特别好https://www.237fa.com/
不错不错,我喜欢看 www.jiwenlaw.com
看的我热血沸腾啊www.jiwenlaw.com
哈哈哈,写的太好了https://www.cscnn.com/
独家揭秘:逆天改命!揭秘史上最强私服传奇客户端,惊呆众人!:https://501h.com/jinbi/2024-08-28/31270.html
你的文章让我学到了很多技能,非常实用。 http://www.55baobei.com/FXlm8vThpX.html
《半暖时光》国产剧高清在线免费观看:https://www.jgz518.com/xingkong/34122.html
《亿万第五季》欧美剧高清在线免费观看:https://www.jgz518.com/xingkong/80146.html
你的文章让我感受到了无尽的欢乐,谢谢分享。 http://www.55baobei.com/py7Xj9eGSa.html
你的才华横溢,让人敬佩。 https://www.4006400989.com/qyvideo/86669.html
你的文章充满了创意,真是让人惊喜。 https://www.4006400989.com/qyvideo/19486.html
你的文章充满了创意,真是让人惊喜。 http://www.55baobei.com/SAirqUQFrq.html