Я создал слабого бота, который взаимодействует с моим java приложением. Всякий раз, когда бот получает сообщение в приватном чате или в качестве app_mention, я хочу, чтобы он отвечал на это сообщение. Я написал следующий сервис для получения сообщения:
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());
}
Когда я запускаю это на моей локальной машине, он работает нормально, но при развертывании В среде, бот отвечает без остановки.
Почему бот отвечает непрерывно?