{"id":31144232,"url":"https://github.com/raupulus/jajaproject_discord_bot","last_synced_at":"2025-09-18T14:37:41.603Z","repository":{"id":303159133,"uuid":"1014070784","full_name":"raupulus/jajaproject_discord_bot","owner":"raupulus","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-06T03:20:29.000Z","size":27,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-06T03:31:52.844Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raupulus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-05T02:02:32.000Z","updated_at":"2025-07-06T03:20:32.000Z","dependencies_parsed_at":"2025-07-06T03:31:55.732Z","dependency_job_id":"6274b8cb-8681-402d-8ce0-60355fceaf98","html_url":"https://github.com/raupulus/jajaproject_discord_bot","commit_stats":null,"previous_names":["raupulus/jajaproject_discord_bot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/raupulus/jajaproject_discord_bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fjajaproject_discord_bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fjajaproject_discord_bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fjajaproject_discord_bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fjajaproject_discord_bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raupulus","download_url":"https://codeload.github.com/raupulus/jajaproject_discord_bot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fjajaproject_discord_bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275781896,"owners_count":25527479,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-18T02:00:09.552Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-09-18T14:37:40.307Z","updated_at":"2025-09-18T14:37:41.586Z","avatar_url":"https://github.com/raupulus.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JajaBot - Discord Bot para chistes\n\nJajaBot es un bot de Discord que consume una API de chistes y los comparte en tu servidor de Discord.\n\nLink para añadirlo a tu servidor: [Bot para Discord](https://discord.com/oauth2/authorize?client_id=1391159444490158202\u0026permissions=274877908992\u0026integration_type=0\u0026scope=bot)\n\n¡Puedes colaborar añadiendo más chistes en [https://jaja.raupulus.dev](https://jaja.raupulus.dev) antes de que se te olviden!\n\n## Características\n\n- Obtener chistes aleatorios por tipo o grupo\n- Fácil de desplegar con Docker o venv\n- Extensible para añadir nuevos comandos\n\n## Requisitos Previos\n\n- Python 3.13 o superior (si no usas Docker)\n- Docker y Docker Compose (opcional, para despliegue con contenedores)\n- Token de bot de Discord\n- URL de la API de chistes\n\n## Configurar tu propio bot (Para no usar el anterior)\n\n### 1. Crear un Bot de Discord\n\n1. Ve a [Discord Developer Portal](https://discord.com/developers/applications)\n2. Haz clic en \"New Application\" y dale un nombre\n3. Ve a la sección \"Bot\" y haz clic en \"Add Bot\"\n4. Bajo la sección \"TOKEN\", haz clic en \"Copy\" para copiar tu token\n5. En la sección \"Privileged Gateway Intents\", activa \"MESSAGE CONTENT INTENT\"\n6. Guarda los cambios\n\n### 2. Invitar el Bot a tu Servidor\n\n1. En el portal de desarrolladores, ve a la sección \"OAuth2\" \u003e \"URL Generator\"\n2. En \"SCOPES\", selecciona \"bot\"\n3. En \"BOT PERMISSIONS\", selecciona:\n   - Read Messages/View Channels\n   - Send Messages\n   - Embed Links\n4. Copia la URL generada y ábrela en tu navegador\n5. Selecciona el servidor al que quieres añadir el bot y confirma\n\n### 3. Configurar Variables de Entorno\n\n1. Crea un archivo `.env` basado en el archivo `.env.example`:\n   ```bash\n   cp .env.example .env\n   ```\n2. Edita el archivo `.env` y añade tu token de Discord y la URL de la API de chistes:\n   ```\n   DISCORD_TOKEN=tu_token_aquí\n   JOKES_API_URL=https://raupulus.dev/api/v1\n   JOKES_API_KEY=your_api_key_here\n   ```\n\n## Ejecución\n\n### Usando Docker (Recomendado)\n\n1. Asegúrate de tener Docker y Docker Compose instalados\n2. Ejecuta el bot con:\n   ```bash\n   docker-compose up -d\n   ```\n3. Para ver los logs:\n   ```bash\n   docker-compose logs -f\n   ```\n4. Para detener el bot:\n   ```bash\n   docker-compose down\n   ```\n\n### Sin Docker (usando venv)\n\n1. Crea un entorno virtual:\n   ```bash\n   python3.13 -m venv .venv\n   ```\n2. Activa el entorno virtual:\n   - En Linux/macOS:\n     ```bash\n     source .venv/bin/activate\n     ```\n   - En Windows:\n     ```bash\n     .venv\\Scripts\\activate\n     ```\n3. Instala las dependencias:\n   ```bash\n   pip install -r requirements.txt\n   ```\n4. Ejecuta el bot:\n   ```bash\n   python main.py\n   ```\n5. Para desactivar el entorno virtual cuando termines:\n   ```bash\n   deactivate\n   ```\n\n## Comandos del Bot\n\n- `!chiste` - Muestra la ayuda del comando chiste\n- `!chiste random` - Obtiene un chiste aleatorio por tipo\n- `!chiste dev` - Obtiene un chiste aleatorio del grupo de desarrolladores\n- `!chiste lepe` - Obtiene un chiste aleatorio del grupo de Lepe\n- `!chiste malo` - Obtiene un chiste aleatorio del grupo de Malos\n- `!chiste infantil` - Obtiene un chiste aleatorio del grupo de Infantiles\n- `!chiste @username` - Obtiene un chiste aleatorio subido por el usuario especificado\n- `!chiste add [contenido]` - Envía una sugerencia de contenido directamente a la API\n- `!colaborar` - Muestra información sobre cómo contribuir con tus propios chistes\n- `!help` - Muestra la lista de comandos disponibles\n- `!help [comando]` - Muestra ayuda detallada sobre un comando específico\n\n## Personalización\n\nPuedes modificar el prefijo de comandos (`!` por defecto) editando la variable `COMMAND_PREFIX` en el archivo `config.py`.\n\n## Solución de Problemas\n\n### El bot no responde a los comandos\n- Asegúrate de que el bot tenga los permisos necesarios en el servidor\n- Verifica que el token en el archivo `.env` sea correcto\n- Comprueba que la API de chistes esté funcionando correctamente\n\n### Errores al ejecutar con Docker\n- Asegúrate de que Docker y Docker Compose estén instalados correctamente\n- Verifica que el archivo `.env` exista y contenga las variables necesarias\n- Comprueba los logs con `docker-compose logs -f`\n\n## Contribuir\n\nLas contribuciones son bienvenidas. Por favor, siente libre de abrir un issue o enviar un pull request.\n\n## Licencia\n\nEste proyecto está licenciado bajo la Licencia GNU General Public License v3.0 - ver el archivo [LICENSE](LICENSE) para más detalles.\n\n## TOFIX\n\n- Hay que adaptar el modo de operar comando para usar la nueva forma oauth y \n  tener comandos con slash /chiste\n\n## Propuestas para futuras funcionalidades\n\n- Añadir posibilidad de reportar contenido\n- Añadir comando de stats que devuelva las estadísticas de contenido\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraupulus%2Fjajaproject_discord_bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraupulus%2Fjajaproject_discord_bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraupulus%2Fjajaproject_discord_bot/lists"}