Java 电报用户不';无法从bot接收消息

Java 电报用户不';无法从bot接收消息,java,activemq,telegram-bot,Java,Activemq,Telegram Bot,我的电报机器人有问题。我使用activeMQ分别发送新闻消息和聊天消息(超过100000条消息)。我看到新闻消息成功地排队,但并没有用户收到任何新闻。它在测试(400个用户)时运行良好,但在生产中不起作用 将消息发送到电报后,我有分析响应的代码: private boolean analizeResponse(List<NameValuePair> payload, HttpResponse response) throws IOException { HttpEnt

我的电报机器人有问题。我使用activeMQ分别发送新闻消息和聊天消息(超过100000条消息)。我看到新闻消息成功地排队,但并没有用户收到任何新闻。它在测试(400个用户)时运行良好,但在生产中不起作用

将消息发送到电报后,我有分析响应的代码:

private boolean analizeResponse(List<NameValuePair> payload, HttpResponse response) throws IOException {
        HttpEntity entity = response.getEntity();
        boolean result = response.getStatusLine().getStatusCode() == 200;
        log.info("Response status Code is: " + response.getStatusLine().getStatusCode());

        if (entity != null) {
            BufferedReader in = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"));
            String inputLine;
            StringBuilder content = new StringBuilder();

            while ((inputLine = in.readLine()) != null) {
                content.append(inputLine);
            }
            in.close();

            if (response.getStatusLine().getStatusCode() == 403 && content.toString().contains("Forbidden: bot was blocked by the user")) {
                new TelegramUserDao().unsubscribeUser(payload.stream().filter(pair -> pair.getName().equals("chat_id")).collect(Collectors.toList()).get(0).getValue());
            }
        }
        return result;
    }

电报发送者。发送消息(电报正文);方法返回我在analizeResponse方法中获得的值。ActiveMQ队列每秒钟减少一次,我认为电报中有200个状态码,否则我错了

电报可能会阻止您,因为您达到了某些限制,请检查日志中的errorCode=429,errorMessage=“请求太多:请稍后重试,但如果我收到429错误代码,则与bot聊天的用户中没有一个没有收到任何消息?您从电报中得到的响应是什么?”?请分享更多具体细节好吗?日志回应?那你送一次吗?或者,您可以随着时间的推移单独执行此操作?我由生产者推送activemq队列中的所有消息,然后由activemq使用者在while循环中接收它们,并将其发送给电报用户。如果我有200个状态码,我会执行message.acknowledge()。在activemq web控制台中,我看到队列正在减少。
            connection = factory.createConnection();
            connection.start();
            connection.setExceptionListener(this);
            session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
            Destination destination = session.createQueue(queueName);
            consumer = session.createConsumer(destination);
...

                result = telegramSender.sendMessage(telegramBody);
                }
                if (result) {
                    sent++;
                    message.acknowledge();
                } else {
                    noSent++;
                }
                int count = message.getIntProperty(DELIVERY_COUNT);
                if (count >= MAX_REDELIVERY) {
                    message.acknowledge();
                    log.warn("news : " + news.getId() + " isn't send to user : " + newsLetter.getUserId());
                }