Closed nailu0 closed 3 years ago
是把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/ 去这里下载最新版本试试吧
希望机器人能够自定义一些行为,以满足用户的需求. 比如,向机器人发送
/command
,他就可以帮我执行某个我自定义的一个shell脚本, 用户可以把所需要的做的事情写在shell脚本中就可以了. 如果机器人还可以根据发送者的身份选择是否执行,那就更好了. 由于本人不是很熟悉Java,所以只能提一个issue了,很抱歉 :(