En este tutorial práctico veremos cómo crear desde cero un bot de Discord potenciado por IA que responda a mensajes y mantenga conversaciones naturales usando Ollama, una solución que ejecuta modelos de IA de forma local. Además incluimos recomendaciones para desplegarlo, personalizar su personalidad y opciones para escalarlo, y explicamos cómo Q2BSTUDIO puede ayudarte si prefieres externalizar el desarrollo o integrar capacidades avanzadas como inteligencia artificial para empresas, ciberseguridad y servicios cloud.
Sobre Q2BSTUDIO: somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida, especialistas en inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y soluciones a medida como agentes IA y automatizaciones. Si quieres profundizar en cómo integrar IA en tu negocio visita nuestra página de servicios de inteligencia artificial IA para empresas o conoce nuestras soluciones de desarrollo de aplicaciones y software a medida en software a medida y aplicaciones a medida.
Resumen de lo que obtendrás: un bot capaz de responder menciones y comandos, conversacional y ejecutándose sobre un modelo local con Ollama, sin necesidad de enviar datos a servicios externos, ideal para empresas que valoran la privacidad y el control.
Requisitos previos: Python 3.8 o superior, una cuenta de Discord para crear la aplicación, Ollama instalado en el equipo que hospedará el modelo y un editor o IDE de tu preferencia.
Parte 1 Crear la aplicación de bot en Discord: accede al portal de desarrolladores de Discord, crea una nueva aplicación y en la pestaña Bot habilita los intents privilegiados Presence Intent, Server Members Intent y Message Content Intent. Guarda los cambios. Genera y copia el token en un fichero .env para que solo tú lo veas. Invita el bot a tu servidor usando OAuth2 con los scopes bot y applications.commands y concede permisos básicos como Send Messages, Send Messages in Threads, Read Message History, View Channels, Use Slash Commands y Add Reactions.
Parte 2 Instalar Ollama: Ollama permite ejecutar modelos en local sin costes de API y con privacidad total. Instala según tu sistema operativo: en mac ejecuta brew install ollama; en Linux ejecuta curl -fsSL https://ollama.ai/install.sh | sh; en Windows descarga el instalador desde la web de Ollama. Inicia el servidor local con el comando ollama serve y mantén ese terminal abierto mientras el bot esté en funcionamiento. Descarga un modelo, por ejemplo llama3.1 con ollama pull llama3.1 y prueba con ollama run llama3.1 para asegurarte de que responde correctamente.
Parte 3 Entorno Python y dependencias: crea y activa un entorno virtual con python3 -m venv env y luego source env/bin/activate en mac o linux o env\\Scripts\\activate en Windows. Instala las librerías necesarias con pip3 install py-cord requests python-dotenv. py-cord es la librería para Discord, requests se usa para hablar con Ollama y python-dotenv carga variables de entorno como el token.
Parte 4 Configuración del token: crea un fichero .env en la raíz del proyecto con la línea DISCORD_TOKEN=TU_TOKEN_AQUI sustituyendo TU_TOKEN_AQUI por el token real. Mantén ese fichero privado y no lo subas a repositorios públicos.
Parte 5 Lógica general del bot: la idea básica es que el bot reciba mensajes o menciones, envíe el texto como prompt al endpoint local de Ollama en https://localhost:11434/api/generate y devuelva la respuesta generada. Conceptualmente la función que comunica con Ollama prepara un payload con el nombre del modelo, el prompt, stream en false y opciones como temperature y num_predict para controlar creatividad y longitud máxima. temperature regula creatividad (valores entre 0.0 y 1.0) y num_predict controla la longitud en tokens. Maneja errores por si Ollama no está corriendo o si hay problemas de conexión.
Eventos importantes: on_ready muestra en consola que el bot está conectado; on_message evita responder al propio bot y a otros bots, detecta menciones y procesa el texto para enviar a la IA; además es recomendable procesar los comandos con process_commands para que comandos tipo chat funcionen correctamente. Un comando útil es chat que permite usar un prefijo como !chat seguido del mensaje y devuelve la respuesta de la IA mostrando previamente el estado typing para mayor naturalidad.
Parte 6 Ejecución: asegúrate de que ollama serve está en ejecución y lanza el bot con python3 bot.py. En consola verás mensajes indicando que el bot está online y listo para recibir interacciones. Prueba mencionándolo en un canal o usando el comando !chat.
Personalización y mejores prácticas: puedes modificar la personalidad del bot mediante un system prompt, ajustar num_predict para respuestas más largas, cambiar temperature para respuestas más creativas y añadir funciones como respuestas a mensajes directos, manejo de contexto mediante almacenamiento en base de datos, reacciones automáticas o integración con otras API. Para producción limita los intents a los estrictamente necesarios por seguridad.
Despliegue 24/7: si necesitas disponibilidad continua puedes mantener un equipo local encendido o desplegar en la nube. Si eliges la nube, proveedores populares para hospedar tu servicio son Digital Ocean, AWS o Azure; en Q2BSTUDIO ofrecemos soporte y servicios cloud aws y azure para desplegar y monitorizar aplicaciones y modelos de IA con buenas prácticas de seguridad y escalado, consulta nuestras opciones de servicios cloud si te interesa una solución gestionada.
Proyectos y pasos siguientes: ideas para evolucionar el bot incluyen integrar bases de datos para recordar preferencias, usar varios modelos para tareas diferentes, generación de imágenes con modelos compatibles, soporte de canales de voz, panel web de control, entrenamiento de modelos personalizados y despliegue multi servidor. También puedes aprovechar soluciones de inteligencia de negocio y visualización como power bi si quieres analizar interacciones y métricas, para eso en Q2BSTUDIO trabajamos con soluciones de Business Intelligence y Power BI que facilitan la toma de decisiones basadas en datos reales.
Seguridad y privacidad: al ejecutar modelos en local con Ollama mantienes las conversaciones en tu infraestructura, reduciendo riesgos. Sin embargo también es importante aplicar controles de acceso, auditoría y, si procede, pruebas de ciberseguridad y pentesting para proteger el entorno del bot, servicios que ofrecemos en nuestra área de ciberseguridad.
Servicios que podemos aportar: si prefieres externalizar el desarrollo o quieres integrar agentes IA avanzados, automatizaciones y soluciones a medida contamos con experiencia en proyectos empresariales de IA, desarrollo de aplicaciones y servicios cloud. Podemos ayudarte desde la definición del caso de uso hasta el despliegue en producción, integración con Power BI y cumplimiento de seguridad y privacidad.
Conclusión: con Ollama y Python puedes montar un bot de Discord que use modelos locales para mantener conversaciones privadas y rápidas; combinando buenas prácticas de desarrollo, seguridad y despliegue puedes escalarlo para uso empresarial. Si necesitas apoyo técnico, integración o desarrollo a medida contacta con Q2BSTUDIO y te asesoramos en la mejor arquitectura según tus necesidades.