Files
lxc-streamutils/docs/components/song-request.md
T
2026-08-06 00:41:10 -07:00

1.8 KiB

song_request 点歌姬

每个账户自动拥有一个不可删除、不可重复创建的 song_request 实例,并与该账户的固定直播源绑定。组件只订阅规范化的 live.danmaku;业务状态由 PostgreSQL 保存,不依赖 OBS 是否在线。

弹幕命令

  • 点歌 <歌名>:合并首尾和连续空白,接受 1–80 字自由文本。当前或待唱队列中已有大小写不敏感的同名歌曲时忽略。
  • 打分 <1-5>:对事务执行时的当前歌曲评分。同一 Bilibili UID 只有一票,重复评分会覆盖旧分数。

首首点歌立即成为当前歌曲。完成或取消当前歌曲时,队首自动接替;置顶待唱项只把它移动为下一首,不打断当前歌曲。完成或取消后的歌名可以再次点播。

设置

themeId、fontFamily、fontBrightness、fontScale、scrollSpeedPixelsPerSecond 和 edgePauseSeconds 控制 OBS 外观与往返滚动。maxQueueSize、maxRequestsPerViewer 与 requestCooldownSeconds 是可选防刷限制;值 0 表示不限制。

moonlit-water(“静夜曲水”)与弹幕姬共享主题 ID:当前歌曲和待唱项会变为完全透明的衬线文字清单,以米金细线区分层级,不会在 OBS 上产生面板背景。

OBS 与管理

OBS 顶部固定显示当前歌曲、点歌用户、平均分和评分人数,下面保存全部待唱横条。列表超过实际浏览器源高度时从顶部滚到底部,再返回顶部;布局不假设固定分辨率。

控制台的“打开点歌统计”进入会话保护页面。它每两秒刷新完整活动队列和近期历史;页面隐藏时停止轮询。管理者可以置顶或取消待唱项,也可以完成或取消当前歌曲。所有 REST 查询都从会话取得 owner,并由 PostgreSQL RLS 再次限制组件归属。