Twitch 设置与 EventSub

简单聊天使用普通页面捕获;关注、订阅、Bits、奖励、Raid(观众转移)、Hype Train 及频道控制则使用 EventSub/WebSocket 模式。

选择 Twitch 来源模式

模式最适合重要区别
标准 从 Twitch 聊天页面或弹出页面捕获基本公开聊天。 读取页面公开的内容。操作简单,但不提供完整 EventSub 事件集。
WebSocket / EventSub 关注、订阅、Bits、奖励、Raid(观众转移)、直播状态、Hype Train、管理同步、发送聊天及频道详情。 需要 Twitch OAuth。仅当登录账号、频道角色、频道资格及授予的范围允许时,才会启用事件。

桌面应用设置

  1. 选择 添加来源 → Twitch(Add source → Twitch).
  2. 输入 Twitch 频道 URL 中使用的登录名。对于 twitch.tv/examplechannel,输入 examplechannel.
  3. 将 WebSocket 保持选中状态,以使用更丰富的 EventSub 来源。目前应用中的 Twitch 默认采用此模式。
  4. 选择 激活来源,然后 登录 Twitch.
  5. 授权请求的权限,并保持 Twitch 来源窗口打开。
Twitch 来源登录界面,提供 External browser 和 Local app 登录方式
桌面来源提供外部浏览器 OAuth 流程及本地应用流程。如果 Twitch 已在普通浏览器中正常使用,外部浏览器通常最方便。

浏览器扩展 EventSub 设置

  1. 安装并启用当前版本的 Social Stream Ninja 扩展。
  2. 打开 Twitch EventSub 来源页面.
  3. 替换 examplechannel 为要监控的频道登录名,修改 URL 中的该值。
  4. 选择 登录 Twitch 并批准所请求的访问权限。
  5. 保持该页面打开。测试警报前,确认 User 和 Channel 字段正确。
https://socialstream.ninja/sources/websocket/twitch.html?channel=CHANNEL_LOGIN

若使用基本的 Standard 捕获,请打开普通 Twitch 聊天或弹出聊天页面,并保持聊天可见。

Twitch 请求的权限

Social Stream 请求带有其支持的控件及订阅所需权限的用户令牌。授予范围不会让账号成为主播或管理员;Twitch 仍会检查该账号在所选频道中的角色。

权限组用途
聊天读取聊天、发送聊天及列出聊天用户。
关注者与订阅者关注事件、订阅者事件、赠送订阅及续订消息。
Bits、奖励与 Hype TrainCheers、自定义频道积分兑换及 Hype Train 状态。
管理账号有权管理该频道时,支持消息删除、封禁/禁言及屏蔽同步。
频道管理读取/更新标题与分类、读取/管理广告及显示频道指标。

参见 Twitch 官方 范围参考 和 EventSub 订阅类型.

当前来源处理的事件

  • 关注: new_follower.
  • 订阅: new_subscriber, resub,以及 subscription_gift.
  • Bits: cheer 并附带打赏值。
  • 频道积分: reward.
  • Raid(观众转移): raid.
  • 直播与广告状态: stream_online, stream_offline,以及 ad_break.
  • Hype Train: hype_train 开始、进度及结束更新。
  • 管理: 在权限允许时更新封禁及消息删除。

Twitch 订阅者事件需要符合资格的 Affiliate/Partner 频道及主播访问权限。关注和管理订阅要求登录用户是主播或获授权管理员,具体取决于事件。

下游警报名称和数据字段请参见 事件与提醒兼容性指南 和 事件参考.

事件缺失时首先检查的事项

  1. 确认来源页面显示正确的 用户 和 频道.
  2. 保持来源页面/窗口打开,并确认聊天连接处于活动状态。
  3. 若聊天正常但关注/订阅/奖励无效,请退出并重新授权,以授予当前所需的范围。
  4. 确认登录账号是该频道的主播或获准管理员。
  5. 检查停靠面板和警报叠加层是否使用相同的 Social Stream 会话 ID。
  6. 使用弹出菜单中的模拟测试消息或 Multi Alerts 预览,区分捕获问题与叠加层问题。

EventSub 可能多次投递同一通知。 Twitch 文档规定至少投递一次。Social Stream 内置重复保护,但自定义 API 接收方仍应尽可能按事件/消息标识去重。参见官方 EventSub 概述.