2016-11-26 8 views
0

jslack:https://github.com/seratch/jslack RTMライブラリを使用してメッセージを送受信しようとしています。しかし、なぜrtmClient.sendMessage("Hello WOrld");がスラックボットにメッセージを送信していないのか分かりませんが、ボットに正常に接続することはできます。 私は間違っています。jslackのRTMライブラリを使用してスラックと通信する

 JsonParser jsonParser = new JsonParser(); 
     try (RTMClient rtmClient = new Slack().rtm("xoxwerq-12632550058135")) { 

      rtmClient.addMessageHandler((message) -> { 
       JsonObject json = jsonParser.parse(message).getAsJsonObject(); 
       if (json.get("type") != null) { 
        log.info("Handled type: {}", json.get("type").getAsString()); 
        //System.out.println("working"); 
       } 
       }); 

       RTMMessageHandler handler2 = (message) -> { 
        log.info("Hello!"); 
        //Logger.debug("client connected to the server: {}", wssUri); 

       // System.out.println("got it"); 
        }; 

       //rtmClient.addMessageHandler(RTMMessageHandler messageHandler); 

        rtmClient.addMessageHandler(handler2); 

        // must connect within 30 seconds after issuing wss endpoint 
        try { 
        rtmClient.connect(); 
        rtmClient.sendMessage("Hello WOrld"); 
        Thread.sleep(5000); 

        System.out.println("Bot started!!!!!!"); 
        //rtmClient.addMessageHandler(handler2); 
        //Thread.sleep(5000); 

       } catch (DeploymentException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 

       rtmClient.removeMessageHandler(handler2); 
     }` 
+0

私はこれがあなたの本当のトークンではないことを願っています:)それが無効になっている場合は、この投稿から削除してください。 –

+0

エラー/例外があれば追加することができます。 –

+0

いいえ、それは私の本当のトークンではありません... –

答えて

0

私は、sendMessageメソッドを使用する方法が不明です。私は試してみましたが、ボットチャンネルにメッセージを投稿しません。

ここでは、特定のチャンネルにメッセージを投稿するときに使用します。ボットの返事の場合、ボットのメッセージからチャンネルIDを取得します:

private void postMessage(String channel, String message) { 
     try { 
      // https://slack.com/api/chat.postMessage 
      ChatPostMessageResponse postResponse = 
        slack.methods().chatPostMessage(ChatPostMessageRequest.builder().token(token) 
          .channel(channel).text(message).build()); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
関連する問題