JajaBot es un bot de Discord que consume una API de chistes y los comparte en tu servidor de Discord.
Link para añadirlo a tu servidor: Bot para Discord
¡Puedes colaborar añadiendo más chistes en https://jaja.raupulus.dev antes de que se te olviden!
- Obtener chistes aleatorios por tipo o grupo
- Fácil de desplegar con Docker o venv
- Extensible para añadir nuevos comandos
- Python 3.13 o superior (si no usas Docker)
- Docker y Docker Compose (opcional, para despliegue con contenedores)
- Token de bot de Discord
- URL de la API de chistes
- Ve a Discord Developer Portal
- Haz clic en "New Application" y dale un nombre
- Ve a la sección "Bot" y haz clic en "Add Bot"
- Bajo la sección "TOKEN", haz clic en "Copy" para copiar tu token
- En la sección "Privileged Gateway Intents", activa "MESSAGE CONTENT INTENT"
- Guarda los cambios
- En el portal de desarrolladores, ve a la sección "OAuth2" > "URL Generator"
- En "SCOPES", selecciona "bot"
- En "BOT PERMISSIONS", selecciona:
- Read Messages/View Channels
- Send Messages
- Embed Links
- Copia la URL generada y ábrela en tu navegador
- Selecciona el servidor al que quieres añadir el bot y confirma
- Crea un archivo
.envbasado en el archivo.env.example:cp .env.example .env
- Edita el archivo
.envy añade tu token de Discord y la URL de la API de chistes:DISCORD_TOKEN=tu_token_aquí JOKES_API_URL=https://raupulus.dev/api/v1 JOKES_API_KEY=your_api_key_here
- Asegúrate de tener Docker y Docker Compose instalados
- Ejecuta el bot con:
docker-compose up -d
- Para ver los logs:
docker-compose logs -f
- Para detener el bot:
docker-compose down
- Crea un entorno virtual:
python3.13 -m venv .venv
- Activa el entorno virtual:
- En Linux/macOS:
source .venv/bin/activate - En Windows:
.venv\Scripts\activate
- En Linux/macOS:
- Instala las dependencias:
pip install -r requirements.txt
- Ejecuta el bot:
python main.py
- Para desactivar el entorno virtual cuando termines:
deactivate
!chiste- Muestra la ayuda del comando chiste!chiste random- Obtiene un chiste aleatorio por tipo!chiste dev- Obtiene un chiste aleatorio del grupo de desarrolladores!chiste lepe- Obtiene un chiste aleatorio del grupo de Lepe!chiste malo- Obtiene un chiste aleatorio del grupo de Malos!chiste infantil- Obtiene un chiste aleatorio del grupo de Infantiles!chiste @username- Obtiene un chiste aleatorio subido por el usuario especificado!chiste add [contenido]- Envía una sugerencia de contenido directamente a la API!colaborar- Muestra información sobre cómo contribuir con tus propios chistes!help- Muestra la lista de comandos disponibles!help [comando]- Muestra ayuda detallada sobre un comando específico
Puedes modificar el prefijo de comandos (! por defecto) editando la variable COMMAND_PREFIX en el archivo config.py.
- Asegúrate de que el bot tenga los permisos necesarios en el servidor
- Verifica que el token en el archivo
.envsea correcto - Comprueba que la API de chistes esté funcionando correctamente
- Asegúrate de que Docker y Docker Compose estén instalados correctamente
- Verifica que el archivo
.envexista y contenga las variables necesarias - Comprueba los logs con
docker-compose logs -f
Las contribuciones son bienvenidas. Por favor, siente libre de abrir un issue o enviar un pull request.
Este proyecto está licenciado bajo la Licencia GNU General Public License v3.0 - ver el archivo LICENSE para más detalles.
- Hay que adaptar el modo de operar comando para usar la nueva forma oauth y tener comandos con slash /chiste
- Añadir posibilidad de reportar contenido
- Añadir comando de stats que devuelva las estadísticas de contenido