MiraiForum

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

    Solved 如何获取引用的信息源?

    开发交流
    command reply java message
    2
    6
    168
    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.
    • Orisland
      Orisland 摸鱼 last edited by Orisland

      例如:
      254d9987-d6ca-417f-9df1-f0f97fe8ddfa-image.png
      我希望得到该信息中引用的信息的具体内容。

      @Handler
          public void quoteBack(CommandSenderOnMessage sender){
              System.out.println(sender.getFromEvent().getMessage().contentToString());
              QuoteReply reply = new QuoteReply(sender.getFromEvent().getSource());
              MessageChain chain = sender.getFromEvent().getSource().getOriginalMessage();
              System.out.println(reply.toString());
              System.out.println(chain.get(0));
              System.out.println(chain.toString());
              if (sender.getFromEvent().getMessage().contentToString().contains("quote")){
                  sender.sendMessage("back");
              }
          }
      

      sender.getFromEvent().getSource().getOriginalMessage();
      new QuoteReply(sender.getFromEvent().getSource());
      该代码似乎并无法达成目的。
      它只会返回如下内容:
      c0d141d3-92e7-4f29-b705-c705c2fc8b90-image.png e9ba4d34-2304-4819-9ee1-0bc45f018cf2-image.png
      有什么办法解决吗?

      1 Reply Last reply Reply Quote 0
      • Orisland
        Orisland 摸鱼 last edited by Orisland

        具体做法如下:

        public void function(CommandSenderOnMessage sender) throws IOException {
                QuoteReply reply = sender.getFromEvent().getMessage().get(QuoteReply.Key);
                MessageChain chain = reply.getSource().getOriginalMessage();
                do something...
            }
        

        或者全写一起,

        public void function(CommandSenderOnMessage sender) throws IOException {
                MessageChain chain = sender.getFromEvent().getMessage().get(QuoteReply.Key).getSource().getOriginalMessage();
                do something...
            }
        
        1 Reply Last reply Reply Quote 0
        • Karlatemp
          Karlatemp last edited by

          要获取真实内容请使用新加的获取历史消息

          Orisland 1 Reply Last reply Reply Quote 0
          • Karlatemp
            Karlatemp last edited by

            reply.getSource()

            Orisland 1 Reply Last reply Reply Quote 1
            • Orisland
              Orisland 摸鱼 @Karlatemp last edited by

              @karlatemp
              新加的历史信息指的是?

              1 Reply Last reply Reply Quote 0
              • Orisland
                Orisland 摸鱼 @Karlatemp last edited by

                @karlatemp
                是指这样吗?
                f0e140a2-f835-4697-a9c9-dd76c059c89b-image.png
                该指令的结果
                36a5061e-4d37-46fa-8cd0-4be9ea21e9ac-image.png

                1 Reply Last reply Reply Quote 0
                • Orisland
                  Orisland 摸鱼 last edited by Orisland

                  具体做法如下:

                  public void function(CommandSenderOnMessage sender) throws IOException {
                          QuoteReply reply = sender.getFromEvent().getMessage().get(QuoteReply.Key);
                          MessageChain chain = reply.getSource().getOriginalMessage();
                          do something...
                      }
                  

                  或者全写一起,

                  public void function(CommandSenderOnMessage sender) throws IOException {
                          MessageChain chain = sender.getFromEvent().getMessage().get(QuoteReply.Key).getSource().getOriginalMessage();
                          do something...
                      }
                  
                  1 Reply Last reply Reply Quote 0
                  • 1 / 1
                  • First post
                    Last post
                  Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact