{"id":21770336,"url":"https://github.com/laplacexd/cosette","last_synced_at":"2026-05-18T08:03:08.626Z","repository":{"id":122357172,"uuid":"414466612","full_name":"LaplaceXD/Cosette","owner":"LaplaceXD","description":"A music bot created with discord.py that makes use of OOP principles, event loops, and async/await.","archived":false,"fork":false,"pushed_at":"2022-09-12T12:44:44.000Z","size":342,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-26T03:11:12.975Z","etag":null,"topics":["async-await","discord-py","eventloop","oop"],"latest_commit_sha":null,"homepage":"https://discord.com/api/oauth2/authorize?client_id=893906543177768961\u0026permissions=8\u0026scope=bot","language":"Python","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/LaplaceXD.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-10-07T05:01:07.000Z","updated_at":"2021-11-12T04:32:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"3fcede30-2d47-4bbf-bcc8-a9b14b5f0da9","html_url":"https://github.com/LaplaceXD/Cosette","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaplaceXD%2FCosette","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaplaceXD%2FCosette/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaplaceXD%2FCosette/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaplaceXD%2FCosette/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LaplaceXD","download_url":"https://codeload.github.com/LaplaceXD/Cosette/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244745751,"owners_count":20503050,"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":["async-await","discord-py","eventloop","oop"],"created_at":"2024-11-26T14:12:15.997Z","updated_at":"2026-05-18T08:03:03.580Z","avatar_url":"https://github.com/LaplaceXD.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cosette\n![Last Update](https://img.shields.io/github/last-commit/LaplaceXD/Cosette?color=blue\u0026label=Last%20Update) ![Activity](https://img.shields.io/badge/Activity-Maintaining-blueviolet)\n\nCosette is a simple music bot that I created to learn `python` and to satiate my curiosity on how to create `discord bots`. The bot can be used through the `!` command prefix.\n\n## How to add to Discord?\n1. Go to do this [link](https://discord.com/oauth2/authorize?client_id=893906543177768961\u0026permissions=8\u0026scope=bot).\n2. Select the server where you want the bot to reside.\n3. Grant authorization.\n4. Type `!ping` to test whether the bot is now in your discord.\n5. ...\n6. Profit.\n\n## Installation\n\nUse the package manager [pip](https://pip.pypa.io/en/stable/) to install the dependencies of this project.\n\n```bash\npip install -U discord.py pynacl youtube-dl dacite Flask\n```\n\nYou also need FFmpeg in your PATH environment variable or the FFmpeg.exe binary in your bot's directory on Windows.\n\nAlternatively, you can also fork my [repl.it](https://replit.com/@LaplaceXD/MusicPlayer) where I am hosting the bot.\n\n## Usage\n*I have been too busy, I'll update this once I have properly documented the bot.*\n\n## Contributing\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\n## Roadmap\n```\nIMPORTANT: Refactor first before finishing\n\nURGENT: Separate funbot from musicbot so you can add nhentai feed on funbot\nURGENT: Decouple music and youtubeDL and create a service for youtubeDL instead of creating a source\n\nCURRENTLY:\n- Adding description to bot how many guilds its playing at\n- Adding !help\n- Implement a logger\n- Add volume\n- Adding !skipplay\n- Adding !clear\n- Adding !stop\n- Learn what discord.intents are and start restricting the permissions of the bot\n- slowly document bot\n\nRefactoring:\n- Handle Errors and looking for other sources on youtube DL\n- Add looping playlist\n\nTo be implemented:\n- add !autoplay [on|off|status] feature which plays the next recommended video of youtube\n- next / skip // add numbers for this one to instantly skip\n- Bot should not activate commands that are different from the channel that it was instantiated\n\n- add emoji control support\n- use db to save playlist using !saveasplaylist [name]\n- !playlist [name] to play a set of songs\n- playlist support from youtube\n- spotify and other music streaming support\n\nVERY FAR FROM THE PIPELINE:\nskipto - to skip to certain song in the queue and it deletes the prior songs\nfastforward - to ff the song by providing time in seconds\nrewind - opposite of fastforward\nmove - move a song up or down in the queue\nseek - to move to certain timestamp in rhe current playing song\nloopqueue - to replay the queue after it plays the last song\n```\n\n## Acknowledgement\n- [FreeCodeCamp - How to Code a Discord Bot](https://www.youtube.com/watch?v=7rU_KyudGBY) for teaching me how to keep the bot alive in my repl.\n- [Max A - How to make a music bot like rhythm](https://www.youtube.com/watch?v=jHZlvRr9KxM\u0026t=321) for teaching me the basics on how to set up a music bot in repl and how to make use of `discord.py` to create one.\n- [vbe0201 - music_bot_example](https://gist.github.com/vbe0201/ade9b80f2d3b64643d854938d40a0a2d) for teaching me the more advanced stuff on creating a music bot, such as async.io, event loops, and so on.\n- [Discord.py](https://discordpy.readthedocs.io/en/stable/api.html)\n\n## License\n[MIT License](https://raw.githubusercontent.com/LaplaceXD/Cosette/master/LICENSE)\n```\nCopyright (c) 2021 Jonh Alexis Buot\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaplacexd%2Fcosette","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaplacexd%2Fcosette","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaplacexd%2Fcosette/lists"}