MiraiForum

    • 注册
    • 登录
    • 搜索
    • 热门
    • 最新
    • 未解决
    • 标签
    • 群组
    • 友情链接

    命令参数如何支持消息链

    开发交流
    1
    1
    168
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • N
      novacoo 最后由 编辑

      比如有以下示例自定义 Command :

      object SimpleTestCommand : SimpleCommand(
          AobaChan, "test", "测试",
          description = "临时测试命令"
      ), AobaChanCommandInternal {
          @Handler
          suspend fun CommandSenderOnMessage<*>.test(
              vararg message: MessageContent
          ) = sendMessage(message.toMessageChain())
      }
      

      这段代码的运行结果是:

      Group -> /test test1 test2 test3
      <- Group : test1test2test3

      • 就是它把所有空字符都当做命令参数的分割符号了(猜测,内部好像是重组了参数)

      我要怎样让 CommandArgument 直接支持 MessageChain

      比如上面示例代码的 test() 中的参数 vararg message: MessageContent 改为 message: MessageChain ,这样的话命令参数就能做到包含任何空字符和任意 MessageContent 吧,求助实现方案, 类似 fromEvent.message 获取命令的那一条消息链的办法除了粗暴,还有一点是不河里,所以求助个位大佬

      1 条回复 最后回复 回复 引用 0
      • 1 / 1
      • First post
        Last post
      Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact