{"id":20382075,"url":"https://github.com/zumitoteam/zumito-bot","last_synced_at":"2025-04-12T08:53:29.118Z","repository":{"id":36990841,"uuid":"398800073","full_name":"ZumitoTeam/zumito-bot","owner":"ZumitoTeam","description":"Discord Bot","archived":false,"fork":false,"pushed_at":"2025-01-29T09:44:56.000Z","size":973,"stargazers_count":5,"open_issues_count":18,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T08:53:22.545Z","etag":null,"topics":["bot","discord","discord-bot","discord-js","nodejs","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"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/ZumitoTeam.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}},"created_at":"2021-08-22T12:57:31.000Z","updated_at":"2025-01-29T09:44:58.000Z","dependencies_parsed_at":"2024-04-17T15:28:23.008Z","dependency_job_id":"3ff18860-b9ef-4a05-8ba0-d380a1808838","html_url":"https://github.com/ZumitoTeam/zumito-bot","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZumitoTeam%2Fzumito-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZumitoTeam%2Fzumito-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZumitoTeam%2Fzumito-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZumitoTeam%2Fzumito-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZumitoTeam","download_url":"https://codeload.github.com/ZumitoTeam/zumito-bot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248543882,"owners_count":21121838,"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","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":["bot","discord","discord-bot","discord-js","nodejs","typescript"],"created_at":"2024-11-15T02:16:20.448Z","updated_at":"2025-04-12T08:53:29.090Z","avatar_url":"https://github.com/ZumitoTeam.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Zumito banner](/assets/images/banner.png?raw=true)\n\u003cdiv align=\"center\"\u003e\n \u003ca href=\"https://zumito.ga\"\u003eWebsite\u003c/a\u003e \n •\n \u003ca href=\"https://discord.gg/EwEhgKCmSy\"\u003eDiscord server\u003c/a\u003e \n •\n \u003ca href=\"https://zumito-documentation.vercel.app/\"\u003eDocumentation (WIP)\u003c/a\u003e \n\u003c/div\u003e\n \n# Zumito 🧃\n[![CodeFactor](https://www.codefactor.io/repository/github/ZumitoTeam/zumito-bot/badge)](https://www.codefactor.io/repository/github/ZumitoTeam/zumito-bot)\n![GitHub Repo stars](https://img.shields.io/github/stars/fernandomema/zumito)\n\nMultipurpose discord bot\n- [Zumito 🧃](#zumito---)\n- [Tech stack](#tech-stack)\n- [Development](#development)\n  * [Project requeriments](#project-requeriments)\n  * [Getting started](#getting-started)\n    + [Setup project](#setup-project)\n    + [Start bot](#start-bot)\n  * [Contributing](#contributing)\n    + [Submiting bug or error](#submiting-bug-or-error)\n    + [Submiting ideas](#submiting-ideas)\n    + [Translating](#translating)\n    + [Coding](#coding)\n  * [Workflow](#workflow)\n    + [New Command](#new-command)\n    + [Arrival](#arrival)\n    + [Definition](#definition)\n    + [Task selection](#task-selection)\n    + [Development](#development-1)\n\n# Tech stack\n- [Node.js](https://nodejs.org/en/) - JavaScript runtime\n- [TypeScript](https://www.typescriptlang.org/) - JavaScript superset\n- [Discord.js](https://discord.js.org/#/) - Discord API wrapper\n- [MongoDB](https://www.mongodb.com/) - Database\n- [Mongoose](https://mongoosejs.com/) - MongoDB object modeling\n- [Zumito Framework](https://github.com/fernandomema/zumito-framework) - Zumito's self-made framework\n- [FFMPEG](https://ffmpeg.org/) - Audio processing for music commands\n# Development\n## Project requeriments\n* Node.js (16.X or higher) and NPM\n* Discord bot token, clientID and client secret\n* MongoDB database\n\n## Getting started\n### Setup project\nTo start editing the bot you need to download the project\n```bash\ngit clone https://github.com/fernandomema/Zumito.git\ncd Zumito\n```\nNext steep is to download project dependencies\n```bash\nnpm install\n```\nAnd finally copy .env.example to .env and edit your tokens and DB info.\n```bash\ncp .env.example .env\n```\n\n### Start bot\nTo start bot you just need to run that command on project root\n```bash\nnpm start\n```\n## Contributing\nWe have a lot of work and need for a lot of help. For this reason any help is welcome and we have organized some of the main options in which you can contribute with your grain of sand.\nPlease note that if you have any other ideas on how to contribute we are all ears, we are not limited to the following list.\n### Submiting bug or error\nIf you found an error using the bot feel free to [open issue](https://github.com/fernandomema/Zumito/issues/new/choose) and tell us what happen.\nIs important you provide as much details as you can, cause we need to be able to reproduce the error in order to find a solution.\n### Submiting ideas\nIdeas are always welcome, inspiration is something that cannot be bought. So if you have any idea for the bot feel free to tell us what you think [opening a new issue](https://github.com/fernandomema/Zumito/issues/new/choose)\n### Translating\nKnowledge of a language is a great way to open doors to the whole world, so if you know a language you can always bring Zumito to a lot of new people.\nJust create a pull request with the new language file and we will review it.\n- The language files are located in ``src/modules/[module name]/translations/[language code].json``\n- The language code must be in [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format\n- The language file must be a valid JSON file\n- The main language is english, so you can use it as a reference\n- To add a new language you just need to create a new file with the correct language code, bot will automatically detect it\n### Coding\nIf you can code you can do almost everithing you want, just sumbit a pull request and we will review as fast as we can.\nIf you want to contribute coding but you don't know what, you can check the [projects tab](https://github.com/fernandomema/Zumito/projects). There is a lot of things to implement or fix. Feel free to open te task issue, assign to you and/or [ask for more details](https://github.com/fernandomema/Zumito/discussions/new) on that task.\n\n\n# Workflow\nThere is a little summary of how we work.\n\n## New command\n### Arrival\nFirst, a command comes from an issue or a project task. If the description does not come with an example output (embeds, designs, etc), the task will be moved to \"`pendind definition`\" status on our project board. \n\n### Definition\nDurint this stage, we will recolect the needed info for start developing the command (embeds design/structure, required assets, etc) and define the posible inputs and outputs of that command. and then the task will be moved to \"`backlog status`\"\n\n### Task selection\nEach time we complete the tasks unde the \"`current iteration`\" status, we select the following tasks that we will work on. It is similar to an agile sprint, but since we work as a hobby there is no ETA for each sprint/iteration.\n\n### Development\nEach time we start working on a command, We assign ourselves to the issue and a bot will automatically create a branch for that issue. We work on it until development is done. Then we will create an `pull request` using the `new_command.md` template, filling the use case test with all posible inputs and outputs to verify all of them are working properly. Finally before merge it into main branch at least one member of the repo will review and approve the request to ensure the pull request will not break the bot.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzumitoteam%2Fzumito-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzumitoteam%2Fzumito-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzumitoteam%2Fzumito-bot/lists"}