MiraiForum

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

    机器人自己发送的消息,MessageEvent事件监听不到

    BUG反馈
    2
    4
    617
    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.
    • 2
      2446694 last edited by

      使用组件:Mirai-core 2.15-M1

      前因

      我想要将数据存储到数据库中,以从别人的引用消息中获取原数据
      但是当别人引用除机器人以外其他消息是,数据库可以查询到
      当别人引用机器人发的消息时,数据库查询不到

      控制台输出,发现机器人并没有将自己发送的消息存储到数据库

      于是我尝试使用MessagePostSendEvent事件,将原数据添加到数据库中
      但MessagePostSendEvent并不附带MessageSource,所以无法获取ids等信息

      我想要

      希望修复这个bug,让MessageEvent可以监听到机器人自己发送的消息

      PS:我测试用其他设备发送消息,MessageEvent可以监听到,但就是监听不到Mirai自己发的消息

      1 Reply Last reply Reply Quote 0
      • cssxsh
        cssxsh last edited by cssxsh

        MessagePostSendEvent.receipt.source

        2 2 Replies Last reply Reply Quote 1
        • 2
          2446694 @cssxsh last edited by

          @cssxsh 牛啦,这是我的实现

              private void messagePostSendEventListener() {
                  logger.info("MessagePostSendEventListener Running");
                  GlobalEventChannel.INSTANCE.subscribeAlways(MessagePostSendEvent.class, event -> {
                      logger.info("MessagePostSendEvent...");
                      // 这里新构造了一个带source的chain,存储到数据库中
                      MessageChain chain = Objects.requireNonNull(event.getReceipt()).getSource().plus(event.getMessage());
                      if (!chainService.insertMessageChain(new MessageChainData(chain)))
                          logger.warn("存储失败: " + chain.contentToString());
                  });
              }
          
          1 Reply Last reply Reply Quote 0
          • 2
            2446694 @cssxsh last edited by

            This post is deleted!
            1 Reply Last reply Reply Quote 0
            • 1 / 1
            • First post
              Last post
            Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact