{"id":20152312,"url":"https://github.com/gitginocchio/ggsbot","last_synced_at":"2025-07-22T06:04:42.522Z","repository":{"id":260361881,"uuid":"625424936","full_name":"GitGinocchio/GGsBot","owner":"GitGinocchio","description":"GGsBot is a multi-purpose, highly customizable discord bot. Made with :snake: and much :heart:","archived":false,"fork":false,"pushed_at":"2025-07-10T22:03:55.000Z","size":32288,"stargazers_count":2,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-11T04:09:38.055Z","etag":null,"topics":["discord-bot","discord-music-bot","discord-py","nextcord-bot","nextcord-music-bot","nextcord-py","python-3-12"],"latest_commit_sha":null,"homepage":"https://ggsbot.giulioo.workers.dev","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GitGinocchio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-04-09T04:09:42.000Z","updated_at":"2025-07-10T22:01:46.000Z","dependencies_parsed_at":"2025-01-20T17:25:59.793Z","dependency_job_id":"51da4f7b-06bd-4e5a-8222-203f3227cd3f","html_url":"https://github.com/GitGinocchio/GGsBot","commit_stats":null,"previous_names":["gitginocchio/ggsbot"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/GitGinocchio/GGsBot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GitGinocchio%2FGGsBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GitGinocchio%2FGGsBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GitGinocchio%2FGGsBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GitGinocchio%2FGGsBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GitGinocchio","download_url":"https://codeload.github.com/GitGinocchio/GGsBot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GitGinocchio%2FGGsBot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266437369,"owners_count":23928235,"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-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["discord-bot","discord-music-bot","discord-py","nextcord-bot","nextcord-music-bot","nextcord-py","python-3-12"],"created_at":"2024-11-13T23:10:47.701Z","updated_at":"2025-07-22T06:04:42.499Z","avatar_url":"https://github.com/GitGinocchio.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg height=\"150px\" src=\"./docs/media/circular_icon.png\" align=\"center\" /\u003e\n    \u003ch2 align=\"center\"\u003eGGsBot\u003c/h2\u003e\n    \u003cp align=\"center\"\u003eGGsBot is a \u003cstrong\u003emulti-purpose\u003c/strong\u003e, \u003cstrong\u003ehighly customizable\u003c/strong\u003e discord bot\u003c/p\u003e\n    \u003cp align=\"center\"\u003e\n        \u003ca href=\"https://github.com/GitGinocchio/GGsBot/stargazers\"\u003e\n        \u003cimg alt=\"Stars\" src=\"https://img.shields.io/github/stars/GitGinocchio/GGsBot?style=for-the-badge\u0026logo=reverbnation\u0026logoSize=auto\u0026logoColor=yellow\" /\u003e\n        \u003c/a\u003e\n        \u003ca href=\"https://github.com/GitGinocchio/GGsBot/issues\"\u003e\n        \u003cimg alt=\"Issues\" src=\"https://img.shields.io/github/issues/GitGinocchio/GGsBot?style=for-the-badge\u0026logo=downdetector\u0026logoSize=auto\u0026logoColor=red\" /\u003e\n        \u003c/a\u003e\n        \u003ca href=\"https://discord.gg/qHKhRCjmPQ\"\u003e\n        \u003cimg alt=\"Discord Server\" src=\"https://img.shields.io/discord/1122912834997719171?style=for-the-badge\u0026logo=discord\u0026logoSize=auto\u0026label=Server\" /\u003e\n        \u003c/a\u003e\n    \u003c/p\u003e\n    \u003c!--\n    \u003cp align=\"center\" style=\"font-weight: bold;\"\u003e\n        \u003ca href=\"\"\u003eLink\u003c/a\u003e\n        ·\n        \u003ca href=\"\"\u003eLink\u003c/a\u003e\n    \u003c/p\u003e\n    --\u003e\n\u003c/p\u003e\n\n\n\u003e[!WARNING]\n\u003e GGsBot is still in its early stages, and there are some features that have not been implemented yet. If you find any issues or need further assistance, feel free to contact me or join the Discord server.\n\n## Index\n- [Index](#index)\n- [Nextcord Wrapper Library](#nextcord-wrapper-library)\n- [Slash Commands Approach](#slash-commands-approach)\n- [Cogs Structure](#cogs-structure)\n- [SQLite Database](#sqlite-database)\n- [HTTP Web Server](#http-web-server)\n- [Logging System](#logging-system)\n- [Extensions](#extensions)\n  - [Commands Manager](#commands-manager)\n  - [Automatic Greetings Messages](#automatic-greetings-messages)\n  - [Automatic Guild Metadata Update](#automatic-guild-metadata-update)\n  - [Automatic Activity \\\u0026 Status Update](#automatic-activity--status-update)\n  - [Generic Moderation Commands](#generic-moderation-commands)\n  - [Temporary Voice Channels](#temporary-voice-channels)\n  - [Staff Management](#staff-management)\n  - [Ai Image Generation](#ai-image-generation)\n  - [Ai Summarizer](#ai-summarizer)\n  - [Ai Translator](#ai-translator)\n  - [Ai ChatBot](#ai-chatbot)\n  - [Valorant Quiz](#valorant-quiz)\n  - [Verification](#verification)\n  - [Music](#music)\n- [Installation](#installation)\n- [💖 Support the project](#-support-the-project)\n\n## Nextcord Wrapper Library\nI chose to use the [**Nextcord**](https://github.com/nextcord/nextcord) wrapper as the foundation of my bot because it offers a unique combination of features that align with my project's goals. Specifically:\n- **Robust API**: Nextcord provides an extensive and well-documented API that makes it easy to interact with the Discord platform.\n- **Async-friendly**: Asynchronous programming is essential for building efficient and scalable bots, and Nextcord has excellent support for async/await syntax.\n- **Flexible architecture**: The library allows me to structure my code in a modular way, making it easier to maintain and extend the bot's functionality.\n- **Constantly improving**: The Nextcord community is active and committed to continuous improvement, ensuring that I can leverage the latest features and best practices.\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n## Slash Commands Approach\nIn addition to using Nextcord as my bot's foundation, I've also adopted the Slash Command approach to provide users with an intuitive and user-friendly way of interacting this bot. Specifically:\n\n- **Simple and consistent API**: Slash commands offer a simple and consistent API for users to interact with slash commands, making it easy for them to discover and use the features they need.\n- **Improved discoverability**: Slash commands also make it easier for users to discover new features and commands, by presenting them in a clear and organized way.\n\nBy using the Slash Command approach, I'm able to provide my users with a seamless and enjoyable experience when interacting with my bot.\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n## Cogs Structure\nGGsBot's command structure is organized into Cogs, which are modular and self-contained modules that provide specific functionality. Each Cog represents a distinct area of responsibility, such as music, games, guild, and so on.\n\nBy using this Cog-based approach, GGsBot's commands are easy to find, use, and maintain. This structure allows for:\n- **Modularity**: Each Cog is independent and can be updated or modified without affecting the rest of the code.\n- **Extensibility**: New Cogs can be added as needed, expanding the bot's capabilities and features.\n- **Reusability**: Cogs can be reused across multiple commands, reducing code duplication and improving maintainability.\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n## SQLite Database\nGGsBot relies on a **SQLite Database** to store and manage its data. This database is designed to provide a robust and efficient way of storing and retrieving data, while also being easy to use and maintain.\n\nThe SQLite Database is structured into several tables, each with its own specific purpose:\n- **guilds**: Stores information about the guilds (servers) that GGsBot is part of.\n- **users**: Contains user-specific data, such as their ID, name, and preferences.\n- **extensions**: Lists all installed extensions and commands with their configurations.\n\nThe SQLite Database is used to:\n\n- **Store persistent data**: GGsBot's database provides a reliable way of storing data that needs to be preserved even after the bot restarts or crashes.\n\n- **Speed up queries**: The database is optimized for fast query execution, ensuring that commands are executed quickly and efficiently.\n\n- **Improve performance**: By reducing the load on the bot's memory and CPU, the SQLite Database helps maintain GGsBot's overall performance.\n\nGGsBot's SQLite Database is designed to be robust, scalable, and easy to use, allowing the bot to focus on providing a great user experience.\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n## HTTP Web Server\nThe HTTP Web Server is currently in its initial state, but has great potential to become a powerful tool for hosting documentation, displaying status updates, and providing APIs. \nAs it stands, this feature allows users to access information about the bot, including its status, configuration, and usage statistics.\n\n\u003e [!NOTE]\n\u003e The HTTP Web Server is still in development and it has only the basic structure\n\nIn the future, this feature could be used to\n- **Host documentation** for the bot's commands, features, and APIs\n- Display **real-time status updates** for the bot, including server uptime and performance metrics\n- **Provide a RESTful API** for developers to access and manipulate data related to the bot\n\nWhile the HTTP Web Server is still in its early stages, it has the potential to become a valuable resource for users and developers alike. As it continues to evolve, you can expect to see more features and improvements added to make it an essential part of the GGsBot ecosystem.\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n## Logging System\nGGsBot relies on a Logging System to track and record important events, such as command executions, errors, and other significant occurrences. \n\nThis system is built using Python's built-in **Logger** library, which provides a robust and customizable way of logging events.\n\nThe Logging System is used to:\n\n- **Track important events**: GGsBot's logging system tracks and records significant events, such as command executions, errors, and other important occurrences.\n- **Improve debugging**: The logging system provides detailed information about what happened when an error occurred, making it easier to debug issues.\n- **Monitor performance**: By tracking key metrics and events, the logging system helps monitor GGsBot's performance and identify areas for improvement.\n\nGGsBot's Logging System is designed to be flexible, customizable, and easy to use, allowing developers to quickly and effectively track and analyze important events.\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n## Extensions\nGGsBot is designed to be **highly extensible**, with multiple Extensions that provide additional functionality and features. These extensions are modular and self-contained, allowing them to be easily added or removed as needed.\n\nThese extensions are designed to be:\n\n- **Modular**: Each extension is a self-contained module that can be added or removed independently.\n- **Reusable**: Extensions can be reused across multiple commands and features.\n- **Extensible**: New extensions can be easily added to expand the bot's capabilities.\n\nBy providing a range of extensions, GGsBot is able to offer a wide range of features and functionality, making it an extremely versatile and powerful Discord bot.\n\nSome of the key extensions in GGsBot include:\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n### Commands Manager\nThe Commands Manager is a basic extension of GGsBot that provides a comprehensive set of commands for managing extensions\n\n\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n### Automatic Greetings Messages\n*`work in progress...`*\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n### Automatic Guild Metadata Update\n*`work in progress...`*\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n### Automatic Activity \u0026 Status Update\n*`work in progress...`*\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n### Generic Moderation Commands\n*`work in progress...`*\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n### Temporary Voice Channels\n*`work in progress...`*\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n### Staff Management\n*`work in progress...`*\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n### Ai Image Generation\n*`work in progress...`*\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n### Ai Summarizer\n*`work in progress...`*\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n### Ai Translator\n*`work in progress...`*\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n### Ai ChatBot\n*`work in progress...`*\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n### Valorant Quiz\n*`work in progress...`*\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n### Verification\n*`work in progress...`*\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n### Music\n*`work in progress...`*\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n## Installation\n*`work in progress...`*\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n\n## 💖 Support the project\n*`work in progress...`*\n\u003cp align=\"right\"\u003e\u003ca href=\"#index\" \u003eBack to Index\u003c/a\u003e\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitginocchio%2Fggsbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgitginocchio%2Fggsbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitginocchio%2Fggsbot/lists"}