Files
tab-bot/docs/guide/what-tabbot-is.md
T
2026-09-06 19:28:26 -04:00

43 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# What TabBot is (and is not)
TabBot is a **local-first Discord bot studio**. You pick a **Visual** (no-code) or **Code** (TypeScript / discord.js names, bundled with **esbuild-wasm**) track per bot. Official modules run on both. Real **discord.js 14** runs in a **dedicated runner tab** on your machine, through BridgeSwarms native host (`window.BridgeSwarm.DiscordJS`).
The product line is:
> Real discord.js in a tab. Your token never leaves your machine. Close the tab, kill the bot.
HoneyPeer, LLC publishes TabBot at **[tab-bot.rest](https://tab-bot.rest)**. HoneyPeer does not host your bot, does not keep it online, and does not hold your token. Company site: [honeypeer.llc](https://honeypeer.llc).
## What you get
- A vault in this origins IndexedDB (`tabbot-vault`): AES-256-GCM tokens and named secrets, PBKDF2-SHA-256 at 600,000 iterations
- Studio: list, wizard, settings, invite URL, modules, visual builder **or** Monaco code studio (one track per bot), logs, KV
- A runner at `/run/:botId` whose lifetime **is** the bot process (named window + Web Lock so one gateway per bot id)
- **35** official modules (GNU GPL v3 or later) plus JSON import/export and share codes
- Docs, legal, and a [community](/docs/guide/community) page on this same origin
## What TabBot is not
- A 24/7 cloud host. Sleep the laptop, close the runner, or quit the native host and the gateway dies.
- An account system. There is no HoneyPeer login.
- A custodian of bot tokens. Ciphertext never uploads to a TabBot server.
- Affiliated with Discord Inc. or BotGhost. Feature overlap with BotGhosts maker surface is intentional; partnership is not.
- A replacement for `@discordjs/voice` on the current BridgeSwarm host. There is no music player or temp-voice hub in the catalog.
- A remote marketplace of evald modules.
## Architecture in one picture
1. You unlock the vault in Studio.
2. Launch opens a real browser tab (`window.open`) named `tabbot-run-{botId}`.
3. Studio and runner handshake over same-origin `postMessage` / `BroadcastChannel`. A Web Lock steals a previous seat on the same bot id.
4. The runner constructs `new DiscordJS.Client({ intents })` on the Bare host and `login`s.
5. Closing that tab (or `pagehide`) stops **that** bot. Reload/Apply does not await `destroy()`. Stop does, with a 1.2s cap. Other runner tabs are independent, up to the hosts max clients (default 4).
## Next
1. [Community](/docs/guide/community) — Discord hangout and source
2. [Install BridgeSwarm](/docs/guide/install-bridgeswarm), allowlist this origin (`https://tab-bot.rest` on the official site)
3. Create a Discord application, then [create a TabBot bot](/docs/guide/create-a-bot) and [choose a track](/docs/guide/choose-a-track)
Source is [git.ssh.surf/snxraven/tab-bot](https://git.ssh.surf/snxraven/tab-bot) (**GNU GPL v3 or later**).