同步 ROON 实时听音状态至 Discord

前言

以前一直用 fb2k 最近转到 ROON 后一直想让 ROON 也可以像 fb2k 一样装个插件将听音实时状态同步到 dc 上,于是今天心血来潮搜了下发现了下面这个几乎无人关注的插件

DC 效果预览
DC 效果预览

安装

该插件基于 Discord RPC 运行,请提前在电脑上安装好 Discord 并登录

  1. 下载插件源代码在想要安装的目录解压后进入项目根文件夹,例:D:\discord-presence-roon
  2. 在项目根目录打开 cmd 安装插件需要的依赖:npm install
  3. 启动插件并测试能否正常运行:node .
  4. 在 ROON 扩展页面启用并配置相关栏目
  5. 确认同步无误后即安装完成

配置一键启动脚本

  1. 在插件源代码根目录创建 start.bat 文件,此处的 D:\discord-presence-roon 修改成你自己安装的目录
    @echo off
    cd /d "D:\discord-presence-roon"
    node .
  2. 双击启动测试能否成功启动

    我个人使用 nvs ,所以在启动脚本的第二行增加了
    call "C:\Users\[Username]\AppData\Local\nvs\nvs.cmd" use 18.20.2
    来切换到低 Node.js 版本

后台运行隐藏 cmd 窗口

在插件源代码目录创建 discord-presence-roon.vbs 文件,此处的 D:\discord-presence-roon\start.bat 修改成上一步中你创建 bat 的路径

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "D:\discord-presence-roon\start.bat" & Chr(34), 0

创建任务计划实现 开机&休眠后 自启

  1. 任意处创建一个 RoonPresence-AutoRestart.xml 文件 ,粘入:
    <?xml version="1.0" encoding="UTF-16"?>
    <Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
    <RegistrationInfo>
    <Date>2025-03-31T10:00:00</Date>
    <Author>Stardream</Author>
    <Description>Auto-start Roon Discord Rich Presence at boot and after wake or unlock.</Description>
    </RegistrationInfo>
    <Triggers>
    <LogonTrigger>
    <Enabled>true</Enabled>
    </LogonTrigger>
    <SessionStateChangeTrigger>
    <StateChange>SessionUnlock</StateChange>
    <Enabled>true</Enabled>
    </SessionStateChangeTrigger>
    </Triggers>
    <Principals>
    <Principal id="Author">
    <RunLevel>HighestAvailable</RunLevel>
    <LogonType>InteractiveToken</LogonType>
    </Principal>
    </Principals>
    <Settings>
    <MultipleInstancesPolicy>StopExisting</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>true</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
    <StopOnIdleEnd>false</StopOnIdleEnd>
    <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>true</WakeToRun>
    <ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
    <Priority>5</Priority>
    </Settings>
    <Actions Context="Author">
    <Exec>
    <Command>wscript.exe</Command>
    <Arguments>"D:\discord-presence-roon\start.vbs"</Arguments>
    </Exec>
    </Actions>
    </Task>
    记得将尾端的 vbs 地址改为你自己的
  2. 打开 任务计划程序,点选右边栏的 导入 选择刚创建的 xml 文件
  3. 检查下是否有需要更改的 触发器 等等,确定勾选了 以最高权限运行 后确定即可