[word-core] 词库入门教程(五)如何让机器人根据星期回复不同的内容

开始

本章也是词库组合语法的入门应用))

本教程会同时使用到两个语法

  1. 获取时间的语法
  2. 根据数量判断的语法

其他教程

2 个赞

第一步

参考第一篇,完成管理员配置

2 个赞

第二步

向机器人发送以下的内容

word.add 你好 "(?:(time:3):==:1)今天是星期一!"

word.add 你好 "(?:(time:3):==:2)今天是星期二!"

word.add 你好 "(?:(time:3):==:3)今天是星期三!"

word.add 你好 "(?:(time:3):==:4)今天是星期四!"

word.add 你好 "(?:(time:3):==:5)今天是星期五!"

word.add 你好 "(?:(time:3):==:6)今天是星期六!"

word.add 你好 "(?:(time:3):==:7)今天是星期天!"

ps:一行一行发哈)

发送完成后即可使用!

2 个赞

最终效果

image

2 个赞

非常感谢

3 个赞

思路解析

获取星期的语法

(time:3) 获取当前是星期几,并且转换为数字,比如当前如果是星期二,则输出是2

根据数量判断的语法

(施工ing)

最终

(?:(time:3):==:2)这个组合的语法结合了上述两个语法,我们尤其看到,本应该填写物品名称的地方,我们编写上了获取星期的语法。

而词库的语法是从左往右,从外到内的,所以它解析的顺序是

  1. 尝试解析判断物品数量
  2. 发现物品名称项是一个获取星期的语法
  3. 进行获取星期语法的解析,得到结果2
  4. 输出解析结果,此时原语句变为了(?:2:==:2)
  5. 通过物品数量的判定!
  6. 最终输出今天是星期二!
3 个赞

打扰一下大佬,可以让它回复图片吗

2 个赞

可以的,图片是被支持的

1 个赞

word.add 你好 “(?:(time:3):==:1)今天是星期一!” 大佬比如周一发送你好回复今天是星期一吧,我想让它你好/XXX/XXY/XYZ/等几个关键词回复同一个消息,这个能做到吗。是不是只能我设置好几次

2 个赞

waitt,我去更新一下教程

2 个赞

这里这里!

3 个赞

感谢感谢!

2 个赞

我添加word.add 你好 "(?:(time:3):==:3)今天是星期三!"是一行一行添加的,它会回复?:time:3==:4今天是星期四!下午有一阵好的。我是docker架设的koishi,对接平台是onebot,是不是blockly这个依赖导致的,别的都没问题,就这个一直显示该依赖的安装发生了错误,你可以尝试修复或移除它。

2 个赞

应该是blockly的问题,但是无论用命令行还是什么,都无法整好

2 个赞

唔,有安装word-core-grammar-basic插件嘛?

3 个赞

:face_with_peeking_eye:感谢,解决了,昨天那阵我装了,可能是昨晚让我又关了,它里面写了个排行榜是什么意思

2 个赞

再多问一个问题
image
大佬我想实现这种效果,就是一个问题,它好几行回答,该怎么弄,\n么

2 个赞

排行榜是这个:

然后词库word-core插件只是用于添加问答和回复问答,以及解析语法包的功能,但是其实word-core本身没有自带的语法包。grammar-basic是基础语法包。(后续也许会扩展其他的语法包

2 个赞

我刚刚更新了这个教程))试试康康这个

2 个赞