@honeybbq/teamspeak 1.0.0-beta.27 → 1.0.0-beta.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -7
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.js +2 -2
- package/dist/query/index.d.ts +1 -1
- package/dist/query/index.js +1 -1
- package/dist/stream/index.d.ts +3 -3
- package/dist/stream/index.js +3 -3
- package/package.json +13 -5
- package/src/client/index.ts +2 -2
- package/src/query/index.ts +1 -1
- package/src/stream/index.ts +3 -3
package/README.md
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
</p>
|
|
9
9
|
|
|
10
10
|
<p align="center">
|
|
11
|
-
<strong>
|
|
12
|
-
|
|
11
|
+
<strong>A complete TeamSpeak client in pure TypeScript: voice, ServerQuery and screen share.</strong><br>
|
|
12
|
+
For TeamSpeak 3 and 6 servers. No native addons, no proprietary SDK.
|
|
13
13
|
</p>
|
|
14
14
|
|
|
15
15
|
<p align="center">
|
|
@@ -30,11 +30,11 @@
|
|
|
30
30
|
|
|
31
31
|
## Why this library
|
|
32
32
|
|
|
33
|
-
- **
|
|
34
|
-
- **ServerQuery
|
|
33
|
+
- **Voice, both ways.** Send and receive Opus voice (codecs 4 and 5), whisper to clients, channels or groups, and get each frame with its speaker and sequence number for your own jitter buffer. The whole voice protocol is here: ECDH key exchange, the RSA puzzle and EAX-encrypted transport, in TypeScript with no native addons.
|
|
34
|
+
- **ServerQuery.** The same typed commands run over raw TCP, SSH (with host-key verification) or WebQuery, so an administration script and a voice bot share one vocabulary.
|
|
35
|
+
- **TeamSpeak 6 screen share.** Find, publish and watch the streams of a TeamSpeak 6 server, interoperable with the TeamSpeak 6 client. SDP and ICE are plain strings for any WebRTC stack: a browser, Electron, or werift in Node.
|
|
35
36
|
- **Typed commands and events.** Every command the voice protocol answers is a typed function, and the server's notifications arrive as typed events with pluggable middleware.
|
|
36
37
|
- **File transfers.** Upload, download and delete files on the server, with avatars and icons covered.
|
|
37
|
-
- **TeamSpeak 6 screen-share signalling.** Find, publish and watch streams, with SDP and ICE as plain strings for any WebRTC stack.
|
|
38
38
|
- **Built for long-running bots.** Opt-in reconnection tuned for TeamSpeak's antiflood ban, and a line middleware seam for pacing commands, with recipes for a token bucket, resending a refused command and keeping a query session open.
|
|
39
39
|
- **Identities and server facts.** Generate, import, export and upgrade identities; read the server version, its uid hash (SHA-1 on TS3, SHA-256 on TS6) and its name, icon and banner.
|
|
40
40
|
- **TeamSpeak 3 and 6, ESM with types.** Pure TypeScript, zero native dependencies, full declarations, and a custom-transport hook for proxies and tests.
|
|
@@ -84,14 +84,15 @@ process.on("SIGINT", () => void client.disconnect());
|
|
|
84
84
|
|
|
85
85
|
The full API reference is at [honeybbq.github.io/teamspeak-js](https://honeybbq.github.io/teamspeak-js/). The pages below are the long-form guides.
|
|
86
86
|
|
|
87
|
-
- [Guide](https://honeybbq.github.io/teamspeak-js/documents/guide.html): connecting, events, commands, file transfers and identities.
|
|
87
|
+
- [Guide](https://honeybbq.github.io/teamspeak-js/documents/guide.html): connecting, events, sending and receiving voice, commands, file transfers and identities.
|
|
88
88
|
- [Configuration](https://honeybbq.github.io/teamspeak-js/documents/configuration.html): options, client version, tracing, diagnostics, reconnection, custom transports and server capabilities.
|
|
89
|
-
- [Streams](https://honeybbq.github.io/teamspeak-js/documents/streams.html): TeamSpeak 6 screen
|
|
89
|
+
- [Streams](https://honeybbq.github.io/teamspeak-js/documents/streams.html): watching and publishing TeamSpeak 6 screen shares, running WebRTC in Node and Electron, and interop with the TeamSpeak 6 client.
|
|
90
90
|
- [ServerQuery](https://honeybbq.github.io/teamspeak-js/documents/serverquery.html): the query client and its SSH host-key policy.
|
|
91
91
|
- [Flood control](https://honeybbq.github.io/teamspeak-js/documents/flood-control.html): what the server counts, what each command costs, and line middleware recipes for pacing, resending and keeping a query session open.
|
|
92
92
|
- [Design](https://honeybbq.github.io/teamspeak-js/documents/design.html): errors, ids, absent values, events, stability, and the server behaviour the SDK works around.
|
|
93
93
|
- [Compatibility](https://honeybbq.github.io/teamspeak-js/documents/compatibility.html): supported environments and the differences from the Go SDK.
|
|
94
94
|
- [Architecture](https://honeybbq.github.io/teamspeak-js/documents/architecture.html): source layout and entry points.
|
|
95
|
+
- [Examples](https://github.com/HoneyBBQ/teamspeak-js/tree/main/examples): connecting, a voice echo bot, watching a screen share from Node, pacing commands, and ServerQuery events and keepalive.
|
|
95
96
|
- [Migrating to 1.0](https://honeybbq.github.io/teamspeak-js/documents/migrating-to-1.0.html), [voice protocol responses](https://honeybbq.github.io/teamspeak-js/documents/voice-protocol-responses.html) and [ServerQuery responses](https://honeybbq.github.io/teamspeak-js/documents/serverquery-responses.html): reference material.
|
|
96
97
|
|
|
97
98
|
## Compatibility
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* A TeamSpeak client: it connects over the voice protocol, the way the
|
|
3
|
+
* TeamSpeak application does, and sends and receives voice.
|
|
4
4
|
*
|
|
5
5
|
* Only what belongs to the voice protocol is exported here. The typed commands,
|
|
6
6
|
* ids and errors every client shares come from `@honeybbq/teamspeak`.
|
package/dist/client/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* A TeamSpeak client: it connects over the voice protocol, the way the
|
|
3
|
+
* TeamSpeak application does, and sends and receives voice.
|
|
4
4
|
*
|
|
5
5
|
* Only what belongs to the voice protocol is exported here. The typed commands,
|
|
6
6
|
* ids and errors every client shares come from `@honeybbq/teamspeak`.
|
package/dist/query/index.d.ts
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* `QueryClient` API, its options and its event map are all still settling.
|
|
20
20
|
* Pin a version and read the changelog if you depend on it.
|
|
21
21
|
*
|
|
22
|
-
* @
|
|
22
|
+
* @module @honeybbq/teamspeak/query
|
|
23
23
|
*/
|
|
24
24
|
export { QueryClient, QueryEventCategory, QueryEventName } from "./client.js";
|
|
25
25
|
export type { QueryClientOptions, QueryEventMap, QueryEventsOption, QueryTransportOptions, } from "./client.js";
|
package/dist/query/index.js
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* `QueryClient` API, its options and its event map are all still settling.
|
|
20
20
|
* Pin a version and read the changelog if you depend on it.
|
|
21
21
|
*
|
|
22
|
-
* @
|
|
22
|
+
* @module @honeybbq/teamspeak/query
|
|
23
23
|
*/
|
|
24
24
|
export { QueryClient, QueryEventCategory, QueryEventName } from "./client.js";
|
|
25
25
|
// Reconnection: the client's default retry decision, and the shared options.
|
package/dist/stream/index.d.ts
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* TeamSpeak 6 streams, the screen share: finding the streams of the clients in
|
|
3
3
|
* view, publishing one, and watching one.
|
|
4
4
|
*
|
|
5
|
-
* TeamSpeak does not document the protocol.
|
|
6
|
-
* TeamSpeak 6 server 6.0.0-beta13.1
|
|
7
|
-
* a TeamSpeak update may break it.
|
|
5
|
+
* TeamSpeak does not document the protocol. The live tests run it against the
|
|
6
|
+
* TeamSpeak 6 server 6.0.0-beta13.1, interop with the TeamSpeak 6 client
|
|
7
|
+
* 6.0.0-beta5 was observed by hand, and a TeamSpeak update may break it.
|
|
8
8
|
*
|
|
9
9
|
* Only the signalling is in this package. The video itself travels over WebRTC
|
|
10
10
|
* between the publisher and each viewer, which the application brings: SDP and
|
package/dist/stream/index.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* TeamSpeak 6 streams, the screen share: finding the streams of the clients in
|
|
3
3
|
* view, publishing one, and watching one.
|
|
4
4
|
*
|
|
5
|
-
* TeamSpeak does not document the protocol.
|
|
6
|
-
* TeamSpeak 6 server 6.0.0-beta13.1
|
|
7
|
-
* a TeamSpeak update may break it.
|
|
5
|
+
* TeamSpeak does not document the protocol. The live tests run it against the
|
|
6
|
+
* TeamSpeak 6 server 6.0.0-beta13.1, interop with the TeamSpeak 6 client
|
|
7
|
+
* 6.0.0-beta5 was observed by hand, and a TeamSpeak update may break it.
|
|
8
8
|
*
|
|
9
9
|
* Only the signalling is in this package. The video itself travels over WebRTC
|
|
10
10
|
* between the publisher and each viewer, which the application brings: SDP and
|
package/package.json
CHANGED
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@honeybbq/teamspeak",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
4
|
-
"description": "TeamSpeak SDK for TypeScript:
|
|
3
|
+
"version": "1.0.0-beta.28",
|
|
4
|
+
"description": "A complete TeamSpeak 3 and 6 client SDK for TypeScript: send and receive Opus voice and whispers, ServerQuery over TCP, SSH and WebQuery, TeamSpeak 6 screen share, file transfers, typed commands and events",
|
|
5
5
|
"keywords": [
|
|
6
|
+
"bot",
|
|
6
7
|
"client",
|
|
8
|
+
"opus",
|
|
9
|
+
"screen-share",
|
|
7
10
|
"sdk",
|
|
11
|
+
"serverquery",
|
|
8
12
|
"teamspeak",
|
|
13
|
+
"teamspeak3",
|
|
14
|
+
"teamspeak6",
|
|
9
15
|
"ts3",
|
|
10
16
|
"ts6",
|
|
11
|
-
"
|
|
17
|
+
"voice",
|
|
18
|
+
"voip",
|
|
19
|
+
"webrtc"
|
|
12
20
|
],
|
|
13
21
|
"homepage": "https://github.com/HoneyBBQ/teamspeak-js#readme",
|
|
14
22
|
"bugs": {
|
|
@@ -109,7 +117,7 @@
|
|
|
109
117
|
"lint": "oxlint --deny-warnings .",
|
|
110
118
|
"fmt": "oxfmt .",
|
|
111
119
|
"fmt:check": "oxfmt --check .",
|
|
112
|
-
"typecheck": "tsc --noEmit",
|
|
120
|
+
"typecheck": "tsc --noEmit && tsc -p tsconfig.scripts.json",
|
|
113
121
|
"check": "pnpm typecheck && pnpm lint && pnpm fmt:check",
|
|
114
122
|
"test:integration": "vitest run --project integration --exclude src/query/instance.integration.test.ts --reporter=verbose",
|
|
115
123
|
"test:integration:client": "vitest run --project integration src/client/ --reporter=verbose",
|
|
@@ -122,7 +130,7 @@
|
|
|
122
130
|
"version-packages": "GITHUB_TOKEN=${GITHUB_TOKEN:-$(gh auth token)} changeset version && pnpm install --lockfile-only",
|
|
123
131
|
"check:changesets": "node scripts/check-changesets.mts",
|
|
124
132
|
"check:docs": "node scripts/check-docs.mts",
|
|
125
|
-
"check:
|
|
133
|
+
"check:site": "pnpm docs:build && node scripts/check-theme.mts && node scripts/check-site.mts",
|
|
126
134
|
"api:report": "pnpm build && api-extractor run --local -c api-extractor.core.json && api-extractor run --local -c api-extractor.client.jsonc && api-extractor run --local -c api-extractor.query.jsonc && api-extractor run --local -c api-extractor.stream.jsonc",
|
|
127
135
|
"api:check": "pnpm build && node scripts/api-check.mts",
|
|
128
136
|
"docs:build": "typedoc",
|
package/src/client/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* A TeamSpeak client: it connects over the voice protocol, the way the
|
|
3
|
+
* TeamSpeak application does, and sends and receives voice.
|
|
4
4
|
*
|
|
5
5
|
* Only what belongs to the voice protocol is exported here. The typed commands,
|
|
6
6
|
* ids and errors every client shares come from `@honeybbq/teamspeak`.
|
package/src/query/index.ts
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* `QueryClient` API, its options and its event map are all still settling.
|
|
20
20
|
* Pin a version and read the changelog if you depend on it.
|
|
21
21
|
*
|
|
22
|
-
* @
|
|
22
|
+
* @module @honeybbq/teamspeak/query
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
25
|
export { QueryClient, QueryEventCategory, QueryEventName } from "./client.js";
|
package/src/stream/index.ts
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* TeamSpeak 6 streams, the screen share: finding the streams of the clients in
|
|
3
3
|
* view, publishing one, and watching one.
|
|
4
4
|
*
|
|
5
|
-
* TeamSpeak does not document the protocol.
|
|
6
|
-
* TeamSpeak 6 server 6.0.0-beta13.1
|
|
7
|
-
* a TeamSpeak update may break it.
|
|
5
|
+
* TeamSpeak does not document the protocol. The live tests run it against the
|
|
6
|
+
* TeamSpeak 6 server 6.0.0-beta13.1, interop with the TeamSpeak 6 client
|
|
7
|
+
* 6.0.0-beta5 was observed by hand, and a TeamSpeak update may break it.
|
|
8
8
|
*
|
|
9
9
|
* Only the signalling is in this package. The video itself travels over WebRTC
|
|
10
10
|
* between the publisher and each viewer, which the application brings: SDP and
|