部分含text参数的指令在正式环境下仅能获取到首个空格前的文本

在开发指令的时候接收参数遇到了问题,希望有大佬可以帮帮 :smiling_face_with_tear:

开发环境: Win11,所有指令均能正常工作。
正式环境: Ubuntu24.04,其中一个带<:text>的指令无法正常获取到带空格文本。

指令定义:

开发环境下均运行正常:
输入:wm foo bar baz qux
接收参数:foo bar baz qux
输入:wmr foo bar baz qux
接收参数:foo bar baz qux

正式环境wm指令异常:
输入:wm foo bar baz qux
接收参数:foo
输入:wmr foo bar baz qux
接收参数:foo bar baz qux

正式环境后面又添加了一个接收<:text>的测试指令wmrr,运行正常。
正式环境下沙盒也是坏的,可排除适配器问题。
在代码中交换定义顺序,不影响结果。

3 个赞

优先考虑生产环境的其他插件带来的影响吧

毕竟程序是死的

2 个赞

解决了吗,我也遇到了此问题

1 个赞

暂时先用这种写法替代了

    ctx.command('command [...args]', { authority: this.config.authority })
      .alias(...this.config.alias)
      .action(async ({ session }, ...args) => this.handleSatCommand(session, args.join(' ')))
1 个赞