YamlBot - 基于yaml配置的指令编写插件
-
YamlBot
https://github.com/PigeonYuze/YamlBot
一个基于
mirai
自带的config
中的yaml
配置以开发指令的插件由于
yaml
对空格的敏感 在出现相关保存时,请检查您的配置文件是否正确同时插件中的部分功能需要
ffmpeg
的支持,您可以选择性地选择是否加入该功能(调用上传语音相关功能时会自动将.mp3
格式转换为silk
)详细内容可查看readme中的介绍
以一言为例
你可以通过以下的yaml
代码# 指令处理 COMMAND: - name: - '/hikokoto' - 一言 answeringMethod: QUOTE answerContent: '『 %call-hitokoto% 』 —— %call-from%' run: - use: HTTP call: content args: - 'https://v1.hitokoto.cn' name: content - use: BASE call: parseJson args: - '%call-content%' - hitokoto name: hitokoto - use: BASE call: parseJson args: - '%call-content%' - from name: from
实现以下的效果
以上功能在插件成功加载后会自动生成
另,您所编写的指令可以上传至your-config 以
功能-原名
的格式上传您的代码年轻人的第一个插件何止是瑟图插件 -
只有注册用户后才能使用指令吗?怎么注册用户呢?
-
@καθαρά 并不是这样的 用户系统是这个插件自带的一个小功能 指令的调用与用户系统无关
-
@PigeonYuze 额,那我发送触发词既没有报错bot也没有任何回复是什么原因呢?我用的就是您给出的例子
-
@καθαρά 你可以把你发送的信息发一下吗 我现在重新测试看看,如果可以的话也麻烦你发一下
CommangReg.yml
的信息,谢谢! -
@PigeonYuze /hikokoto
-
此回复已被删除! -
# 指令处理 ''' COMMAND: - # 指令的全称 使用者在发出该内容后会触发指令 (使用contentToString比较) name: - test # 回复的方式 可选为QUOTE,SEND_MESSAGE,AT_SEND # QUOTE 为回复信息 # SEND_MESSAGE 为直接发送信息 # AT_SEND 为at发送者后发送信息 answeringMethod: QUOTE # 回答的内容 # 可提供%call-value%调用参数 (详细可见 readme.md 所标注的方法) answerContent: "hello,world!\nthis is a test message!" # 会同时执行的操作 如有需要调用参数 需要在此处进行编写 # 详细可见 readme.md run: [] # 运行还需要的额外条件(该项暂时没有用 因为还没有写好的返回布尔值的内容) # 若无需条件请使用以下内容: # - request: none # call: null # runRequest: false condition: - # 选择判断的类型 无需判断传值 none request: none # 提供此处获取Boolean call: null - # 指令的全称 使用者在发出该内容后会触发指令 (使用contentToString比较) name: - '/hikokoto' # 回复的方式 可选为QUOTE,SEND_MESSAGE,AT_SEND # QUOTE 为回复信息 # SEND_MESSAGE 为直接发送信息 # AT_SEND 为at发送者后发送信息 answeringMethod: QUOTE # 回答的内容 # 可提供%call-value%调用参数 (详细可见 readme.md 所标注的方法) answerContent: '『 %call-hitokoto% 』 —— %call-from%' # 会同时执行的操作 如有需要调用参数 需要在此处进行编写 # 详细可见 readme.md run: - # 使用的包 可选USER,BASEM,HTTP,MIRAI use: HTTP # 调用的函数名 call: content # 传参 args: - 'https://v1.hitokoto.cn' # 命名 name: content - # 使用的包 可选USER,BASEM,HTTP,MIRAI use: BASE # 调用的函数名 call: parseJson # 传参 args: - '%call-content%' - hitokoto # 命名 name: hitokoto - # 使用的包 可选USER,BASEM,HTTP,MIRAI use: BASE # 调用的函数名 call: parseJson # 传参 args: - '%call-content%' - from # 命名 name: from # 运行还需要的额外条件(该项暂时没有用 因为还没有写好的返回布尔值的内容) # 若无需条件请使用以下内容: # - request: none # call: null # runRequest: false condition: - # 选择判断的类型 无需判断传值 none request: none # 提供此处获取Boolean call: null
-
@καθαρά 奇怪了,我这里复现失败欸,你确定你的bot成功登录或者是bot成功接受到信息了吗
-
@PigeonYuze 确实登录并接收到了啊,我设置的复读插件都回复了
-
@PigeonYuze 刚才重启了一下mcl,又可以用了(
-
新增每日一图的示例,使用最新版本将git仓库内
your-config/bingimage-Command.yml
的COMMAND
内容接在config/.../CommandReg.yml
内即可使用 -
这插件感觉好像凉了()
真的有人用吗( -
来试试
-
很好的功能,感觉有了监听之后那就能简单的开发更多功能了。
-
最新的release里两个jar有什么区别,大小差那么多。
-
@彼岸星辰beta
mirai.jar
是为旧版本的mirai
构建的包,里面一同打包了所需要的所有依赖
而mirai2.jar
是新版本mirai
的功能,它在被mirai-console
加载后会自行下载依赖至对应的lib
文件夹内,防止包使用的重复带来了不必要的存储空间占用
一般来说下载mirai2.jar
就可以了
真的会有人现在还在用mirai 1.x 吗? -
趁你放假了,IsPrefixForAll 好像没有反应,等会我整理下发个示例去GH,有空康康。
-
并且还有奇怪的bug,如果设置args分割符为空(不是空格),凡是以天气开头的词都算是命令,即天气=天气上海,会要求输入指令,天气 上海=查上海天气。
-