{"id":13514494,"url":"https://github.com/JakeStanger/mpd-discord-rpc","last_synced_at":"2025-03-31T03:30:51.292Z","repository":{"id":37004749,"uuid":"240386758","full_name":"JakeStanger/mpd-discord-rpc","owner":"JakeStanger","description":"Rust application which displays your currently playing song / album / artist from MPD in Discord using Rich Presence.","archived":false,"fork":false,"pushed_at":"2025-03-17T22:23:10.000Z","size":676,"stargazers_count":98,"open_issues_count":4,"forks_count":17,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-26T11:08:48.421Z","etag":null,"topics":["discord","discord-rpc","mopidy","mpd","music","rpc","rust"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/mpd-discord-rpc","language":"Rust","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/JakeStanger.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2020-02-13T23:16:15.000Z","updated_at":"2025-03-19T10:45:47.000Z","dependencies_parsed_at":"2023-11-07T18:26:14.495Z","dependency_job_id":"ac5c9a8a-913d-4a07-b4b5-a3de77207185","html_url":"https://github.com/JakeStanger/mpd-discord-rpc","commit_stats":{"total_commits":240,"total_committers":12,"mean_commits":20.0,"dds":0.5291666666666667,"last_synced_commit":"66a2e620363d4fc996263fd1f8d018dd36ec4c61"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JakeStanger%2Fmpd-discord-rpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JakeStanger%2Fmpd-discord-rpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JakeStanger%2Fmpd-discord-rpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JakeStanger%2Fmpd-discord-rpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JakeStanger","download_url":"https://codeload.github.com/JakeStanger/mpd-discord-rpc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246413377,"owners_count":20773053,"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","discord-rpc","mopidy","mpd","music","rpc","rust"],"created_at":"2024-08-01T05:00:56.948Z","updated_at":"2025-03-31T03:30:50.804Z","avatar_url":"https://github.com/JakeStanger.png","language":"Rust","funding_links":[],"categories":["Music"],"sub_categories":[],"readme":"# MPD Discord RPC\n\n![crates.io](https://img.shields.io/crates/v/mpd-discord-rpc)\n![aur](https://img.shields.io/aur/version/mpd-discord-rpc-git)\n\nDisplays your currently playing song / album / artist from MPD in Discord using Rich Presence,\nalong with the album art.\n\nIt includes support for multiple MPD hosts if, like me, you have more than one server you alternate between.\n\nThe program does not require MPD or Discord to be running in order to run.\n\nOnce installed just run `mpd-discord-rpc`.\n\n![status image](https://user-images.githubusercontent.com/5057870/174365384-f8ce4aae-cd99-4177-9304-da757206015a.png)\n\n## Installation\n\n### Cargo\n\nThe cargo package can be found [here](https://crates.io/crates/mpd-discord-rpc).\n\n```\ncargo install mpd-discord-rpc\n```\n\n### Arch Linux\n\nTwo AUR packages are available:\n\n- [mpd-discord-rpc](https://aur.archlinux.org/packages/mpd-discord-rpc)\n- [mpd-discord-rpc-git](https://aur.archlinux.org/packages/mpd-discord-rpc-git)\n\nThe systemd unit is included and can be started with:\n\n```\nsystemctl --user enable --now mpd-discord-rpc \n```\n\n### NixOS\n\nYou can use the [`mpd-discord-rpc`](https://search.nixos.org/packages?channel=unstable\u0026show=mpd-discord-rpc\u0026from=0\u0026size=50\u0026sort=relevance\u0026type=packages\u0026query=mpd-discord-rpc) package in nixpkgs. Users of home-manager can also use the [`services.mpd-discord-rpc.enable`](https://github.com/nix-community/home-manager/blob/master/modules/services/mpd-discord-rpc.nix) option.\n\nMany thanks to [Ilan Joselevich](https://github.com/Kranzes) for maintaining both of those.\n\n## Configuration\n\nRunning the program once will generate a default configuration file. On Linux this will be at `~/.config/discord-rpc/config.toml`\n\n- **id** - The Discord application ID to run through. \n- **hosts** - An array of MPD server host socket addresses. \n    Each one will be tried in order until a playing server is found.\n- **format** - Format strings. Tokens are listed below.\n    - **details** - A format string for the top line. \n        This is the song title by default.\n    - **state** - A format string for the second line. \n        This is the artist / album by default.\n    - **timestamp** - The timestamp mode for the third line. \n        This is 'elapsed' by default.\n        Can be one of `elapsed`, `left` or `off`. Falls back to `elapsed`.\n    - **large_image** - The name of the rich presence asset that gets displayed as the large image. This is `\"notes\"` by default. Setting this to `\"\"` disables the large image.\n    - **small_image** - The name of the rich presence asset that gets displayed as the small image. This is `\"notes\"` by default. Setting this to `\"\"` disables the small image.\n    - **large_text** - A format string that is displayed upon hovering the large image. Setting this to `\"\"` disables the hover.\n    - **small_text** - A format string that is displayed upon hovering the small image. Setting this to `\"\"` disables the hover.\n\n### Formatting Tokens\n\nAny part of the format string that does not match one of these tokens will be displayed as is.\nThe following will automatically be replaced with their value from MPD:\n\n- `$title`\n- `$album`\n- `$artist`\n- `$albumartist`\n- `$date`\n- `$track`\n- `$disc`\n- `$genre`\n- `$duration`\n- `$elapsed`\n\n### Default Configuration\n\nThis configuration file is automatically generated if one does not exist. \nIt is included here for reference.\n\n```toml\nid = 677226551607033903\nhosts = [\"localhost:6600\"]\n\n[format]\ndetails = \"$title\"\nstate = \"$artist / $album\"\ntimestamp = \"elapsed\"\nlarge_image = \"notes\"\nsmall_image = \"notes\"\nlarge_text = \"\"\nsmall_text = \"\"\n```\n\n## Album art\n\nAlbum art is pulled from the MusicBrainz database and Album Art Archive automatically. \nYou'll only get a cover if it can be found though; there's a couple of things you can do to help this:\n\n- Make sure your music is sensibly tagged. \n    In most cases MusicBrainz will be searched for releases matching the album/artist name.\n- Add MusicBrainz release tags to your tracks. \n    This is officially supported by MPD and can be done automatically using MusicBrainz Picard.\n- Add missing album art to MusicBrainz. \n    Many albums are missing covers, and you can upload your own to the database to contribute these for everyone.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJakeStanger%2Fmpd-discord-rpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJakeStanger%2Fmpd-discord-rpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJakeStanger%2Fmpd-discord-rpc/lists"}