Este artículo forma parte de la nueva sección de este blog Proyecto Agente Nova en Moltbook , un proyecto del que os hable en un artículo
anterior. Como Copilot y después Gemini se convirtieron en Nova: El inicio deagentenova_bot en Moltbook . Como describí en ese artículo introductorio al
proyecto, el objetivo trataba de crear un Agente IA y registrarlo en Moltbook,
la primera red social para Agentes IA y que el agente realizase sus funciones
de forma autónoma, todo ello sin instalar nada en el PC o dispositivo
utilizando herramientas y recursos gratuitos. Actualmente agentenova_bot está
funcionando de forma autónoma en la citada red social siendo monitorizada y
realizándose mejoras continuas. Todo ello como también se describe en el artículo
introductorio, con la gran ayuda de Nova C y Nova G.
En este primer paso trataremos las herramientas y plataformas que
necesitaremos para tener un Bot operativo en Telegram, así como todas las indicaciones
y recursos que puedas necesitar sin tener conocimientos de programación.
¿Qué necesitamos para comenzar?
Necesitas
una cuenta en Telegram, GitHub , Render y Groq ,
además de dos archivos que pondré a tu disposición a los largo de esta guía;
los enlaces de acceso están integrados en los nombres de cada plataforma que he
citado y lo haré también en los de cada parte para facilitarte el proceso.
Pulsando cada imagen se agrandará en pantalla completa.
1. La
Identidad — Crear el bot en Telegram (BotFather)
Vamos a comenzar con Telegram, para mayor
comodidad te recomiendo que hagas todo esto en PC y que tengas la aplicación
instalada según tu sistema operativo.
Abre Telegram y en el buscador escribe BotFather.
Asegúrate de seleccionar el que tiene el check
azul de verificación, como se muestra en la imagen. Si es la primera vez que
creas un bot, verás también su nombre de usuario oficial: @BotFather y una vez
seguros pulsamos en el.
Una vez iniciado debemos conversar con el escribiendo
en el chat /start y seguido /newbot, nos pedirá:
Un nombre publico (el
que verán los usuarios)
Un nombre de usuario único, que debe terminar en _bot .Ejemplo: nombre_bot
Es posible que algún nombre que elijas ya este
ocupado y tendrás que realizar alguna variación u optar por otro. Una vez
designados los nombres BotFather te entregara el API TOKEN algo asi :“una
serie de números:letras y números_letras y números”. Guárdalo en un lugar
seguro: lo necesitarás más adelante., aunque como ves en la composición de
imagen una vez avanzado el proceso podrás acceder a el volverlo a copiar y
pegar en un blok de notas o donde te parezca o si fuera necesario revocar y
automáticamente te asignará otro que podrás copiar, para acceder a ello se
pulsa en BotFather en el Boton abrir y después en tu Bot ya creado.
2. La Memoria — GitHub (el almacén del código)
Ahora
vamos a crear una cuenta en GitHub, pulsando el enlace integrado en el nombre.
Si tienes cuenta de Gmail es recomendable para todo el proceso. Una vez
finalizado el registro accederás a una ventana como muestra la composición de
imágen siguiente.
Veras un botón verde a la izquierda que pone “Create repository” ,
púlsalo y te llevara a una ventana donde configuraras tu repositorio de
archivos.
Escribe
sin espacios entre palabras el nombre de tu repositorio utilizando ( _ )
, como ves en mi ejemplo y rellena la descripción a tu gusto, el resto
déjalo por defecto como ves y pulsas el botón verde inferior a la derecha
Create repository , esto te dirigirá a la ventana que muestra la siguiente
imagen, donde solo debes pulsar en el enlace “creatting a new file”.
Ahora veras una ventana donde crearas tu primer archivo, con un espacio
para el nombre y otro para el contenido ( código ), de momento déjalo así que
te voy a proporcionar los archivos para que los copies y los pegues en el lugar
correspondiente.
Vas a necesitar dos archivos: requirements.txt, que es
simplemente la lista de cosas que necesita el proyecto para funcionar, y app.py,
que es el programa principal escrito en Python, que pone en marcha todo el
proyecto siempre que el resto de configuraciones estén correctamente
establecidas.
He preparado estos archivos en un repositorio para que solo tengas que
copiarlos y pegarlos fácilmente siguiendo estos pasos.
Abre o pega este enlace en una nueva pestaña de tu navegador y veras en
la pantalla lo que muestra la imagen siguiente:
https://github.com/teknoartia-ship-it/AgenteNova-Recursos-Paso1/blob/main/requirements.txt
Tienes que copiar el Nombre del archivo, requirements.txt
como se muestra en la imagen pulsando el icono indicado y pegarlo en la parte
correspondiente en la ventana de nuevo archivo de tu repositorio, como muestra
la imagen siguiente.
Regresas a la ventana del repositorio que te he compartido y haces lo mismo con el contenido del archivo. Cuando tengas el nombre y el contenido en tu repositorio, pulsas el botón verde que veras arriba a la derecha Commit changes, te saldrá una ventana en la que deberás pulsar de nuevo el botón verde, esto te dirigirá al siguiente paso como muestra la siguiente imagen.
En esta ventana pulsas
el botón Add file, en el desplegable
Create new file y te dirigirá a una
ventana como la anterior para crear tu app.py.
Regresamos a la
pestaña donde tienes abierto el repositorio del enlace que te compartí antes, y
pulsa en la columna de archivos a la izquierda en app.py , como te indica la
imagen, para que te muestre la vista del archivo cuyo nombre y contenido
copiaras como en el proceso anterior.
En el nuevo archivo de
tu repositorio, pegas primero nombre y luego contenido como muestra la imagen
siguiente.
Una vez pegado el
nombre y el archivo pulsa el botón verde Commit
change de la misma manera que con el anterior archivo y nos mostrará nuestro repositorio, con los archivos que necesitábamos ya creados, requirements.txt
y app.py, como muestra la
siguiente imagen.
Para acceder a alguno de los archivos para algún cambio, bastaría pulsar
sobre cualquiera de los nombres. Navegar por el repositorio es bastante
intuitivo y sencillo, pero aquí ya no necesitamos hacer nada, tenemos el bot de
Telegram creado y nuestro repositorio con los archivos necesarios.
3. La Inteligencia — Crear cuenta y obtener tu API Key
en Groq
Necesitamos inteligencia para nuestro bot, para eso nos vamos a registrar
en Groq pulsando el enlace integrado en el nombre y siguiendo los pasos que
muestra la siguiente composición de imagen.
Cuando accedas a la página de Groq, pulsa en el botón naranja superior a
la derecha Start Building, puedes crear cuenta si no la tienes con
Google o GitHub, como tienes abierto el repositorio te enlazará antes, seguramente te pida confirmación en tu correo, una vez creada tu cuenta te
llevará a la siguiente pantalla, como muestra la imagen a continuación que resume
el siguiente proceso.
Estamos en nuestro
panel de Groq, en el menú superior pulsamos APY Keys, en la pantalla API Keys
pulsamos el botón Create API Key, te llevara a una pantalla donde pondrás el nombre que tu quieras sin espacios entre palabras como hiciste con
el nombre de tu repositorio utilizando ( _ ).En Expiration asegúrate que
esté en No expiration y pulsas el botón Submit, que te dirigirá a
la ventana de tu API Key.
Muy importante cópiala con el botón Copy y pégala en lugar seguro junto a tu Token
de Telegram, Groq nunca te la volverá a mostrar completa. Cuando estés
seguro puedes dar al botón Done y
continuamos con el siguiente paso.
4. El Corazón — Render (el servidor que mantiene el proyecto vivo 24/7)
Ahora vamos a crear la cuenta en Render, pulsa sobre el enlace
integrado en el nombre. Cuando accedas a Render pulsa en Sign In y elige crear
cuenta con GitHub como muestra la siguiente composición de imagen.
Pasarás un proceso de confirmación que finalizara cuando confirmes el
enlace en tu correo, que te dirigirá a un formulario en dos partes. En el
comienzo del formulario pon el nombre que quieras y selecciona lo que ves en la
imagen siguiente.
En el primer formulario selecciona Personal proyects y Just me,
luego pulsa Next para el siguiente formulario, aquí selecciona AI–native
app , Side proyect y AI/ML, finalmente pulsar Next que
nos lleva a la ventana para crear un nuevo flujo de trabajo.
En esta ventana debes elegir Web Services y seguir las indicaciones que muestra la
siguiente composición de imágenes.
Después de pulsar en New Web
Service, selecciona GitHub para conectar tu repositorio. En
la ventana 3 elige All repositories
y pulsa Install. En la ventana
4, Render te pedirá verificar acceso via email. Una vez hecho esto, Render
mostrará tus repositorios: simplemente selecciona el que contiene tu proyecto.
Ahora vamos a proceder a la configuración inicial de nuestro Web
Service, siempre podremos después hacer modificaciones desde Settings y
Enviroment de nuestro panel, fíjate en la imagen a continuación y te
explico cómo debe hacerse esta configuración para que nuestra primera conexión
sea exitosa.
En la parte
superior de la página de configuración tendrás 7 campos que debes ponerlo de la
siguiente manera:
Name: Te aparecerá por
defecto el nombre de tu Web Service,
que lo tomará de tu repositorio. Puedes cambiar el nombre o dejarlo así, pero
muy importante cópialo y pégalo donde tienes, tu token etc.. guardados.
Language: Debería estar por
defecto – ( Python 3 ).
Branch: También por defecto –
( main ).
Region: En el desplegable
elige el más cercano a tu localización.
Root Directory: Es opcional no tocar,
aparecerá – ( e.g. src ).
Build Command: Por defecto debería
aparecer – ( pip install -r
requirements.txt ).
Start Comand: Debes poner esto copia
y pega lo que se encuentra entre los paréntesis:
( gunicorn app:app --timeout 120 --workers 1 --threads 1 ).
Si nos
desplazamos por la página hacia abajo vamos a configurar los últimos pasos de
nuestro Servicio Web lo veremos como muestra la imagen siguiente.
En las zonas para elegir plan selecciona Free.
Pasamos a una parte muy importante donde vamos a utilizar todo lo que te
dije anteriormente que guardaras en lugar seguro, vamos a configurar las
variables que establecerán la comunicación de lo que anteriormente hemos
trabajado.
En la parte de Enviroment Variables al principio encontraras un
casillero vacío a la izquierda donde se inserta la Key y otro a su derecha que
es el valor. Debajo veras un botón que pone +Add Enviroment Variable, que
tendras que pulsar sucesivamente para que al final las 5 Key y valores que
necesitamos.
Añadir Key = Valor:
GROQ_API_KEY = Tu Apy Key de Groq guardada en paso 3
NOMBRE_AGENTE = El que tu
decidas es como se dirigirá a ti en Telegram.
PYTHON_VERSION = 3.10.0
TOKEN_TELEGRAM = Tu Token de
Telegram que te dio BotFather en paso 1
URL_PROYECTO = https://nombre-web-service.onrender.com
Vamos a aclarar el valor de la última Key URL_PROYECTO, ya que aún no
está generada pero te voy a indicar como quedará si tomamos en cuenta el nombre
de tu Web Service, que te pedí
anteriormente que guardaras y figura al principio de la página donde estas
Ahora introduciendo estas variables, con la diferencia de que si tu nombre
llevaba para separar palabras guion bajo ( _ ) , ahora debe llevar guion medio
( - ).
Ejemplo si tu nombre de
Web Service es = primer_proyecto_agente
El valor URL_PROYECTO
= https://primer-proyecto-agente.onrender.com
Cuando estés bien seguro de que todo está bien
configurado, pulsas el botón de abajo Deploy
Web Service y el servicio se activara puede tardar unos minutos en los que
te indique que está realizando el deploy hasta que vea que queda como en la
imagen siguiente.

Si todo ha salido bien en el menú de Events veras Deploy live,
tu Web Service ya esta funcionando, en caso contrario habrá que revisar
las variables y la configuración anterior. Si hay algún error lo veremos más
adelante.
Con Deploy live busca tu bot en Telegram por el nombre público que le asignaste
en paso 1, en BotFather tendras la posibilidad de verlo de nuevo es su
chat contigo.
Una vez iniciado tu bot escribe en el chat /start, hola o lo que se te
ocurra, debería contestarte, aunque la primera vez puede tardar un poco, al
igual que cuando lleves tiempo sin hablar con el.
Revisando posibles errores.
Si pasado mucho tiempo el bot no responde aunque el Deploy indique live,
deberemos en primer lugar revisar la configuración y variables de nuevo accediendo
a ellas en los menús laterales como muestra la siguiente imagen.
La imagen muestra cómo podemos modificar, añadir y revisar las variables
que añadimos anteriormente accediendo en el
menú lateral a Enviroment. Para visualizar el valor de cada
variable pulsar el icono de ojo a la derecha de cada una. Para cualquier
modificación, se pulsa en Edit, veremos a la izquierda un botón para añadir mas
variables y a la derecha un botón Save, rebuild an deploy, que deberemos
pulsar después de cada modificación.
Es aconsejable cuando se han realizado muchos cambios, en lugar de dejar
que el deploy se realice en automatico, hacerlo manual limpiando cache como se
ve en la imagen, botón Manual Deploy, y en el desplegable pulsar en Clear
build cache & deploy.
La imagen también te muestra donde puedes copiar el valor de la Key URL_PROYECTO.
Asegúrate de que todas las Key y sus valores están
bien escritos, sin espacios extra y sin confundir guiones bajos con guiones
medios. Si cambias algo, pulsa Save, rebuild and deploy
En el menú lateral ve a Settings y verifica los valores anteriores
que coincidan exactamente con los que vimos anteriormente en la configuración
inicial de Web Service, principalmente Start Command.
Revisar errores en los nombres o contenido de los archivos de Github.
Cuando Render está en
Deploy live pero el bot no responde, además de revisar la configuración y las
variables, conviene comprobar si Telegram se está comunicándose con tu
servidor. Para ello puedes abrir en el navegador:
https://api.telegram.org/bot[TOKEN]/getWebhookInfo
Sustituyendo [TOKEN]
por el tuyo, sin [ ]. Si el webhook está bien configurado verás la URL de tu proyecto;
si aparece vacío o con errores, Telegram no está enviando nada.
Si necesitas volver a
establecer el webhook, usa:
https://api.telegram.org/bot[TOKEN]/setWebhook?url=https://tu-web-service.onrender.com/[TOKEN]
Sustituyendo [TOKEN]
por el tuyo sin [ ]. Si la respuesta indica que el webhook se ha establecido,
Telegram ya está apuntando correctamente a tu servidor.
Espero
que todo haya salido bien y estés disfrutando de tu primer bot en Telegram, es
una primera versión básica y estable, a la que le podrían dar más
funcionalidades, respecto a Telegram en el archivo app.py, pero lo que veremos
más adelante en los siguientes artículos es a darle mas sociabilidad a ese
código y que se registre en Moltbook. Estáis invitados a participar con
vuestros comentarios aquí en el blog o en el grupo de Facebook TeKnoArtia - TKA
, donde iré anticipando información en los comentarios.