{"id":20812331,"url":"https://github.com/kutu-dev/disopy","last_synced_at":"2025-05-07T10:41:25.102Z","repository":{"id":182431496,"uuid":"668483393","full_name":"kutu-dev/disopy","owner":"kutu-dev","description":"A Discord bot for listening music from a Subsonic server.","archived":false,"fork":false,"pushed_at":"2024-11-27T17:14:38.000Z","size":2652,"stargazers_count":5,"open_issues_count":4,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-31T09:11:11.611Z","etag":null,"topics":["dicord-bot","discord","discord-py","subsonic","subsonic-client"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kutu-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","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-19T23:29:20.000Z","updated_at":"2025-03-23T22:33:29.000Z","dependencies_parsed_at":"2024-11-06T20:17:39.114Z","dependency_job_id":"bdce0466-68af-48ac-9064-59917e19e3a0","html_url":"https://github.com/kutu-dev/disopy","commit_stats":null,"previous_names":["kutu-dev/disopy"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kutu-dev%2Fdisopy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kutu-dev%2Fdisopy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kutu-dev%2Fdisopy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kutu-dev%2Fdisopy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kutu-dev","download_url":"https://codeload.github.com/kutu-dev/disopy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252463430,"owners_count":21751765,"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":["dicord-bot","discord","discord-py","subsonic","subsonic-client"],"created_at":"2024-11-17T20:53:02.611Z","updated_at":"2025-05-07T10:41:25.076Z","avatar_url":"https://github.com/kutu-dev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\" markdown=\"1\"\u003e\n\u003ch1\u003eDisopy\u003c/h1\u003e\n\n[![justforfunnoreally.dev badge](https://img.shields.io/badge/justforfunnoreally-dev-9ff)](https://justforfunnoreally.dev)\n![PyPI - Version](https://img.shields.io/pypi/v/disopy)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/disopy)\n\nA Discord bot for listening music from a Subsonic server.\n\u003c/div\u003e\n\n## Setup\nThe only external dependencies needed are:\n- Python 3.13.0 or higher.\n- `ffmpeg`.\n- `libopus`.\n- `libffi-devel`.\n\nThen just install the bot from [PyPI](https://pypi.org/) with [pipx](https://github.com/pypa/pipx):\n```sh\npipx install disopy\n```\n\nOr directy with `pip`:\n```sh\npython3 -m pip install disopy\n```\n\nFinally generate a basic config file:\n```sh\ndisopy --generate-config\n```\n\nIt will be located at `${XDG_CONFIG_DIR}/disopy/config.toml` (in most cases `$HOME/.config/disopy/config.toml`), remember to edit it with your configuration values.\n\n### Docker\nThere is an official Docker container with name [`ghcr.io/kutu-dev/disopy`](https://github.com/kutu-dev/disopy/pkgs/container/disopy). An [example compose file](./compose.yaml) is also provided.\n\n## Running the bot\nThe bot needs two environment variables:\n### `DISOPY_SUBSONIC_PASSWORD`\nThe password to be send to the Subsonic REST API. Usually it'll be the same that you use to login in the WebUI of your Subsonic compatible server.\n\n### `DISOPY_DISCORD_TOKEN`\nThe token to be used when authenticating to the Discord API. To set up a bot on Discord follow this tutorial:\n1. Go to the [Discord Developer Portal](https://discord.com/developers/applications).\n2. Create a new application.\n3. On the application go to `Bot`.\n4. Enable `Message Content Intent`.\n5. And click on `Reset Token` to get string you should put on the env variable.\n\n#### How to create an invite link\n1. Go to the [Discord Developer Portal](https://discord.com/developers/applications).\n2. Enter your bot application.\n3. On the application go to `OAuth2`.\n4. Copy your `Client ID`.\n5. Go to this preconfigured [Discord Permissions Calculator](https://discordapi.com/permissions.html#2184186880).\n6. Paste your `Client ID` on the bottom.\n7. Copy and share your invite link at the bottom of the web!\n\nAnd then just start the bot!\n```sh\nDISOPY_SUBSONIC_PASSWORD=foo DISOPY_DISCORD_TOKEN=bar disopy\n```\n\n## Contributing\nIf you are interested in fixing bugs or adding new features please check the [contributing guide](./CONTRIBUTING.md).\n\n## Acknowledgements\n- Created with :heart: by [Jorge \"Kutu\" Dobón Blanco](https://dobon.dev).\n- [JmTexas19](https://github.com/JmTexas19): Creator of [Subrift](https://github.com/JmTexas19/subrift), project forked that served as a base for Disopy.\n- [iGieri](https://github.com/iGieri): Fix issue [#1](https://github.com/kutu-dev/disopy/issues/1).\n- [outmaneuver](https://github.com/outmaneuver): Fix issue [#3](https://github.com/kutu-dev/disopy/issues/3).\n- [An May (YUR0ii)](https://github.com/YUR0ii): Make [HTTPS optional](https://github.com/kutu-dev/disopy/pull/11).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkutu-dev%2Fdisopy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkutu-dev%2Fdisopy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkutu-dev%2Fdisopy/lists"}