#discord-rich-presence #rich-presence #discord #mpd #music #rpc #mopidy

app mpd-discord-rpc

使用富存在Discord中显示MPD当前播放的曲目/专辑/艺术家

24个稳定版本

1.7.3 2024年6月13日
1.7.2 2024年3月15日
1.7.1 2023年7月9日
1.6.0 2023年3月29日
1.1.2 2020年3月21日

#16音频

MIT 许可证

27KB
504

MPD Discord RPC

crates.io aur

使用富存在Discord中显示MPD当前播放的曲目/专辑/艺术家,以及专辑封面。

如果您像我一样,有多个服务器交替使用,它包括对多个MPD主机支持。

程序不需要MPD或Discord运行即可运行。

安装完成后,只需运行 mpd-discord-rpc

status image

安装

Cargo

可以在这里找到cargo包:此处

cargo install mpd-discord-rpc

Arch Linux

有两个AUR包可用

systemd单元已包含,可以使用以下命令启动:

systemctl --user enable --now mpd-discord-rpc 

NixOS

您可以在nixpkgs中使用mpd-discord-rpc包。home-manager用户也可以使用services.mpd-discord-rpc.enable选项。

非常感谢Ilan Joselevich维护这两者。

配置

运行程序一次将生成默认配置文件。在Linux上,这将是~/.config/discord-rpc/config.toml

  • id - 要运行的Discord应用程序ID。
  • hosts - MPD服务器主机套接字地址数组。将按顺序尝试每个地址,直到找到正在播放的服务器。
  • format - 格式字符串。下面列出了标记。
    • details - 顶部行的格式字符串。默认情况下这是歌曲标题。
    • state - 第二行的格式字符串。默认情况下这是艺术家/专辑。
    • timestamp - 第三行的日期时间模式。默认为'elapsed'。可以是elapsedleftoff之一。默认为elapsed
    • large_image - 以大图形式显示的丰富存在资产名称。默认为 "notes"。将其设置为 "" 将禁用大图。
    • small_image - 以小图形式显示的丰富存在资产名称。默认为 "notes"。将其设置为 "" 将禁用小图。
    • large_text - 鼠标悬停在大型图像上时显示的格式字符串。将其设置为 "" 将禁用悬停。
    • small_text - 鼠标悬停在小图像上时显示的格式字符串。将其设置为 "" 将禁用悬停。

格式化令牌

格式字符串中的任何部分如果不匹配以下令牌,将按原样显示。以下将自动替换为从MPD获取的值

  • $title
  • $album
  • $artist
  • $albumartist
  • $date
  • $track
  • $disc
  • $genre
  • $duration
  • $elapsed

默认配置

如果不存在,则自动生成此配置文件。此处包含以供参考。

id = 677226551607033903
hosts = ["localhost:6600"]

[format]
details = "$title"
state = "$artist / $album"
timestamp = "elapsed"
large_image = "notes"
small_image = "notes"
large_text = ""
small_text = ""

专辑封面

专辑封面自动从MusicBrainz数据库和专辑封面存档中提取。但是,只有找到封面时才会获取封面;您可以通过以下几种方式来帮助这一过程

  • 确保您的音乐有合理的标签。在大多数情况下,MusicBrainz将搜索与专辑/艺术家名称匹配的发行。
  • 为您的音轨添加MusicBrainz发行标签。这是MPD官方支持的,可以使用MusicBrainz Picard自动完成。
  • 将缺少的专辑封面添加到MusicBrainz中。许多专辑缺少封面,您可以将自己的上传到数据库中,为所有人贡献这些封面。

依赖项

~16–51MB
~780K SLoC