.q指令的拓展使用
eiriksgata opened this issue · 0 comments
eiriksgata commented
由于 .q 指令对于用户来说,如果查询的文档过多,那么将会导致搜索出来的文本量过多,因此可以考虑使用配置文件拓展 该指令的应用范畴。 例如 .qdnd3e ,那么可以单独查询 文档目录下的 dnd3e.json文件。用户可以通过配置文件来达成 对应的映射关系。
虽然本质上来说,这种拓展应当在写在代码层面上,但是用户自身二次开发编译本插件的学习成本过高,因此考虑另外一种方案。
方案设计如下:
- rulatday -dice 程序初始化后,在config/com.github.eiriksgata.rulateday-dice/config.json 生成配置文件
- 通过修改配置文件中的配置项,来进行指令映射。配置参考如下:
{
"file.version": "1.0.6",
"master.QQ.number": "",
"auto.accept.friend.request": true,
"auto.accept.group.request": true,
"reply.at.user": false,
"ai-drawing": {
"url": "",
"remote": true,
"userId": ""
},
"instructions.prefix.list": [
".",
"。"
],
"open-ai": {
"api-key": ""
},
"instruction": {
"expand": {
"q": {
"dnd5e": [
"dnd5e.json"
],
"coc": [
"coc1.json",
"coc2.json",
"coc7.json"
]
}
}
}
}
我们需要在 instruction 的 expand 拓展中 对q的指令进行拓展。 (注意:只有指定拓展功能的指令才会生效,目前只有q指令有用)
可以看到如果 按照以上的形式进行配置。
那么当你输入 .qdnd5e法术
的时候它将会 只在 dnd5e.json 的这个文件中进行内容查询。(查询的文件都应当放在 data\com.github.eiriksgata.rulateday-dice\custom-doc
当前程序目录的该文件路径中)
当然你想多个文件一起查询,也可以配置多个文件,如上述的.qcoc
指令,便是从 coc1.json
\ coc2.json
\ coc7.json
这三个文件中进行查询。
除此之外如果你想直接查询所有的文档,那么 你则直接输入 .q关键字
即可,你可以可以理解为,如果 用户输入.qxxxx
其中 xxxx
开头匹配项没有 出现 上述的拓展指令的关键字,那么则 按全部文档查询。
可能你会疑问为什么都要加上 .q 作为前缀,这是因为 拓展指令 是 在当前有的指令基础下 做的 拓展功能,而上述的方案,都是 在 .q指令的功能下拓展的,因此 需要携带上 .q