Bot de Telegram en Java: por dónde empezar y cómo no rendirse a mitad de camino
¿Alguna vez has querido escribir tu propio bot de Telegram, pero pensaste que era demasiado complicado? Me apresuro a alegrarte: crear un bot de Telegram en Java es una tarea que incluso un principiante puede manejar. Sin magia, solo un plan claro y un poco de código.
En esta guía, recorreremos todo el camino desde el registro del bot en Telegram hasta la publicación de la aplicación terminada. Aprenderás cómo conectar la librería TelegramBots, procesar comandos, enviar mensajes y evitar errores típicos. Al final, tendrás una plantilla lista que podrás adaptar a tus necesidades.
¿Por qué Java? Este lenguaje ofrece estabilidad, rendimiento y una gran cantidad de soluciones ya preparadas. Para un bot de Telegram en Java no necesitas instalar decenas de dependencias; todo cabe en un solo proyecto Maven/Gradle. ¡Allá vamos!
Paso 1: Registro del bot y obtención del token
Antes de escribir código, necesitas "crear" el bot. Esto se hace a través del bot principal de Telegram: BotFather.
Inicia BotFather en Telegram y envía el comando:
/newbotLuego sigue las instrucciones: inventa un nombre (será visible para los usuarios) y un username (debe terminar en _bot). Después de la creación exitosa, recibirás un token, una cadena larga como esta:
1234567890:ABCdefGHIjklmNOPqrstUVwxyz-1234567Importante: el token es la clave de tu bot. No se lo muestres a nadie, no lo subas a repositorios públicos. Es mejor almacenarlo en variables de entorno o archivos de configuración.
Paso 2: Creación del proyecto y conexión de dependencias
Usaremos Maven; es conveniente y estándar para proyectos Java. Si prefieres Gradle, el principio es el mismo, solo reescribe las dependencias en tu formato.
Crea un proyecto Java normal en tu IDE (IntelliJ IDEA, Eclipse o NetBeans) y abre el archivo pom.xml. Agrega la siguiente dependencia:
<dependency> <groupId>org.telegram</groupId> <artifactId>telegrambots</artifactId> <version>6.9.7.1</version></dependency>Esta librería, TelegramBots, es la más popular para crear bots en Java. Soporta todas las funciones principales: envío de mensajes, imágenes, botones, trabajo con modo Inline y Webhooks.
Después de agregar la dependencia, ejecuta mvn clean install o actualiza el proyecto en el IDE para descargar la librería.
Paso 3: Escribimos el primer bot — clase base
Crea una clase que herede de TelegramLongPollingBot. Esta clase se encargará de recibir actualizaciones de los servidores de Telegram. Aquí tienes la estructura mínima:
import org.telegram.telegrambots.bots.TelegramLongPollingBot;import org.telegram.telegrambots.meta.api.objects.Update;import org.telegram.telegrambots.meta.exceptions.TelegramApiException;
public class MySimpleBot extends TelegramLongPollingBot {
@Override public String getBotUsername() { return "YourBotUsername"; // sin @ }
@Override public String getBotToken() { return "YOUR_TOKEN_HERE"; }
@Override public void onUpdateReceived(Update update) { // Aquí procesaremos los mensajes if (update.hasMessage() && update.getMessage().hasText()) { String messageText = update.getMessage().getText(); long chatId = update.getMessage().getChatId(); System.out.println("Mensaje recibido: " + messageText + " del chat: " + chatId); } }}Por ahora, el bot solo registra los mensajes entrantes. Agreguemos una acción de respuesta.
Paso 4: Enviamos una respuesta — el bot comienza a hablar
Para que el bot responda, usamos la clase SendMessage. Agreguemos el procesamiento del com