Slackbot chat.postMessage отправка сообщений без перерыва - PullRequest
0 голосов
/ 11 января 2020

Я создал слабого бота, который взаимодействует с моим 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());
        }

Когда я запускаю это на моей локальной машине, он работает нормально, но при развертывании В среде, бот отвечает без остановки.

Почему бот отвечает непрерывно?

...