diff --git a/bot/src/main/java/es/imunnic/inversionitasBot/TelegramBot.java b/bot/src/main/java/es/imunnic/inversionitasBot/TelegramBot.java index 300e86a..03fda8b 100644 --- a/bot/src/main/java/es/imunnic/inversionitasBot/TelegramBot.java +++ b/bot/src/main/java/es/imunnic/inversionitasBot/TelegramBot.java @@ -26,6 +26,9 @@ public class TelegramBot extends TelegramLongPollingBot { private String BOT_TOKEN = "7626026035:AAHEMp_iIN3y8AwywL0R6OTQvNi7EcJZ0iY"; protected String CHAT_ID = "-1002289752202"; + protected Integer THREAD_INDICES = 138; + protected Integer THREAD_NOTICIAS = 137; + @Override public String getBotUsername() { @@ -52,18 +55,25 @@ public class TelegramBot extends TelegramLongPollingBot { } protected void sendMessage(String chatId, String text) { - // Primero dividimos el mensaje si es necesario + sendMessage(chatId, text, null); // Llama al otro método sin threadId + } + + protected void sendMessage(String chatId, String text, Integer threadId) { List partes = dividirMensaje(text); - // Enviar cada parte por separado for (String parte : partes) { SendMessage sendMessage = new SendMessage(); - sendMessage.setChatId(chatId); // Asumiendo que ya tienes un chatId + sendMessage.setChatId(chatId); sendMessage.setText(parte); - sendMessage.setParseMode("MarkdownV2"); // Usamos MarkdownV2, pero también puedes usar HTML si lo prefieres + sendMessage.setParseMode("MarkdownV2"); + + // Agregar el ID del tema si es distinto de null + if (threadId != null) { + sendMessage.setMessageThreadId(threadId); + } try { - execute(sendMessage); // Usando el método execute() de Telegram para enviar el mensaje + execute(sendMessage); } catch (TelegramApiException e) { e.printStackTrace(); } @@ -90,7 +100,7 @@ public class TelegramBot extends TelegramLongPollingBot { String pie = "\n📢 Mañana volveremos con más información"; // Enviar el encabezado primero - sendMessage(chatid,encabezado); + sendMessage(chatid,encabezado,this.THREAD_NOTICIAS); // Enviar los mensajes para cada keyword for (int i = 0; i < keywords.size(); i++) { @@ -112,11 +122,11 @@ public class TelegramBot extends TelegramLongPollingBot { } // Enviar el mensaje para la palabra clave - sendMessage(chatid, mensaje.toString()); + sendMessage(chatid, mensaje.toString(),this.THREAD_NOTICIAS); } // Enviar el pie al final - sendMessage(chatid, pie); + sendMessage(chatid, pie,this.THREAD_NOTICIAS); } // Función para dividir el mensaje si excede el límite de caracteres de Telegram diff --git a/bot/src/main/java/es/imunnic/inversionitasBot/TelegramController.java b/bot/src/main/java/es/imunnic/inversionitasBot/TelegramController.java index 822ec8d..1682ae8 100644 --- a/bot/src/main/java/es/imunnic/inversionitasBot/TelegramController.java +++ b/bot/src/main/java/es/imunnic/inversionitasBot/TelegramController.java @@ -18,7 +18,7 @@ public class TelegramController { "*💰 Valor Actual:* `" + request.getValorActual() + "`\n" + "*📉 Cambio:* `" + request.getCambio() + "`\n" + "*📈 Cambio\\(%%\\):* `" + request.getPorcentaje() + "`"; - telegramBot.sendMessage(telegramBot.CHAT_ID, mensaje ); + telegramBot.sendMessage(telegramBot.CHAT_ID, mensaje, telegramBot.THREAD_INDICES ); } }