沐朽阁
即使过了千年,世界上也有许多事情没有改变。
沐朽阁
QRSpeed机器人教程及示例

前言

本页面主编为沐风编写,如有疑问请联系我:qq2441260435。

当然,你也可以在下面评论你的问题。

什么是QRSpeed机器人?

QRspeed是一个简单的、现代的、通用的、面向QQ的并且免费的机器人软件,它是由Doumsg(豆子)开发的。

本教程将告诉您基础的QRspeed词库,同时将向您讲解QRspeed机器人相关的各种先进理念。

QR有用的网站
https://aqr.doumsg.cn/ – 给你的机器人QQ账号授权,将会解锁部分高级功能。
https://wwa.lanzous.com/b0a8znepg – 列出了QR可以使用的变量

下载地址:https://wwe.lanzous.com/b01birh8d

警告
如有提示更新请务必更新!

QRSpeed词库插件

这是QRSpeed的一个插件,因它高度自定义的功能受到广大用户的好评,下面我们会教你如何编写QRSpeed词库。

一个小教程——来自杰鸽

词库变量

QRSpeed词库插件包含了很多预定义变量。

在我们学习QR的基础函数之前,让我们先看一下QR的最小的程序结构,以便作为接下来章节的参考。
一串QR命令分为两部分(本教程所选用的名词存在争议,非官方或主流名称)
◈执行条件(一串命令被激活的前置条件,比如发送什么内容或者被什么调用与回调,值得注意的是,回调的命令需要在执行条件前加上[内部])
◈回应内容(一串命令被激活后的返回内容)
事例:
Hello
Hello World!
&当输出”Hello”时,此命令会回复”Hello World!”
我们来分析一下该命令
“Hello”是执行条件,如果加上”[内部]”后,输入”Hello”便无法激活此条命令了,需要使用”回调”调用这条命令
“Hello World!”是回应内容

上一串命令和下一串命令如何分割?
使用”回车”可将命令隔开
事例:
Hello
Hello World!

Hello!
H2TY!
&当输出”Hello”时,”H2TY!”并不会被一同输出

如何调用一个已经写好的内容?
$调用 1000 好$


你好
&1000纳秒后调用”好”这个文字,当”好”被调用时,”好”这条命令将会被激活
1000纳秒等于1秒,且当输出”好”时,此条命令依旧会被激活
“好”是调用的命令的执行条件
“你好”是被调用的命令的命令的回应内容
“1000”是调用命令的延时

$回调 回$

[内部]回
回调的内容
&立刻回调”好”这个文字,当”好”被调用时,”好”这条命令将会被激活
且当输出”好”时,此条命令不会被激活
“好”是调用的命令的执行条件
“你好”是被回调的命令的命令的回应内容
“[内部]”是回调的命令的状态
回调没有延迟,且必须回调内部命令,但调用可以调用普通命令也可以调用内部命令

如何发送图片?
±img=图片链接±

什么是图片链接?

图片直链是图片的上传链接,用户拥有图片直链之后可更加直接的获取图片并保存,为需要某种图片的用户提供极大的便利

储存图片的服务器被称之为图床

如何发送语音?

$发送 群 ptt %群号% -1 音频地址$
【发送语音】支持音频格式mp3,acc,amr等,语音会格式自动识别,不过最多只能发1MB以内的音频。}#–引用自变量大全

百度的TTS,中文需要使用URL编码
http://tts.baidu.com/text2audio?lan=zh&pid=101&ie=UTF-8&text=播放的内容&spd=播放的速度(1-10)”

其他

$禁 %群号% %QQ% 时间$———–【机器人禁言】时间单位秒

$改 %群号% %QQ% 名片$———–【机器人改名片】

$踢 %群号% %QQ%$———–【机器人踢人】

$点赞 %QQ% 10$———–【机器人自动赞10下】

$发送 临时 msg %群% %QQ% 内容$ (内容为你要私发的内容)

±rep %Msgbar%±
±strmsg %参数-1%±
(%参数-1%为回复里面的话,你可以看着修改,不进行修改的话,就默认是那个人发的消息的话)

| ———– 【==用这个符号分割】

& ———– 【!=用这个符号分割】

\r ———–【换行】

\n ———–【换行】如上,获取失败用这个

\r\n ———–【换行】如上,获取失败用这个

\%20 ———–【空格】

卡片前缀:card:1或card:2或card:3 ———– 后面数字随便都可以

图片前后缀:±img=图片链接±

json前缀:json:加卡片代码
引用自变量大全


函数解释

%QQ%-----------【获取发言者的QQ号】

%群号%-----------【获取本群的群号】

%参数1%-----------【获取发言参数1,带空格的】
例如:测 测试,参数0就是测,参数1就是测试。

%AT0%-----------【@发言者】

%Time%       -----------【获取当前时间】

±at 0±-----------【让机器人AT全体成员】
示例:
@全体成员±at 0±

%Time%-----------【获取当前的时间戳】

%随机数x-X%-----------【获取随机数,x至X,假设1-10,就从1-10取个数学出来】例如:%随机数1-100%

%时间yyyy%----------------yyyy(年)MM(月)dd(日)cc(星期)aa(上午/下午) HH(24小时制)hh(12小时制)mm(分钟)ss(秒)

$延时 1000 内容$-----------【延时发送消息(内容为消息)】1000是延迟,单位毫秒,1秒=1000毫秒。后面的内容是调用的指令,格式如下

$禁 %群号% %QQ% 时间$-----------【机器人禁言】时间单位秒

条件语句

如果:%QQ%==10000
QQ为10000
返回
如果尾

以上为一个简单的条件判断语句,需注意的是如果后的冒号为英文符号。


关于计算

A:%随机数1-5%    --------【随机数1到5】
加减乘除【+-*/】-------- 【不可以混合运算,不支持小数运算,除法取整数】
例如:[1+2] [3-2] [1*2]

编码部分

URL编码
$URLEncoder string$
URL解码
$URLDecoder string$
Hex转码
$HexEncoder string$
Hex解码
$HexDecoder string$
MD5加密
$MD5 string$

网站访问

$访问 网址$-----------【获取访问网址的内容】get方法
$访问 SETGET {} 网址$    -----------【自定义访问】
$访问 SETGETFT 自定义头内容JSON格式 A 链接$    -----------【新版get方式自定义访问】
$访问 POST 网址 post参数$-----------【获取访问网址的内容】发送post请求
$访问 SETPOSTFT 自定义头内容JSON格式 A 链接 POST内容$----------【新版post访问,返回值赋值给变量A】

文本处理

$替换 € 原内容€内容1€内容2$-----------【替换文本,从原内容替换内容1成内容2】
$取中间 Э 原内容Э开头Э结尾$-----------【取中间,从原内容截取开头到结尾内容】
$字符长度 内容$ -----------【获取字符串长度】

读写文件

$写 教程/%群号%/测试 m 测试$-----------【写入文本到/教程/%群号%/测试里】
$读 教程/%群号%/测试 m 0$-----------【取文本:从/教程/%群号%/测试里取】这里的最后一个0是数据的默认值,也就是说会读出来"测试"出来
文件保存在路径:主目录/QR/QRDic/data 里

$下载 路径 文本直连地址$-----------【下载文件到手机】请勿使用非法用途。默认路径为根目录。
$下载 路径 链接 自定义头内容JSON格式 A$-----------【下载文件,自定义头】

正则表达式

?    有或者没有,比如“ ?”有没有空格都
+    1个或1个以上
*    0个或0个以上
^    以xx开头:^xx
$    以xx结尾:xx$
\w   汉字、字母、数字、下划线(要精确匹配汉字用[\u4E00-\u9FA5],其中的编码是Unicode汉字的第一个字和最后一个字。)(要精确匹配字母用[a-zA-Z])
\d   数字
\s   换行符、空格、制表符.    任意内容,和*加起来组合成“.*”可以称为“通配符”【警告】当单独出现的通配符“.*”代码没有处于词库代码最下方时,通配符下面的任何不带换行符的指令都无法执行
{4}  限定数量4个,如\d{4}  4个数字{1,4}  限定数量1-4个 如\d{1,4}  1-4个数字
{4,} 限定数量至少4个 如\d{1,4}  四位及以上数字
[]   满足里面任意【1个】字符,如“[你我他]”,发送“你”、“我”或者“他”都能满足

尝试以下代码:
^\d\w\d$
输入了一个以数字开头,中间含一个汉字或字母,以数字结尾的内容
\w{1,4}\d+
正好输入了1-4个汉字或字母以及一个以上的数字
([你我他])
你发了一个%括号1%

正则表达式详细教程:https://www.runoob.com/regexp/regexp-tutorial.html


数组用法

a:["q","w","e","r"]
@a[2]
获取第n个元素,用@a[n-1]。n-1是具体数字,不能套用运算符号

a:["q","w","e","r"]
@a[%随机数0-3%]
随机获取元素1-4的其中一个,适合用于超过10句的随机语句

a:[{"a":1,"b":2},{"a":10,"b":20},{"a":100,"b":200}]
@a[%随机数0-2%][b]
先随机获取元素1-3中的一个,之后获取键“b”对应的值

获取JSON和XML

[高级].*
%JSON0%
%XML0%

闪照变量

[高级][\s\S]*
%FIMG0%

发闪照
±fimg=图片链接或本地图片路径±

发表评论

textsms
account_circle
email