MiraiForum

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

    已解决 Mirai怎么在通道中关闭当前监听通道?

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

      监听群消息,如果有人发了关闭,则直接关闭这个GlobalEventChannel,那if肯定得在GlobalEventChannel中写吧,但是怎么在GlobalEventChannel中关闭监听呢|

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

        是在 整个GlobalEventChannel 里面 return ListeningStatus.STOPPED;就可以吗?

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

          是在 整个GlobalEventChannel 里面 return ListeningStatus.STOPPED;就可以吗?

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

            一个方法是增加一个 Job:

            val job = SupervisorJob()
            val eventChannel = GlobalEventChannel.parentContext(job)
            
            eventChannel.subscribe...
            
            job.cancel() // 取消全部监听
            

            另一个方法就是你说的在监听器里 return STOPPED。但这个方法可能比上面那个方法麻烦一些。

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