{"id":23780718,"url":"https://github.com/hunter87ff/spruce","last_synced_at":"2025-06-13T12:08:37.879Z","repository":{"id":39649114,"uuid":"464233448","full_name":"Hunter87ff/Spruce","owner":"Hunter87ff","description":"Spruce is a multi-functional open source Discord bot, designed to streamline the management of servers and esports events.","archived":false,"fork":false,"pushed_at":"2025-06-04T21:02:28.000Z","size":128521,"stargazers_count":12,"open_issues_count":1,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-05T01:51:35.119Z","etag":null,"topics":["automation","discord-py","esports","python","tournament"],"latest_commit_sha":null,"homepage":"https://sprucebot.tech","language":"Python","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/Hunter87ff.png","metadata":{"files":{"readme":"README.md","changelog":"changes.md","contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"hunter87ff","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null}},"created_at":"2022-02-27T19:30:36.000Z","updated_at":"2025-06-04T20:53:43.000Z","dependencies_parsed_at":"2024-01-10T17:03:35.540Z","dependency_job_id":"26b93923-b1a8-47c6-8175-aeb937ff4a05","html_url":"https://github.com/Hunter87ff/Spruce","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/Hunter87ff/Spruce","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hunter87ff%2FSpruce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hunter87ff%2FSpruce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hunter87ff%2FSpruce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hunter87ff%2FSpruce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hunter87ff","download_url":"https://codeload.github.com/Hunter87ff/Spruce/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hunter87ff%2FSpruce/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259642345,"owners_count":22888993,"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":["automation","discord-py","esports","python","tournament"],"created_at":"2025-01-01T11:15:57.398Z","updated_at":"2025-06-13T12:08:32.863Z","avatar_url":"https://github.com/Hunter87ff.png","language":"Python","funding_links":["https://github.com/sponsors/hunter87ff"],"categories":[],"sub_categories":[],"readme":"## Spruce\n\n[![Tests](https://github.com/Hunter87ff/Spruce/actions/workflows/testing.yml/badge.svg)](#)\n[![Language](https://img.shields.io/badge/lang-Python%203.10-blue)](#)\n[![Commands](https://img.shields.io/badge/90+-Commands-violet)](#)\n[![discord.py Version](https://img.shields.io/badge/lib-discord.py%202.4.0-skyblue)](#)\n[![Db](https://img.shields.io/badge/db-MongoDB-green)](#)\n[![Repo Size](https://img.shields.io/github/repo-size/hunter87ff/spruce)](#)\n[![Lavalink](https://img.shields.io/badge/Lavalink%20-4.0.7-skyblue)](#)\n[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=Hunter87ff_Spruce\u0026metric=ncloc)](#)\n[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=Hunter87ff_Spruce\u0026metric=reliability_rating)](#)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=Hunter87ff_Spruce\u0026metric=sqale_rating)](#)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=Hunter87ff_Spruce\u0026metric=security_rating)](#)\n[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=Hunter87ff_Spruce\u0026metric=duplicated_lines_density)](#)\n\n\n\n\u003c!-- [![SonarCloud Bugs](https://sonarcloud.io/api/project_badges/measure?project=Hunter87ff_Spruce\u0026metric=bugs)](#)\n[![SonarCloud Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=Hunter87ff_Spruce\u0026metric=vulnerabilities)](#) --\u003e\n\u003c!--\u003cimg align=\"right\" style=\"border-radius:6px;\" src=\"https://avatars.githubusercontent.com/u/105124146?s=200\u0026v=4\" alt=\"Spruce\"\u003e--\u003e\n\nSpruce is a multi-functional Discord app designed to streamline the management of Discord tournaments and servers. Our mission is to provide a comprehensive solution for tournament organizers and server administrators, ensuring a seamless and enjoyable experience for all participants.\n\n\n## Features\nSpruce is a multi-purpose discord app that provides various kind of features like:\n```\n- Esports Tournament Management\n- Auto Group Setup\n- Text To Speech\n- Ticket System\n- Music Player\n- Translation\n- Moderation\n- Utility \n- and much much more...\n```\n\n\u003e [!NOTE]\n\u003e If you decide to edit, compile or use this code in any way. Kindly respect the [`LICENSE`](https://github.com/Hunter87ff/spruce/blob/main/LICENSE)\n\n## Support Server\n\u003e If you're facing any kind of issues with spruce, feel free to join our discord support server\u003cbr\u003e \n[![DiscordBanner](https://invidget.switchblade.xyz/vMnhpAyFZm)](https://discord.gg/vMnhpAyFZm)\n\n\n## Commands\n \n__**Esports**__\n\n`tourney_setup`, `add_slot`, `cancel_slot`, `group_setup`, `change_slot`, `pause_tourney`, `start_tourney`, `tourney`, `faketag`, `girls_lobby`, `publish`, `tourneys`, `auto_group`, `tconfig`\n\n\n---------------------------------\n\n__**Moderation**__\n\n`clear`, `clear_perms`, `channel_del`, `channel_make`, `create_channel`, `delete_category`, `mute`, `unmute`, `kick`, `ban`, `hide`, `unhide`, `lock`, `unlock`, `hide_category`, `unhide_category`, `lock_category`, `unlock_category`, `setup`\n\n---------------------------------\n\n__**Utility**__\n\n`addemoji`, `tts`, `avatar`, `banner`, `botinfo`, `ping`, `embed`, `embed_img`, `member_count`, `nick`, `nitro`, `prefix`, `react`, `server_av`, `serverinfo`, `toss`, `userinfo`, `whoiss`, `uptime`, `translate`, `setup_ticket`\n\n---------------------------------\n\n__**Roles**__\n\n`create_roles`, `port`, `inrole`, `remove_roles`, `del_roles`, `give_roles`, `remove_role_members`, `role_all_bot`, `role_all_human`, `role_all_human`, `role_all_bot`, `hide_roles`, `unhide_roles`\n\n---------------------------------\n\n\n__**Musics**__\n\n`play`, `pause`, `resume`, `queue`, `skip`, `stop`, `join`, `leave`, `pitch`, `volume`, `speed`, `spotify`\n\n\n## Contributors\n\u003ca href=\"https://github.com/hunter87ff/spruce/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=hunter87ff/Spruce\" /\u003e\n\u003c/a\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhunter87ff%2Fspruce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhunter87ff%2Fspruce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhunter87ff%2Fspruce/lists"}