MiraiForum

    • Register
    • Login
    • Search
    • Popular
    • Recent
    • Unsolved
    • Tags
    • Groups
    • 友情链接

    命令参数如何支持消息链

    开发交流
    1
    1
    185
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      novacoo last edited by

      比如有以下示例自定义 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 Reply Last reply Reply Quote 0
      • 1 / 1
      • First post
        Last post
      Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact