π 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
- :fedify: Powered by
@fedifyFedify: an ActivityPub server framework 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 mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18Β°C!`);
};
// Post scheduled updates
const 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! π