基础篇

指令使用及文件组成

词库使用方法

基础设定

单个回答

当我们发送:

.问测试答测试成功

此时,本句对话模板已成功创建,当我们发送测试时,机器人会回答测试成功

多个回答时

当出现多个回答时(如下情况时),当我们发送提问时机器人会从回答的序列中随机选一条作为回答

带图片的问答

问:

当图片作为问,且前方没有文字,则需要将[]去掉

答:

答的图片需要携带[]

词库文件存储位置及格式

文件位置

词库文件存储于 机器人工程文件/data/word/word/word.json

玩家数据则存储于 机器人工程文件/data/word/user/内,文件名为用户的唯一标识.json

词库文件格式

蓝色字体为问,橙色字体为答,当一个问拥有多个答时,文件内容类似于如下的结构

用户个人数据文件

用户数据如下图

当前这位用户有如下的物品:小鱼干,小草鱼,小河豚

这些物品各有自己的属性:如小草鱼拥有名为鱼的力量属性,此属性的强度为179

一个物品可以拥有若干属性:如小鱼干拥有小鱼干攻击力这两种属性。

背包中每个物品的属性会累积到属性这个物品下

指令详解

.问xxx答xxx 设置对话词库

使用示例:

当我们发送:

.问测试答测试成功

此时,本句对话已成功创建,当我们发送测试时,机器人会回答测试成功

.删全问xxx 删除一个触发词的所有结果

当我们发送”.删全问测试”时,会将问为测试的对话从词库中删除

这时候发送测试,机器人无回复

.删问xxx序号xxx 删除一个触发词的某个结果

当成功添加词库后,机器人会告诉您当前添加的回答为序列内的第几号,

如此情况时,我们希望删除第一条回复,则发送如下指令:

.删问测试序号1

此时问答库内,回答1已从问答库中删除

.问表xxx 查看一个触发词的结果(可看序号)

使用示例如下

查询问为测试的答的结果


引擎篇

问与答的扩展

问-扩展

将如下内容放入问答的问中,将会匹配一些文字

【id】 匹配唯一标识

此标识在问中匹配一切唯一标识,可与答中的【id】搭配使用

备注:似乎目前问内只能匹配一个唯一标识…在修啦在修啦

添加词库:

使用效果:

【艾特】 匹配艾特

此标识用于匹配唯一标识,可与答中的【艾特】搭配使用

添加词库:

使用效果:

【数字】 匹配数字

此标识用于匹配任意数字,可与答中的【数字:[a]】搭配使用

添加词库:

使用效果:

【昵称】 匹配昵称

此标识用于匹配机器人昵称

机器人昵称为config.json内nickname项

添加词库:

使用效果:

答-扩展

将如下内容放入答内可以拥有特殊的效果

【随机数字:[a,b]】 生成随机数

生成一个范围在a与b之间的随机数并输出

添加词库:

使用效果:

【判断:[a,b,c,d,e]】 判断条件是否满足

判断a与c的条件是否满足b,如果满足则显示d,如果不满足则显示e

判断数字的关系的符号有>,=,<,<>

判断文字的关系的符号有==(是否相同),<=>(是否不同)

判断文字的不能够判断数字哦…!

添加词库:

使用效果:

【添加:[a,b,c,d,e]】 增加物品至玩家背包

添加一件名为a的物品至玩家背包,该物品拥有b属性,b属性的强度为c,d为执行完成后返回格式,e为添加目标

e

d为输出格式

  • d为1则输出为a
  • d为2时则输出为b
  • d为3是则输出为c
  • d为其他时则输出为空(但执行)

e为设定目标

  • e为id时(如:5b0fe8a3b1ff2)则向固定id设定
  • e为空时则表示触发者
  • e也可以为一些字符,如boss,此时则创建一个名为boss的个人数据并设定它的背包
  • id是指唯一标识中间那些数字与英文的内容

添加词库:

使用效果:

因e为空,触发这条指令的人是我,所以向我添加

玩家数据变动:

执行前:文件内容为空

执行后:

【销毁:[a,b,c,d,e]】 从玩家背包内削弱一件物品的属性(数值属性)

将玩家背包内名为a的物品的b属性去除c点强度。

d为输出格式

  • d为1则输出为a
  • d为2时则输出为b
  • d为3是则输出为c
  • d为其他时则输出为空(但执行)

e为设定目标

  • e为id时则向固定id设定
  • e为id时(如:5b0fe8a3b1ff2)则向固定id设定
  • e为空时则表示触发者
  • e也可以为一些字符,如boss,此时则创建一个名为boss的个人数据并设定它的背包
  • id是指唯一标识中间那些数字与英文的内容

似乎…当物品所有属性归零时则删除该物品…(

添加词库:

使用效果:

玩家数据变动:

执行前:

执行后:

【艾特】 输出问内的对应匹配内容

输出问内的【艾特】

添加词库:

使用效果:

使用此对标识,可以试着制作被动式欢迎系统:

更多玩法请自行探索….(

#换# 输出换行

使机器人输出换气泡行

添加词库:

使用效果:

【属性:[a,b,c]】 查看一个物品的属性

查看玩家c的背包内一个名为a的物品,它的属性b的强度

c为查询目标,为空则为触发者

添加词库:

使用效果:

玩家数据:

【延迟:[a,b,c,d]】 延迟判断

创建一个名字为a的时钟,延迟b毫秒,开始延迟时显示c,若在延迟时间内,则显示d

1000毫秒=1秒

如下栗子:

我们说“延迟”的时候,机器人会回复“延迟成功咯”,当在十秒内发送“延迟”,机器人会回复“还在延迟呢”

添加词库:

使用效果:

【发送名:[a]】 输出触发者的名字或艾特

输出触发者的名字或艾特,a为0时则输出名字,为1时则输出艾特

添加词库:

使用效果:

【发送id:[a]】 输出触发者id

输出触发者的id,a为0时则输出uid,为1时则输出唯一标识

添加词库:

使用效果:

【数字:[a]】 输出问内的对应数字

输出问内的第a个数字,可以与问内的数字配合使用

添加词库:

使用效果:

【昵称:[a]】输出机器人昵称

昵称为机器人工程文件下config.json内的nickname的项的结果

添加词库:

使用效果:

【id:[a,b]】输出问内对应的id

输出问内的第a个id,b为输出格式,可以与问内的uid配合使用

添加词库:

使用效果:

(嗯好…该功能不知道飞哪去了…等会重做ing)

【换行:[a]】 将回复的内容换行

将回复内容换行

添加词库:

使用效果:

【设定:[a,b,c,d,e]】 增加物品至玩家背包(文字属性)

设定玩家背包内物品a的属性b的值为c,c为文字。

d为输出格式

  • d为1则输出为a
  • d为2时则输出为b
  • d为3是则输出为c
  • d为其他时则输出为空(但执行)

e为设定目标

  • e为id时则向固定id设定
  • e为id时(如:5b0fe8a3b1ff2)则向固定id设定
  • e为空时则表示触发者
  • e也可以为一些字符,如boss,此时则创建一个名为boss的个人数据并设定它的背包
  • id是指唯一标识中间那些数字与英文的内容

添加词库:

使用效果:

触发前玩家数据:

触发时:

触发后玩家数据:

【取消:[a,b,c,d]】 至玩家背包中取消物品文字属性 (施工ing)

清除物品a内的属性b

c为输出格式

  • c为1则输出为a
  • c为2时则输出为b
  • c为3是则输出为c
  • c为其他时则输出为空(但执行)

d为取消目标

  • d为id时则向固定id设定
  • d为id时(如:5b0fe8a3b1ff2)则向固定id设定
  • d为空时则表示触发者
  • d也可以为一些字符,如boss,此时则创建一个名为boss的个人数据并设定它的背包
  • id是指唯一标识中间那些数字与英文的内容

添加词库:

使用效果:

触发前玩家数据:

触发时:

触发后玩家数据:


组合篇

这部分就稍稍写一点点……请各位自行组合吧…!

标识组合

需知

  • 标识之间能够相互嵌套…
  • 【】运行于〖〗之前…

这里只描述一些可能用到的场景,如果各位有其他想法的话欢迎告诉我..!

概率判断

当【判断】+【随机数字】就能够制作奇奇怪怪的东西

50%:【判断:[【随机数字:[1,100]】,>,50,判断成功,判断失败]】

30%:【判断:[【随机数字:[1,100]】,>,70,判断成功,判断失败]】

总体思路:

生成1-100的随机整数,当大于后面的数值的时候,输出“判断成功”或输出“判断失败”

提示:

判断成功和判断失败那边可以放入如其他标签…

判断属性(数字)

添加词库:

运行顺序:会获取个人属性内的名为“权限”的物品的属性,它的“强度”的数值,然后放入判断函数内进行判断

判断为失败:

判断为成功:


反馈与更新预告

请告诉我这篇文档感受如何,是否能够看懂

反馈

请务必给我评论一下…!