Java Slackbot chat.postMessage不间断地发布消息

Java Slackbot chat.postMessage不间断地发布消息,java,chatbot,resttemplate,slack,slack-api,Java,Chatbot,Resttemplate,Slack,Slack Api,我创建了一个slack机器人,它与我的java应用程序交互。每当机器人在私人聊天或应用程序中收到消息时,我希望它回复该消息。我编写了以下服务以接收消息: ObjectNode objectNode = objectMapper.createObjectNode(); if (!StringUtils.isEmpty(eventDto.getChallenge())) { objectNode.put("challenge", eventDt

我创建了一个slack机器人,它与我的java应用程序交互。每当机器人在私人聊天或应用程序中收到消息时,我希望它回复该消息。我编写了以下服务以接收消息:

        ObjectNode objectNode = objectMapper.createObjectNode();
        if (!StringUtils.isEmpty(eventDto.getChallenge())) {
            objectNode.put("challenge", eventDto.getChallenge());
        } else if (eventDto.getEvent().has("type")
                && "message".equalsIgnoreCase(eventDto.getEvent().get("type").asText())) {
            objectNode.put("text", "Bot called in a private chat.");
            objectNode.put("channel", eventDto.getEvent().get("channel").asText());
            slackWebApiService.postMessageInChat(botAuthToken, objectNode);
        } else {
            objectNode.put("text", "Bot is called in a channel");
            objectNode.put("channel", eventDto.getEvent().get("channel").asText());
            slackWebApiService.postMessageInChat(botAuthToken, objectNode);
        }
        return objectNode;
    }
SlackWebApiService.postMessageInChat如下所示:

        requestHeader.add("Authorization", "Bearer " + token);
        requestHeader.add("Content-Type", MediaType.APPLICATION_JSON_VALUE);

        HttpEntity<ObjectNode> requestEntity = new HttpEntity<>(message, requestHeader);
        try {
            ResponseEntity<ObjectNode> responseFromSlack = restTemplate.exchange(
                    "https://slack.com/api/chat.postMessage", HttpMethod.POST, requestEntity, ObjectNode.class);
            log.info("[postMessageInChat], response: {}", responseFromSlack.getBody().asText());
        } catch (Exception e) {
            log.error("[postMessageInChat] ", e.getMessage());
        }
requestHeader.add(“授权”、“承载人”+令牌);
添加(“内容类型”,MediaType.APPLICATION\u JSON\u值);
HttpEntity requestEntity=新的HttpEntity(消息,requestHeader);
试一试{
ResponseEntity responseFromSlack=restTemplate.exchange(
"https://slack.com/api/chat.postMessage,HttpMethod.POST,requestEntity,ObjectNode.class);
log.info(“[postMessageInChat],响应:{}”,responseFromSlack.getBody().asText());
}捕获(例外e){
log.error(“[postMessageInChat]”,e.getMessage());
}
当我在本地机器上运行此程序时,它工作正常,但在将其部署到环境中时,bot会不停地响应


为什么bot会持续应答?

我没有详细查看您的代码,但这可能是与本例相同的原因吗?有道理,我会试试这个。谢谢@ErikKalkoken