This commit is contained in:
2025-03-17 15:58:20 +01:00
parent 42a836204b
commit 2cd5e0bea9
2 changed files with 19 additions and 9 deletions

View File

@ -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<String> 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

View File

@ -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 );
}
}