参考手册
模板变量
每个动作文本可用的变量、变量内容及适用触发器
将 {name} 这样的变量写在大括号中,Vfinity 会在步骤运行时填入相应内容。例如“谢谢 {name} 送的 {gift}!”会变成“谢谢 Mika 送的玫瑰!”。
常用变量
| 变量 | 内容 | 适用触发器 |
|---|---|---|
{name} | 观众显示名称;没有显示名称时为 @用户名 | 有观众身份的触发器 |
{nickname} | 观众显示名称 | 有观众身份的触发器 |
{uniqueId} | 不含 @ 的用户名 | 有观众身份的触发器 |
{points} | 扣除命令费用后的观众积分余额 | 有观众身份的触发器 |
{trigger} | API 触发器名称,或 gift、chat 等触发器类型 | 所有触发器 |
{gift} | 礼物名称 | 礼物 |
{count} | 礼物连击数量或点赞数量 | 礼物、点赞 |
{diamonds} | 单件礼物的钻石价值 | 礼物 |
{totalDiamonds} | 整组连击的价值:钻石 × 数量 | 礼物 |
{likes} | 本次事件的点赞数 | 点赞 |
{totalLikes} | 直播间累计点赞数 | 点赞、直播间点赞里程碑 |
{comment} | 聊天消息,或随礼物、奖励一起发送的消息 | 聊天消息、本场直播首次发言、礼物、Twitch 频道积分 |
{args} | 命令后面的完整文本 | 聊天消息 |
{arg1} 至 {arg9} | 命令后第 1 至第 9 个词,或正则表达式的捕获内容 | 聊天消息 |
积分余额按平台分别计算;TikTok LIVE 和 Twitch 上相同的名称也各有自己的余额。
特定触发器的变量
| 变量 | 内容 | 触发器 |
|---|---|---|
{months} | 订阅月数,或成为 YouTube 会员的月数 | 订阅 |
{rewardName}、{rewardCost} | 奖励的名称,以及它花费的频道积分 | Twitch 频道积分 |
{rewardId}、{redemptionId} | Twitch 为该奖励分配的 ID,以及本次兑换的 ID | Twitch 频道积分 |
{viewers} | 突袭带来的观众数,或当前直播间人数 | 突袭、观众人数里程碑 |
{followers} | 粉丝总数 | 粉丝数里程碑 |
{coins} | 送礼者投入宝箱的金币数 | 宝箱 |
{emoteUrl} | 第一个表情的图片地址 | 订阅者表情 |
{questionText} | 提问内容 | LIVE提问 |
{phase}、{level}、{total} | 欢呼列车的阶段、等级与总量 | 欢呼列车 |
{value}、{target}、{cycle} | 目标当前值、目标值及重复目标的轮次 | 叠加层目标达成 |
{result} | 转盘停下的选项 | 转盘结果 |
{winner}、{tickets}、{entrants} | 中奖者姓名、其抽奖券数与参与人数 | 抽奖中奖者 |
{team}、{score}、{otherScore} | 获胜队伍、该队分数与另一队分数 | 拔河获胜 |
{level}、{levelName} | 达到的等级编号和名称 | 达到热度等级 |
抽奖中奖者也会将中奖者作为当前观众,因此 {name} 同样适用。在礼物中,{comment} 是随 Twitch Cheer、Kicks 礼物或 YouTube Super Chat 一起发送的消息,或观众为奖励输入的文字。
API 触发器字段
API 触发可将收到的 data 中每个顶层文本、数字或布尔字段变为变量,最多 50 个;嵌套对象不适用。发送 {"name":"raid_alert","data":{"user":"Mika"}} 后,步骤可使用 {user}。
对战、TikTok LIVE目标、LIVE提问和超级粉丝也会以相同方式开放 TikTok 的顶层字段,例如对战的 {outcome},或 LIVE 目标的 {description} 和 {progress}。
可使用变量的位置
| 步骤或位置 | 字段 | 填入方式 |
|---|---|---|
| 朗读自定义台词 | 朗读文本 | 通过 TTS 内容审核后作为语音文本 |
| 控制 OBS、写入文本来源 | 文本 | 纯文本 |
| 调用 HTTP Webhook | URL / 动作 ID | 仅在路径与查询部分进行百分号编码 |
| 调用 HTTP Webhook | JSON 正文 / 参数 | JSON 的文本值中 |
| Streamer.bot 动作 | JSON 正文 / 参数 | JSON 的文本值中 |
| 应用命令 | 值或值(JSON) | 文本值中 |
Webhook 始终发送至你输入的主机:变量只能改变路径和查询参数,不能改变服务器。在 JSON 中仅文本值会替换,因此观众消息无法添加字段或破坏结构。
变量如何填入
- 没有值的变量会变为空文本,例如关注事件中的
{gift}。 - Vfinity 不认识的变量(如
{banana})保持原样。 - 在语音和纯文本中,换行会变为空格,控制字符会移除;单个值最多 500 个字符。
- 只替换一次。如果观众名字真的叫
{name},它会保持{name},不会再次替换。 - 名称区分大小写:
{Name}不等于{name}。
提醒文本
提醒卡片的自定义消息使用来自提醒本身的占位符,而非事件变量。
| 占位符 | 内容 |
|---|---|
{name} | 送礼者,以强调色显示 |
{gift}、{count} | 礼物及数量 |
{diamonds}、{totalDiamonds} | 单件礼物和整组连击的价值 |
{likes}、{totalLikes} | 达到的点赞里程碑和直播间总数 |
{months} | 订阅提醒中的订阅月数 |
{viewers} | 突袭带来的观众数 |
没有值的提醒占位符显示为 0 或空白。文本转语音会朗读与卡片相同的文本。
