kukume/kukubot

建议:自定义行为

nailu0 opened this issue · 15 comments

希望机器人能够自定义一些行为,以满足用户的需求.
比如,向机器人发送/command,他就可以帮我执行某个我自定义的一个shell脚本,
用户可以把所需要的做的事情写在shell脚本中就可以了.
如果机器人还可以根据发送者的身份选择是否执行,那就更好了.
由于本人不是很熟悉Java,所以只能提一个issue了,很抱歉 :(

是把shell命令跟在指令后面让机器人执行,还是执行某些设置好的命令

执行某些设置好的命令,比如可以加一个配置文件,内容如下:

ALL           COMMAND1                  /path/demo1.sh
123456     COMMAND2                  /path/demo2.sh
456789     COMMAND3                 /path/demo3.sh

第一个字段表示可以执行此命令的用户,ALL就表示所有人
第二个字段表示命令名称,当用户发送/开头的消息时,机器人就会查找配置,执行相关命令,如果没找到不返回任何信息
第三个字段表示脚本所在路径。

执行命令的用户设置成管理、超管、主人限制?

差不多。
这个功能可以认为是机器人的一个附加功能,用户可以在不直接修改源代码的情况下自定义一些行为。
个人的一个小小的想法吧,如果有更好的实现欢迎指正。:)

需要接受脚本返回结果吗,还是只需要执行就行了

听起来不错,可以根据脚本的返回值确定是否正常执行。如果是0则返回一段消息,表示正常执行了,如果是非0,就返回一段消息,表示发生了错误。

只是脚本的话有点太限制了,我准备存储shell命令,如果是脚本的话直接bash xxx.sh就行了,
然后输入这个命令之后,是机器人发送脚本的输出信息,还是只是单纯的发一句脚本执行成功了?

如果直接这样执行会不会有安全问题?用户可以直接通过kukubot执行一些我们未定义的命令?

不是执行某些设置好的命令吗,用户只可以选择执行设置好的命令,设置将只能由机器人主人设置

用户可以写自己的脚本,比如python,这个脚本负责执行真正的事情,再写一个bash脚本去调用此脚本,最后kukubot只执行这个shell脚本就行了?

可以让任意用户加入脚本内容?那样不一样会有安全问题吗,比如直接来个关机。

控制行为逻辑的脚本应该由机器人所有者写,由他本人放到服务器中,并配置kukubot,其他用户只能执行命令,类似于/command,普通用户无法知道到底实际执行的脚本是什么,也无法修改。

嗯,命令设置由机器人主人进行设置,然后用户可以发送命令来执行。

https://file.kuku.me/kuku-bot/2021-02-24/ 去这里下载最新版本试试吧