如何让我的TelegramBot连续发送几条消息?

时间:2017-09-26 18:41:07

标签: java telegram telegram-bot

我制作了一个TelegramBot,它将计算我的范围,其中一个功能应该是计算特定时间段的费用并显示这些费用。我使用的是MySQL DB,所以我在查询它的工作原理,但是TelegramAPI的sendMessage允许发送最大长度为4096UTF-8字符的消息,如果我有大数据库,这可能是不够的。那么如何让机器人发送几条消息呢? E.g。

 public SendMessage onGetExpensesCommand(Message message, String[] dateFrames){
    SendMessage returnMessage = new SendMessage();
    returnMessage.setText(getExpensesFromDB(String[] dateFrames));//queries DB
    returnMessage.setReplyToMessageId(message.getMessageId());
    returnMessage.setChatId(message.getChatId().toString());
    return returnMessage;
}

稍后发送消息。

1 个答案:

答案 0 :(得分:1)

我不知道java,但我在python中为它做了一个很好的功能。 我构建了消息字符串。一个消息字符串完成后,我创建一个列表,然后我将这个长消息分成许多小的(电报允许的最大大小)消息,并将它们添加到列表中。

最后我运行一个for循环,我使用sendMessage方法逐个发送所有这些。我在它们之间添加一段时间睡眠以确保不会达到电报洪水限制。

我在变量中存储第一个发送的消息,一旦循环结束,我发送一条消息“点击此处转到第一条消息”以回复第一个发送的消息。

唯一困难的部分是你必须处理格式化