{"id":18651225,"url":"https://github.com/fallendeity/discord.py-masterclass","last_synced_at":"2025-10-03T15:25:49.299Z","repository":{"id":177789444,"uuid":"660871048","full_name":"FallenDeity/discord.py-masterclass","owner":"FallenDeity","description":"A tutorial/guide explaining all features in discord.py and how to make a discord bot from scratch.","archived":false,"fork":false,"pushed_at":"2025-03-18T17:40:13.000Z","size":19520,"stargazers_count":35,"open_issues_count":7,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-18T18:46:35.607Z","etag":null,"topics":["discord-bot","discord-py","python","tutorial"],"latest_commit_sha":null,"homepage":"https://fallendeity.github.io/discord.py-masterclass/","language":null,"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/FallenDeity.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":"2023-07-01T04:39:39.000Z","updated_at":"2025-03-18T17:40:17.000Z","dependencies_parsed_at":"2024-11-07T06:49:00.897Z","dependency_job_id":"a052acff-464d-49cb-be05-e4234cf874a8","html_url":"https://github.com/FallenDeity/discord.py-masterclass","commit_stats":null,"previous_names":["fallendeity/discord.py-masterclass"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FallenDeity%2Fdiscord.py-masterclass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FallenDeity%2Fdiscord.py-masterclass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FallenDeity%2Fdiscord.py-masterclass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FallenDeity%2Fdiscord.py-masterclass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FallenDeity","download_url":"https://codeload.github.com/FallenDeity/discord.py-masterclass/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248431359,"owners_count":21102189,"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":["discord-bot","discord-py","python","tutorial"],"created_at":"2024-11-07T06:48:53.668Z","updated_at":"2025-10-03T15:25:49.293Z","avatar_url":"https://github.com/FallenDeity.png","language":null,"readme":"# Discord.py Masterclass\n\n[![Code formatter and linter](https://github.com/FallenDeity/discord.py-masterclass/actions/workflows/format-and-lint.yml/badge.svg)](https://github.com/FallenDeity/discord.py-masterclass/actions/workflows/format-and-lint.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python Version](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)\n[![discord.py](https://img.shields.io/badge/discord.py-master-blue.svg)](https://github.com/Rapptz/discord.py)\n\nA comprehensive guide and example collection for building Discord bots with discord.py. This repository serves as a masterclass for both beginners and experienced developers looking to create feature-rich Discord bots.\n\n## Documentation\n\nVisit our [comprehensive documentation](https://fallendeity.github.io/discord.py-masterclass/) to learn about:\n\n- Creating your first Discord bot\n- Understanding slash commands and hybrid commands\n- Working with views, buttons, and interactive components\n- Implementing cogs for better code organization\n- Creating custom converters and checks\n- Building pagination systems\n- Error handling best practices\n- Audio playback functionality\n- Custom help commands\n- And much more! ✨\n\n## Quick Start\n\n### Prerequisites\n\n- Python 3.9 or higher\n- Git\n- A Discord account and a bot token ([Get one here](https://discord.com/developers/applications))\n\n### Installation\n\n1. **Clone the repository**\n   ```bash\n   git clone https://github.com/FallenDeity/discord.py-masterclass.git\n   cd discord.py-masterclass\n   ```\n\n2. **Install Poetry** (if you don't have it)\n   ```bash\n   pip install poetry\n   ```\n\n3. **Install dependencies**\n   ```bash\n   poetry install\n   ```\n\n4. **Windows users only**: Extra step for Cairo (required for documentation), use if cairo is giving you issues\n   ```bash\n   pipwin install cairocffi\n   ```\n\n5. **Set up your bot token**\n\n   Create a `.env` file in the root directory:\n   ```env\n   TOKEN=your_bot_token_here\n   ```\n\n6. **Run an example**\n   ```bash\n   poetry run python examples/creating-a-bot/main.py\n   ```\n\n## Contributing\n\nWe love contributions! Whether you're fixing a bug, adding a new example, improving documentation, or suggesting new features, your help is appreciated.\n\nPlease read our [Contributing Guidelines](CONTRIBUTING.md) to get started. We welcome contributions of all kinds:\n\n- Bug fixes\n- New features and examples\n- Documentation improvements\n- Feature suggestions\n\n## Development\n\n### Running the Documentation Locally\n\n```bash\npoetry run mkdocs serve\n```\n\nVisit `http://127.0.0.1:8000/discord.py-masterclass/` to view the documentation.\n\n### Code Quality\n\nWe use several tools to maintain code quality:\n\n- **Black**: Code formatting\n- **isort**: Import sorting\n- **Ruff**: Fast Python linter\n\nRun all checks:\n```bash\npoetry run black .\npoetry run isort .\npoetry run ruff check .\n```\n\nor use the pre-commit hooks:\n```bash\npoetry run pre-commit run --all-files\n```\n\n## Contributors\n\nWe appreciate all contributions from the community! A big thank you to everyone who has contributed to this project.\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://triyan.dev/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/61227305?v=4?s=100\" width=\"100px;\" alt=\"Triyan Mukherjee\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTriyan Mukherjee\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/FallenDeity/discord.py-masterclass/commits?author=FallenDeity\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/aVitness\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/64283289?v=4?s=100\" width=\"100px;\" alt=\"Vitness\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eVitness\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/FallenDeity/discord.py-masterclass/commits?author=aVitness\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/DownDev\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/52790953?v=4?s=100\" width=\"100px;\" alt=\"Mikołaj Kruczek\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMikołaj Kruczek\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/FallenDeity/discord.py-masterclass/commits?author=DownDev\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://blog.thegamecracks.xyz/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/61257169?v=4?s=100\" width=\"100px;\" alt=\"thegamecracks\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ethegamecracks\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/FallenDeity/discord.py-masterclass/commits?author=thegamecracks\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/enriquebos\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/54767698?v=4?s=100\" width=\"100px;\" alt=\"Enrique Bos\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eEnrique Bos\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/FallenDeity/discord.py-masterclass/commits?author=enriquebos\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Snipy7374\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/100313469?v=4?s=100\" width=\"100px;\" alt=\"Snipy7374\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSnipy7374\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/FallenDeity/discord.py-masterclass/commits?author=Snipy7374\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://externref.duckdns.org/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/70657005?v=4?s=100\" width=\"100px;\" alt=\"sarthak\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003esarthak\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/FallenDeity/discord.py-masterclass/commits?author=externref\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://krypton.ninja/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/43011723?v=4?s=100\" width=\"100px;\" alt=\"Krypton\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKrypton\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/FallenDeity/discord.py-masterclass/commits?author=kkrypt0nn\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nIf you find this repository helpful, please consider giving it a star ⭐! It helps others discover this resource.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffallendeity%2Fdiscord.py-masterclass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffallendeity%2Fdiscord.py-masterclass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffallendeity%2Fdiscord.py-masterclass/lists"}