🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
🔋 Standalone bot creation—no need for a Mastodon/Misskey account
🧩 Simple, developer-friendly API
🚀 Easy deployment on Deno Deploy, Fly.io, Railway, or your own server Powered by @fedify for robust ActivityPub protocol handling
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();const bot = createBot<void>({ username: "weatherbot", name: "Seoul Weather Bot", summary: text`I post daily weather updates for Seoul!`, kv: new DenoKvStore(kv), queue: new DenoKvMessageQueue(kv),});// Reply to mentionsbot.onMention = async (session, message) => { await message.reply(text`Current temperature in Seoul is 18°C!`);};// Post scheduled updatesconst session = bot.getSession("https://weather.example.com");setInterval(async () => { await session.publish( text`Seoul Weather Update 🌡️ Current: 18°C Humidity: 65% Forecast: Clear skies ☀️` );}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀