
Streamplace is the live streaming app built for the open internet.
The running bits that span months. Inside jokes that need no explanation. A room full of people typing the same thing at the same instant.
Not a comment section. It's people who showed up for the same reason you did.
That's what live should feel like.
Go live and build something real. Streamplace gives your content a home that grows with you. Native moderation, badges for your friends (and mods), and emotes for your community. A place where people can actually be themselves.
No clutter. Only a clean place to watch your favourites livestream, and actually be in chat when it matters.
Streamplace makes it easy to build on live. Create bots, stream
widgets, custom tools, all on a solid foundation. We're built on the AT Protocol, which gives you everything you need to extend the platform.
You can stream
your dev work, build in public, and make something that matters for
the communities that matter most.
/**
* Create a new StreamplaceBot
* @param streamerDid The DID of the streamer whose chat to respond in
* @param clientConfig Configuration for the bot's AT Protocol client
* @param commandPrefix The prefix that triggers bot commands (default: "!")
*/
constructor(
streamerDid: Did,
clientConfig: AtprotoClientConfig,
commandPrefix = "!",
)
this.streamerDid = streamerDid;
this.commandPrefix = commandPrefix;
this.commands = new Map();
this.enabled = true;
this.client = new AtprotoClient(clientConfig);
// Initialize the bot - must be called before use
async init(): Promise<void>
await this.client.init();
await this.loadShoutouts();
this.registerDefaultCommands();
const streamer = await this.getUserProfile(this.streamerDid);
console.log(`StreamplaceBot initialized for streamer: $streamer.handle`);
Open source, open future.