escapar caracteres del Markdown
This commit is contained in:
@ -157,15 +157,45 @@ public class TelegramBot extends TelegramLongPollingBot {
|
||||
List<NewsArticle> noticias = scrapper.searchNews(query);
|
||||
|
||||
if (noticias.isEmpty()) {
|
||||
sendMessage(chatId, "No encontré noticias sobre: *" + query + "*");
|
||||
sendMessage(chatId, "No encontré noticias sobre: *" + escapeMarkdown(query) + "*");
|
||||
return;
|
||||
}
|
||||
|
||||
StringBuilder mensaje = new StringBuilder("📰 *Noticias sobre " + query + "*:\n\n");
|
||||
|
||||
sendMessage(chatId, "Analizando noticias...esto puede tardar un poco, ten paciencia...");
|
||||
StringBuilder mensaje = new StringBuilder("📰 *Noticias sobre " + escapeMarkdown(query) + "*:\n\n");
|
||||
for (NewsArticle noticia : noticias) {
|
||||
mensaje.append("🔹 [").append(noticia.getTitle()).append("](").append(noticia.getUrl()).append(")\n");
|
||||
mensaje.append("🔹 [")
|
||||
.append(escapeMarkdown(noticia.getTitle()))
|
||||
.append("](")
|
||||
.append(noticia.getUrl())
|
||||
.append(")\n");
|
||||
}
|
||||
|
||||
sendMessage(chatId, mensaje.toString());
|
||||
}
|
||||
|
||||
// Método para escapar caracteres especiales en Markdown
|
||||
private String escapeMarkdown(String text) {
|
||||
if (text == null) {
|
||||
return "";
|
||||
}
|
||||
return text.replace("_", "\\_")
|
||||
.replace("*", "\\*")
|
||||
.replace("[", "\\[")
|
||||
.replace("]", "\\]")
|
||||
.replace("(", "\\(")
|
||||
.replace(")", "\\)")
|
||||
.replace("~", "\\~")
|
||||
.replace("`", "\\`")
|
||||
.replace(">", "\\>")
|
||||
.replace("#", "\\#")
|
||||
.replace("+", "\\+")
|
||||
.replace("-", "\\-")
|
||||
.replace("=", "\\=")
|
||||
.replace("|", "\\|")
|
||||
.replace("{", "\\{")
|
||||
.replace("}", "\\}")
|
||||
.replace(".", "\\.")
|
||||
.replace("!", "\\!");
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user