欧勒斯通WebSocket SDK
脚本 SDK 类型 欧拉流 TikTok LIVE WebSocket服务. 构建 URL,解码出原生的bulf帧,并消耗来自任何JavaScript运行时间的强烈类型的网播事件.
企业解决方案
![]() |
欧拉流 是一种付费的TikTok LIVE服务,提供管理的TikTok LIVE WebSocket连接,增加访问权限,TikTok LIVE提示,JWT认证等等. |
社区
请加入 欧拉史崔姆不和 问问题 顾虑 或只是聊天.
安装
npm install @eulerstream/euler-websocket-sdk
# or
pnpm add @eulerstream/euler-websocket-sdk
支持的运行时间
双人船通过 exports 地图在 package.json。您的捆绑者 / 运行时间自动选择正确的一个 —— 不需要配置 .
| 运行时间 | 已解决条目 | 页:1 |
|---|---|---|
| 节点.js (≥18) | dist/node/*.js | 读取 EULER_WS_URL 从 process.env 以覆盖默认主机. |
| 浏览器 | dist/web/*.js | 没有 process 访问; 默认为 wss://ws.eulerstream.com。 。 。 . |
| 炸弹 (Vite, webpack, esbuilt, Rollup, Next.js等) (中文(简体) ) | 通过 browser 编号 : import 条件 | 仅限无害环境管理,可树可摇. |
所有建筑都是无害环境管理。 没有共同的JS建筑——从 import 语法或通过处理无害环境管理的捆绑机.
Protobuf Schema 版本
TikTok的网播原生出自 tiktok-live-proto。两个计划版本的船相并用,您可以在运行时选择SDK解码器中的哪个:
| 版本 | 子路径导入 | 何时使用 |
|---|---|---|
| 页:1 | @eulerstream/euler-websocket-sdk/v2 (默认) | 现相相相. 建议所有新的合并. |
| 单曲 | @eulerstream/euler-websocket-sdk/v1 | 留给那些还没有迁移的老年消费者的遗产计划. |
选择连接时通过 schemaVersion 特性标记( 默认为 v2:
import { createWebSocketUrl, SchemaVersion } from '@eulerstream/euler-websocket-sdk';
const url = createWebSocketUrl({
uniqueId: '@someuser',
features: { schemaVersion: SchemaVersion.v2 },
});
需要时直接从已版本子路径导入消息类型 :
import type { WebcastChatMessage, WebcastGiftMessage } from '@eulerstream/euler-websocket-sdk/v2';
顶级的输入为方便起见再出口 v2 schema,所以 import { WebcastChatMessage } from '@eulerstream/euler-websocket-sdk' 还行.
快速启动
import { createWebSocketUrl, ClientCloseCode } from '@eulerstream/euler-websocket-sdk';
const url = createWebSocketUrl({
uniqueId: '@someuser',
jwtKey: process.env.EULER_JWT,
features: {
bundleEvents: true,
syntheticPresence: true,
},
});
const ws = new WebSocket(url);
ws.addEventListener('close', (e) => {
if (e.code === ClientCloseCode.NOT_LIVE) console.log('streamer is offline');
});
你得到的东西
createWebSocketUrl(options)——构建一个完全合格的WS URL,特征旗被平整为查询参数.- 强型网播消息界面(v1和v2)再出自
tiktok-live-proto。 。 。 . - 原始框架的Protobuf解码公用事业
DecodedData, (中文(简体) ),decodeFrame等)在运行时rawMessages模式. WebcastEventEmitter- 键入eventemitter3子类键入了 schema 的事件名称 .ClientCloseCode词源+CloseMessageMap用于从服务器解释 WebSocket 关闭代码.
WebSocket 关闭代码
export enum ClientCloseCode {
// Standard
NORMAL = 1000,
INTERNAL_SERVER_ERROR = 1011,
// Custom (4000–4999)
STREAM_END = 4005,
NO_MESSAGES_TIMEOUT = 4006,
INVALID_OPTIONS = 4400,
INVALID_AUTH = 4401,
NO_PERMISSION = 4403,
NOT_LIVE = 4404,
KEEPALIVE_TIMEOUT = 4408,
TOO_MANY_CONNECTIONS = 4429,
TIKTOK_CLOSED_CONNECTION = 4500,
MAX_LIFETIME_EXCEEDED = 4555,
WEBCAST_FETCH_ERROR = 4556,
ROOM_INFO_FETCH_ERROR = 4557,
}
