MiraiForum

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

    请问事件通道怎么关闭?

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

      Listener<FriendMessageEvent> subscribe;
      
      @Override
      public void start() {
          subscribe = GlobalEventChannel.INSTANCE.subscribe(FriendMessageEvent.class, event -> {
              MessageChain message = event.getMessage();
              message.forEach(m -> {
                  if (m instanceof MessageContent) {
                      String str = m.contentToString();
                      event.getSubject().sendMessage(str);
                  }
              });
              return ListeningStatus.LISTENING;
          });
      }
      
      @Override
      public void stop() {
          System.out.println("结果==》" + subscribe.complete());
      }
      

      %(#55d929)[如果 handler 返回 ListeningStatus.STOPPED 监听器将被停止.
      也可以通过 subscribe 返回值 Listener 的 Listener.complete]

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