{"id":19034713,"url":"https://github.com/rdev32/toari-bot","last_synced_at":"2026-06-22T17:31:42.719Z","repository":{"id":255576964,"uuid":"849679608","full_name":"rdev32/toari-bot","owner":"rdev32","description":null,"archived":false,"fork":false,"pushed_at":"2026-02-24T00:25:01.000Z","size":108,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-24T07:25:47.227Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rdev32.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-08-30T03:29:09.000Z","updated_at":"2026-02-24T00:25:06.000Z","dependencies_parsed_at":"2024-09-06T05:23:40.536Z","dependency_job_id":null,"html_url":"https://github.com/rdev32/toari-bot","commit_stats":null,"previous_names":["rdev32/toari-bot"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/rdev32/toari-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdev32%2Ftoari-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdev32%2Ftoari-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdev32%2Ftoari-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdev32%2Ftoari-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rdev32","download_url":"https://codeload.github.com/rdev32/toari-bot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdev32%2Ftoari-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34659895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"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":"2024-11-08T21:46:52.445Z","updated_at":"2026-06-22T17:31:42.713Z","avatar_url":"https://github.com/rdev32.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🤖 Toari Bot\n\nBot de Discord desarrollado en TypeScript para comunidades de habla hispana. Permite a los usuarios interactuar entre si, crear invitaciones para partidas de Phasmophobia y enviar reportes directamente a los moderadores del servidor.\n\n## ✨ Comandos\n\n| Comando            | Descripcion                                                     |\n| ------------------ | --------------------------------------------------------------- |\n| `/ayuda`           | Muestra la lista de comandos disponibles                        |\n| `/phasmo \u003ccodigo\u003e` | Crea una tarjeta de invitacion para una partida de Phasmophobia |\n| `/poke`            | Envia un toque a un miembro aleatorio del servidor              |\n| `/report \u003crazon\u003e`  | Crea un reporte privado para los moderadores                    |\n\n## 🛠️ Tecnologias\n\n- [TypeScript](https://www.typescriptlang.org/)\n- [discord.js v14](https://discord.js.org/)\n- [Drizzle ORM](https://orm.drizzle.team/)\n- [libSQL / SQLite](https://turso.tech/libsql)\n- [dotenv](https://github.com/motdotla/dotenv)\n\n## 📋 Requisitos previos\n\n- Node.js 18 o superior\n- Una cuenta de Discord Developer y un bot registrado en el [Portal de Desarrolladores](https://discord.com/developers/applications)\n\n## 🚀 Instalacion\n\n**1. Clona el repositorio**\n\n```bash\ngit clone https://github.com/rdev32/toari-bot.git\ncd toari-bot\n```\n\n**2. Instala las dependencias**\n\n```bash\nnpm install\n```\n\n**3. Configura las variables de entorno**\n\nCopia el archivo de ejemplo y completa los valores:\n\n```bash\ncp .env.sample .env\n```\n\n| Variable       | Descripcion                                                          |\n| -------------- | -------------------------------------------------------------------- |\n| `TOKEN`        | Token del bot obtenido desde el Portal de Desarrolladores            |\n| `CLIENT`       | ID de la aplicacion del bot                                          |\n| `PERMISSIONS`  | Entero de permisos para el link de invitacion (puede dejarse en `0`) |\n| `DB_FILE_NAME` | Ruta al archivo SQLite, por ejemplo `file:toari.db`                  |\n\n**4. Genera el link de invitacion** _(opcional)_\n\n```bash\nnpm run build\nnpm run invite\n```\n\n**5. Registra los slash commands en Discord**\n\nEste paso es necesario la primera vez y cada vez que agregues o modifiques comandos:\n\n```bash\nnpm run build\nnpm run upload\n```\n\n**6. Inicia el bot**\n\nEn modo desarrollo:\n\n```bash\nnpm run dev\n```\n\nEn produccion:\n\n```bash\nnpm run build\nnpm start\n```\n\n## 📁 Estructura del proyecto\n\n```\nsrc/\n├── app.ts               # Inicializacion del cliente, carga de comandos y eventos\n├── index.ts             # Punto de entrada, login del bot\n├── commands/\n│   ├── help.command.ts\n│   ├── phasmo.command.ts\n│   ├── poke.command.ts\n│   └── report.command.ts\n├── db/\n│   └── schema.ts        # Esquema de base de datos con Drizzle ORM\n├── events/\n│   ├── interaction.event.ts\n│   └── ready.event.ts\n└── utils/\n    ├── invite.ts        # Genera el link de invitacion al servidor\n    └── load.ts          # Registra los slash commands en la API de Discord\n```\n\n## 🗄️ Base de datos\n\nEl bot utiliza SQLite a traves de Drizzle ORM. El esquema define dos tablas:\n\n- **`users`** — Almacena informacion de los usuarios de Discord (id, tag, fecha de creacion).\n- **`reports`** — Almacena los reportes creados con `/report`, vinculados al usuario y servidor.\n\n## 📜 Licencia\n\nDistribuido bajo la licencia [MIT](./LICENSE). © 2024 Renato Monroy.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdev32%2Ftoari-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frdev32%2Ftoari-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdev32%2Ftoari-bot/lists"}