You need to enable JavaScript to run this app. 如何基于!uptime返回值联动实现Nightbot !rage命令的多阶段输出?
优惠活动
大模型
产品
解决方案
定价
更多

如何基于!uptime返回值联动实现Nightbot !rage命令的多阶段输出?

Nightbot 动态多阶!rage命令实现方案

该功能不需要依赖跨命令调用解析文本的复杂逻辑,利用Nightbot内置的原生变量和简单的嵌入式判断即可完成,完全可以覆盖5-6档动态愤怒状态的触发需求。
核心逻辑是放弃“调用原!uptime命令解析其输出文本”的思路,直接使用Nightbot原生提供的$(uptimeSeconds)变量获取已直播的精确秒数,再通过条件判断匹配对应愤怒档位,从根源上避免文本解析出错的问题。

配置步骤

1. 提前梳理档位阈值

先根据直播节奏定义6个档位的触发时长边界,可参考通用设置:

  • 0 < 时长 < 1小时:冷静状态
  • 1小时 ≤ 时长 < 2.5小时:最低级愤怒
  • 2.5小时 ≤ 时长 < 4小时:中度愤怒
  • 4小时 ≤ 时长 < 5小时:高度愤怒
  • 5小时 ≤ 时长 < 6.5小时:危急级愤怒
  • 时长 ≥ 6.5小时:究极愤怒

2. 替换原!rage命令内容

进入Nightbot的命令管理页面,找到原来配置的!rage自定义命令,把命令的返回值替换为如下可直接运行的代码逻辑:

$(eval
const liveSeconds = parseInt("$(uptimeSeconds)") || 0;
// 未开播状态返回提示
if(liveSeconds === 0) return "当前主播未开播,愤怒值暂未加载😴";
// 按时长从高到低匹配档位
const rageStages = [
  { trigger: 6.5*3600, content: "🔥 【究极愤怒】主播已连续播满6.5小时以上,正处于被离谱弹幕反复折磨的状态,随时可能提前下播吃宵夜" },
  { trigger: 5*3600, content: "⚠️ 【危急级愤怒】主播已播满5小时,现在处于暴躁临界值,刷奇怪弹幕很容易被当场调侃" },
  { trigger: 4*3600, content: "😠 【高度愤怒】主播已播4小时,现在已经开始公开吐槽观众点的离谱内容了" },
  { trigger: 2.5*3600, content: "😒 【中度愤怒】主播已播2.5小时,目前开始选择性忽略弹幕里的奇怪提问" },
  { trigger: 1*3600, content: "🙂 【最低级愤怒】主播刚播满1小时,状态稳定,顶多对离谱弹幕翻个白眼" },
  { trigger: 0, content: "😊 【冷静状态】主播开播不足1小时,情绪平稳,是今天最好说话的时段" }
];
const matchedStage = rageStages.find(stage => liveSeconds >= stage.trigger);
return matchedStage.content;
)
调整说明
  • 原有!uptime命令不需要做任何修改,该实现直接调用平台提供的原始直播时长数据,和独立的!uptime命令逻辑完全互不干扰,原命令可保持原有功能正常使用
  • 档位触发时长可自由调整:修改trigger字段对应的数值即可,计算逻辑为“目标小时数 * 3600”(3600为1小时对应的秒数),比如要把危急级愤怒的触发时长从5小时改成4.5小时,只需要把对应档位的trigger值改为4.5*3600
  • 每档对应的输出文案可完全替换成你原来!rage命令的固定输出风格,不需要改动判断逻辑
  • 该实现不会受你之前修改!uptime输出格式的影响,因为全程没有调用!uptime命令的返回文本,不会出现格式错位、解析失败的问题

注意:配置完成后可以在直播间用对应账号测试不同直播时长下的返回内容,确认档位匹配准确即可正式启用。

内容的提问来源于stack exchange,提问作者captainzeto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.14 04:36:08