{"id":20459569,"url":"https://github.com/lagden-development/rickbot","last_synced_at":"2025-09-07T05:39:06.942Z","repository":{"id":239758174,"uuid":"800470780","full_name":"Lagden-Development/rickbot","owner":"Lagden-Development","description":"Rickbot is an advanced framework for creating complex (or simple) Discord bots quickly and efficiently using discord.py.","archived":false,"fork":false,"pushed_at":"2025-07-15T13:55:23.000Z","size":183,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-06T21:23:55.089Z","etag":null,"topics":["discord","discord-api","discord-py"],"latest_commit_sha":null,"homepage":"https://lagden.dev/projects/rickbot","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/Lagden-Development.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-05-14T11:53:55.000Z","updated_at":"2025-07-15T13:55:26.000Z","dependencies_parsed_at":"2024-10-21T23:54:01.054Z","dependency_job_id":null,"html_url":"https://github.com/Lagden-Development/rickbot","commit_stats":null,"previous_names":["zachlagden/rickbot","lagden-development/rickbot"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Lagden-Development/rickbot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lagden-Development%2Frickbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lagden-Development%2Frickbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lagden-Development%2Frickbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lagden-Development%2Frickbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Lagden-Development","download_url":"https://codeload.github.com/Lagden-Development/rickbot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lagden-Development%2Frickbot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273998403,"owners_count":25204768,"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-07T02:00:09.463Z","response_time":67,"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":["discord","discord-api","discord-py"],"created_at":"2024-11-15T12:16:36.890Z","updated_at":"2025-09-07T05:39:06.920Z","avatar_url":"https://github.com/Lagden-Development.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![GitHub Release](https://img.shields.io/github/v/release/Lagden-Development/rickbot)\n![GitHub branch check runs](https://img.shields.io/github/check-runs/Lagden-Development/rickbot/main)\n![Codacy Badge](https://app.codacy.com/project/badge/Grade/d20be7f7ddcf429bb59329b97cee6903)\n\n# RickBot - Advanced Discord.py Framework\n\n**Note:** This documentation is yet to be updated for RickBot 1.2.1.\n\nRickBot is an advanced framework designed for building complex (or simple) Discord bots quickly and efficiently using discord.py.\n\n## Table of Contents\n\n1. [Introduction](#introduction)\n2. [Features](#features)\n3. [Installation](#installation)\n   - [Prerequisites](#prerequisites)\n   - [Installation Steps](#installation-steps)\n4. [Configuration](#configuration)\n   - [Config Files Overview](#config-files-overview)\n   - [Example `config.json`](#example-configjson)\n5. [Project Structure](#project-structure)\n6. [Usage](#usage)\n7. [Creating Custom Cogs](#creating-custom-cogs)\n   - [Example Cog](#example-cog)\n8. [Database Integration](#database-integration)\n   - [Example MongoDB Usage](#example-mongodb-usage)\n9. [Troubleshooting](#troubleshooting)\n10. [Contributing](#contributing)\n\n- [Getting Started](#getting-started)\n- [Making Changes](#making-changes)\n- [Testing Your Changes](#testing-your-changes)\n- [Submitting Changes](#submitting-changes)\n- [Contribution Guidelines](#contribution-guidelines)\n\n11. [Support](#support)\n\n- [How to Get Support](#how-to-get-support)\n\n12. [License](#license)\n\n## Introduction\n\nRickBot is designed to help developers build scalable and maintainable Discord bots with ease. Using the discord.py library, RickBot provides a structured and modular approach to bot development, making it simple to extend functionality as your bot grows.\n\n## Features\n\n- **Modular Design:** Easily add or remove features through cogs.\n- **Database Integration:** MongoDB is supported for robust and flexible data storage.\n- **Highly Configurable:** Extensive options for fine-tuning bot behavior.\n- **Extensible:** Quickly add custom commands and events.\n\n## Installation\n\n### Prerequisites\n\nEnsure the following software is installed on your system:\n\n- **Python 3.10+**: [Download Python](https://www.python.org/downloads/)\n- **pip**: Python package installer (typically included with Python)\n- **git**: [Download Git](https://git-scm.com/)\n- **MongoDB**: [MongoDB Setup Guide](https://www.mongodb.com/) | [Free MongoDB Deployment](https://www.mongodb.com/atlas)\n\n### Installation Steps\n\n1. **Clone the Repository:**\n\n   ```bash\n   git clone https://github.com/zachlagden/rickbot\n   ```\n\n2. **Navigate to the Project Directory:**\n\n   ```bash\n   cd rickbot\n   ```\n\n3. **Install Required Packages:**\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n## Configuration\n\n### Config Files Overview\n\n- `config.json`: Holds the core bot configuration.\n- `customconfig.json`: Optional file for additional custom settings.\n\n\u003e **Note:** `config.py` is not a configuration file itself. It ensures that `config.json` and `customconfig.json` are properly loaded into the project.\n\n### Example `config.json`\n\n```json\n{\n  \"mode\": \"dev\",\n  \"devs\": [123456789],\n  \"bot\": {\n    \"token\": \"BOT TOKEN\",\n    \"prefix\": \"!\",\n    \"status\": {\n      \"type\": \"playing\",\n      \"message\": \"a game\"\n    }\n  },\n  \"behaviour\": {\n    \"continue_to_load_cogs_after_failure\": false\n  },\n  \"mongo\": {\n    \"uri\": \"mongodb uri\",\n    \"bot_specific_db\": \"bot\"\n  }\n}\n```\n\n## Project Structure\n\n- **`app.py`**: Main entry point for running the bot.\n- **`cogs/`**: Directory for bot functionality modules (cogs).\n- **`helpers/`**: Utility functions and helper scripts.\n- **`rickbot/`**: Core framework files for RickBot.\n- **`config.json`**: Primary configuration file.\n- **`customconfig.json`**: Optional file for additional custom settings.\n\n## Usage\n\nTo start the bot, run the following command:\n\n```bash\npython app.py\n```\n\n## Creating Custom Cogs\n\nCogs are modular extensions used to add functionality to your bot. They should be placed in the `cogs/\u003ccategory\u003e/` directory, where additional folders separate cog categories. To maintain optimal organization, RickBot encourages using one cog per command.\n\n### Example Cog\n\n```python\nimport discord\nfrom discord.ext import commands\n\nclass ExampleCog(commands.Cog):\n    def __init__(self, bot):\n        self.bot = bot\n\n    @commands.command()\n    async def hello(self, ctx):\n        await ctx.send(\"Hello, world!\")\n\ndef setup(bot):\n    bot.add_cog(ExampleCog(bot))\n```\n\n## Database Integration\n\nRickBot integrates with MongoDB for data storage. Ensure your MongoDB URI is correctly set in the `config.json` file. The `db.py` file serves as a convenient base for managing database connections and collections, but feel free to customize it to meet your specific requirements.\n\n### Example MongoDB Usage\n\n```python\nfrom pymongo import MongoClient\nfrom config import CONFIG\n\nclient = MongoClient(CONFIG['mongo']['uri'])\ndb = client['rickbot']\ncollection = db['example']\n```\n\n## Troubleshooting\n\n- **Installation Issues:** Ensure all prerequisites are correctly installed, and verify your environment variables.\n- **Bot Not Responding:** Confirm that the bot token is valid and the bot has appropriate permissions.\n- **Database Errors:** Verify your MongoDB URI and ensure that MongoDB is running.\n\n## Contributing\n\nContributions are welcome! Whether you're fixing bugs, adding features, or improving documentation, your contributions help improve RickBot.\n\n### Getting Started\n\n1. **Fork the Repository:** Click the \"Fork\" button on the repository page.\n2. **Clone Your Fork:** Clone the repository to your local machine:\n\n   ```bash\n   git clone https://github.com/Lagden-Development/rickbot.git\n   ```\n\n3. **Create a Branch:** Always create a new branch for your changes:\n\n   ```bash\n   git checkout -b feature/your-feature-name\n   ```\n\n### Making Changes\n\n1. **Commit Messages:** Write clear and concise commit messages. Use this format:\n\n   ```text\n   [Component] Brief description of changes\n   ```\n\n   Example:\n\n   ```text\n   [Cog] Added command to fetch weather updates\n   ```\n\n2. **Code Style:** Maintain the existing code style. Use consistent indentation and document complex logic with comments.\n3. **Documentation:** Update relevant documentation (including the README) to reflect your changes. Add docstrings where appropriate.\n\n### Testing Your Changes\n\n1. **Run Tests:** Test your changes to ensure they work as expected.\n2. **Lint Your Code:** Run a linter to check for code style issues:\n\n   ```bash\n   flake8 your_file.py\n   ```\n\n### Submitting Changes\n\n1. **Push to Your Fork:**\n\n   ```bash\n   git push origin feature/your-feature-name\n   ```\n\n2. **Create a Pull Request:** Open a pull request on the original repository with a detailed description of your changes and any issues it addresses.\n\n### Contribution Guidelines\n\n- **Bug Fixes:** Reference the issue number in your commit messages and pull request description.\n- **New Features:** Clearly explain the new feature and its value.\n- **Documentation:** Ensure all new features are documented appropriately.\n\n## Support\n\nIf you need help or have questions, we’re here to assist you. However, please keep the following in mind:\n\n- **RickBot Issues:** We provide support for any bugs, feature requests, or general questions related to RickBot. Join our [Discord Server](https://discord.gg/zXumZ5jsBF) or get in contact via [Email](mailto:contact@lagden.dev).\n- **discord.py Issues:** For issues related specifically to discord.py, please refer to the [discord.py documentation](https://discordpy.readthedocs.io/en/stable/) or join the [discord.py support server](https://discord.gg/dpy).\n\n### How to Get Support\n\n1. **Check Existing Issues:** Search the [issue tracker](https://github.com/zachlagden/rickbot/issues) for similar problems before posting a new issue.\n2. **Create a New Issue:** If no solution is found, create a new issue and provide as much detail as possible, including steps to reproduce and any error messages.\n3. **Submit a Pull Request:** If you have a solution for the issue, feel free to submit a pull request.\n\n## License\n\nThis project is licensed under a non-commercial open-source license. View the full license [here](https://github.com/Lagden-Development/.github/blob/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flagden-development%2Frickbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flagden-development%2Frickbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flagden-development%2Frickbot/lists"}