MiraiForum

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

    请教大家筛选信息的方式

    开发交流
    java command if 信息筛选
    4
    5
    509
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • Orisland
      Orisland 摸鱼 最后由 编辑

      如题,但是区别是java不是kotlin。
      目前暂时没有使用command,用的纯if else(判断聊天出现某字符的index是否为0以此作为功能的启动入口条件)判断,感觉好像效率好像很低,请教大家在进行命令的编写的时候,是否都是依赖command进行还是说有很多像我这种选择if else判断的选手?

      1 条回复 最后回复 回复 引用 0
      • yoonching
        yoonching 最后由 编辑

        用了一些正则表达式

        1 条回复 最后回复 回复 引用 0
        • Samarium150
          Samarium150 童心未泯 最后由 Samarium150 编辑

          我一个插件写的比较简单,就直接composite command了,另一个稍微复杂点的用的是正则
          (但前面的用的kotlin,后面的是httpapi+typescript)

          1 条回复 最后回复 回复 引用 0
          • H
            hundun000 ⭐2021⭐ 最后由 编辑

            和功能场景有关吧,有的场景不适合/一定不是command。例如:

            1、我的mirai-quiz-plugin插件里的QuizCommand类既注册了@SubCommand,也作为ListenerHost通过if判断event.getMessage().contentToString()。

            出题指令用command还可以接受

            -> /一站到底 出题
            <- 《紫罗兰永恒花园》中薇尔莉特的名字是来自?
            A. 紫罗兰
            B. 勿忘我
            C. 向日葵
            D. 玫瑰
            发送选项字母来回答
            [图片]

            答题时如果还要求指令,不利于抢答,破坏游戏节奏,用户体验差

            -> /一站到底 答题 A

            此时允许用户直接回复选项。等效于指令。(其实出题指令也可以用简化方式触发)

            -> A
            <- @回答者 回答错误QAQ
            正确答案是C

            2、闲聊功能。如果闲聊的条件简单,那就用contains等检测;如果闲聊的条件是正则的,那就用正则检测。

            3.2 阿米娅的闲聊

            • 当群员发言里包含“下班”,根据是否是工作时间(周一至周五9点至17点),阿米娅会做不同回复。

            • 当群员发言里包含“damedane”,阿米娅会播放音频。

            Orisland 1 条回复 最后回复 回复 引用 0
            • Orisland
              Orisland 摸鱼 @hundun000 最后由 编辑

              @hundun000 喔原来这样的吗,去看看佬的插件学习一下,正好这种QA指令我也需要。

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