SinusBot
Macro Deck 自带控制 SinusBot 实例播放的音乐,并在面板上显示正在播放的内容。
两个正在播放曲目的音乐播放器组件,一个为“全封面”样式,一个为“小封面”样式,标题栏中都有 SinusBot 的名称和标志
- 在任意 SinusBot 实例上播放、暂停、切换曲目和跳转
- 设置音量、随机播放和循环模式
- 播放机器人曲库中的曲目
- 在音乐播放器组件中显示正在播放的曲目
- 可添加任意数量的机器人实例
SinusBot 是一款运行在自己服务器上的 TeamSpeak 和 Discord 音乐机器人。SinusBot 集成将 Macro Deck 连接到 SinusBot 的 Web 界面,因此可以控制机器人实例播放的内容,并在面板上查看当前曲目。它适用于 Macro Deck 能通过网络访问的任何 SinusBot,无论是在同一台电脑上、本地网络中还是服务器上。
可以做什么
- 播放、暂停、切换播放状态、跳到下一首或上一首,以及跳转到当前曲目中的某个位置。
- 设置音量、增大或减小音量,开启或关闭随机播放,开启或关闭循环。
- 使用 Play Track 播放机器人曲库中的特定曲目。将曲目留空,即可在按下按键时再选择。
- 在 Macro Deck 的 音乐播放器 组件中显示正在播放的曲目、艺术家和封面,并通过变量在标签中使用机器人的曲目、播放位置和音量。
一些示例设置:
- 为 TeamSpeak 频道中的机器人设置一排按键:Previous Track、Toggle Play/Pause 和 Next Track。播放按键会显示机器人是否正在播放。
- 一个绑定到机器人音量变量
sinusbot_<instance>_volume的滑块,说话时可以调低音乐。 - 为每个机器人设置一个 音乐播放器 组件,旁边的按键通过
music_player_<player>_album_color变量让颜色跟随封面变化。
多个机器人及运行方式
每个要控制的 SinusBot 实例都是一个配置。可以添加任意数量的实例,包括位于不同服务器上的实例,并在每个动作的 Player 字段中选择实例。如果 Player 留空,动作会控制第一个实例。每个配置都有自己的一组变量,以配置名称命名,例如 sinusbot_<instance>_volume。
设置配置时,Macro Deck 会检查连接并加载机器人的实例。运行期间,它会定期读取播放状态。如果机器人短暂无法访问,面板会继续显示最后的曲目;如果一直无法访问,sinusbot_<instance>_is_connected 变量为 false,动作在机器人重新响应之前不会执行任何操作。
准备工作
- Macro Deck 能够访问其 Web 界面的、正在运行的 SinusBot,例如
http://your-bot:8087。 - SinusBot 用户名和密码。
- 在 SinusBot Web 界面中至少创建了一个实例。
设置步骤
第 1 步: 检查 SinusBot Web 界面
在浏览器中打开 SinusBot Web 界面并登录。记下包含端口的地址,例如
http://192.168.1.20:8087,并确认至少有一个实例。第 2 步: 打开 SinusBot 集成
在 Macro Deck 中,点击侧边栏中的 集成,然后点击 SinusBot。在 概览 选项卡的 配置 部分中点击 添加配置。打开右上角的开关也会打开同一个对话框,完成设置后集成即会启用。
第 3 步: 输入服务器和登录信息
在 连接 SinusBot 对话框中输入:
- 服务器 URL:SinusBot Web 界面的地址,包含端口。
- 用户名 和 密码:登录 SinusBot 所用的账户。
点击 继续 后,Macro Deck 会测试连接并加载实例。
第 4 步: 选择实例
在 选择实例 中,在 实例 下选择机器人实例,然后点击 继续。配置会以 SinusBot 加括号内的实例名称保存。对每个要控制的其他实例重复这些步骤。
第 5 步: 为按键添加动作
在 面板 页面上点击一个按键。面板必须处于解锁状态:右上角显示 锁定 按钮时,面板即为解锁状态。编辑器打开时已选中 短按。点击 + 添加动作,在 添加动作 对话框左侧选择 SinusBot,选择 Toggle Play/Pause,然后在 Player 下选择实例。
第 6 步: 按下按键
在面板上按下该按键。机器人会开始或暂停播放,按键会显示当前状态。设为该实例的 音乐播放器 组件会显示正在播放的曲目。
动作13
可以放在按键上,也可以在流程中运行。
- Play
- 继续播放。
- Pause
- 暂停播放。
- Toggle Play/Pause
- 在播放和暂停之间切换,并在按键上显示当前状态。
- Next Track
- 跳到下一首曲目。
- Previous Track
- 跳到上一首曲目。
- Refresh State
- 立即重新读取当前的播放状态。
- Set Volume
- 设置播放音量(0 到 100%)。
- Volume Up
- 将播放音量提高 10%。
- Volume Down
- 将播放音量降低 10%。
- Seek
- 跳转到当前曲目中的某个位置,单位为秒。
- Toggle Shuffle
- 切换随机播放,或将其开启或关闭。
- Set Repeat Mode
- 开启或关闭循环。SinusBot 只有一种循环模式,因此两个循环选项都会将其开启。
- Play Track
- 播放机器人曲库中的一首曲目。留空则在按下按键时再选择曲目。
触发器7
按键或流程可以对这些事件做出响应。
- 曲目已切换
- 开始播放另一首曲目(位于 音乐播放器 下)。
- 播放已开始
- 播放已开始或已继续(位于 音乐播放器 下)。
- 播放已暂停
- 播放已暂停(位于 音乐播放器 下)。
- 播放已停止
- 播放已停止(位于 音乐播放器 下)。
- 音量已更改
- 机器人的音量发生了变化,附带新值和之前的值(位于 音乐播放器 下)。
- 播放器已连接
- 机器人实例变为可以访问(位于 音乐播放器 下)。
- 播放器已断开连接
- 机器人实例无法再访问(位于 音乐播放器 下)。
变量8
在按键和组件上显示这些值,或在条件中使用它们。
sinusbot_<instance>_current_track_name,sinusbot_<instance>_current_artist,sinusbot_<instance>_current_album- 当前曲目及其艺术家。SinusBot 不报告专辑,因此
sinusbot_<instance>_current_album始终为空。 sinusbot_<instance>_playback_state,sinusbot_<instance>_is_playing- 机器人正在播放、已暂停还是已停止。
sinusbot_<instance>_volume- 播放音量百分比。也可以设置它,例如通过滑块。
sinusbot_<instance>_track_duration,sinusbot_<instance>_current_position,sinusbot_<instance>_progress_percentage- 曲目长度和以秒为单位的播放位置,以及进度百分比。可以设置位置以进行跳转。
sinusbot_<instance>_album_art_url- 当前封面的地址。
sinusbot_<instance>_device_name- 机器人实例的名称。
sinusbot_<instance>_shuffle_enabled,sinusbot_<instance>_repeat_mode- 随机播放和循环是否开启。
sinusbot_<instance>_is_connected- Macro Deck 能否访问该机器人实例。
常见问题解答
可以控制多个机器人吗?
可以。为每个 SinusBot 实例添加一个配置,包括位于不同服务器上的实例。每个动作都有一个 Player 字段用于选择要控制的实例,每个配置也有自己的变量。
SinusBot 必须运行在同一台电脑上吗?
不必。Macro Deck 通过网络与 SinusBot Web 界面通信,因此机器人可以运行在服务器或另一台电脑上,只要 Macro Deck 能访问其地址即可。
设置提示找不到实例,该怎么办?
该账户没有可用的实例。请先在 SinusBot Web 界面中创建一个实例,然后重新设置配置。
机器人离线时会怎样?
短暂中断不会清空面板:它会在片刻内保留最后的曲目。如果机器人一直无法访问,sinusbot_<instance>_is_connected 变量为 false,Macro Deck 会持续尝试访问它。
密码存储在哪里?
密码加密存储在电脑上,只用于登录 SinusBot。
“聊天和语音”分类中的更多集成
Discord
Macro Deck 自带在面板上控制 Discord:静音、拒听、加入语音频道、更改语音设置,以及通过 Webhook 发布消息。
Discord Webhook
Macro Deck 自带通过 Webhook 向 Discord 频道发布带有嵌入和提及的丰富消息,并提供实时预览。