「 @fedify」や「 @hollo」や「 @botkit」の開発を支援したい方は、GitHubでスポンサーになってください!
https://github.com/sponsors/dahlia
#ActivityPub #fediverse #フェディバース #Fedify #Hollo #BotKit #スポンサー
제 프로젝트인 @fedify, @hollo, @botkit 等(등)의 開發(개발)을 後援(후원)하고 싶으신 분들께서는, GitHub에서 제 스폰서가 되어 주세요!
https://github.com/sponsors/dahlia
#ActivityPub #fediverse #페디버스 #聯合宇宙(연합우주) #연합우주 #Fedify #Hollo #BotKit #스폰서 #후원
「@fedify」や「@hollo」や「@botkit」の開発を支援したい方は、GitHubでスポンサーになってください!
https://github.com/sponsors/dahlia
#ActivityPub #fediverse #フェディバース #Fedify #Hollo #BotKit #スポンサー
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
🔒 Security Release: BotKit 0.3.1
We've released BotKit 0.3.1 with an important security fix.
This update addresses CVE-2025-68475 (High severity, CVSS 7.5), a ReDoS vulnerability in Fedify's HTML parsing that could cause denial of service.
If you're using BotKit 0.3.x, please upgrade to 0.3.1 as soon as possible.
#BotKit is a #TypeScript framework for building #ActivityPub bots. The difference from typical Mastodon/Misskey bots? Your bot runs as its own independent server—no platform account needed.
This means no character limits, no rate limiting headaches, no API restrictions.
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}!`);
};The ActivityPub stuff (federation, HTTP Signatures, delivery queues) is handled by #Fedify under the hood. You just write your bot logic.
BotKitは、ActivityPubボットを作るためのTypeScriptフレームワークです。既存のMastodon/Misskeyボットとの違いは、ボット自体が独立したサーバーとして動作すること。プラットフォームのアカウントは不要です。
文字数制限もなければ、APIレート制限に悩まされることもありません。
bot.onMention = async (session, message) => {
await message.reply(text`こんにちは、${message.actor}さん!`);
};フェデレーション、HTTP Signatures、配送キューといったActivityPub周りの処理はFedifyがすべて引き受けます。ボットのロジックを書くだけです。
DenoでもNode.jsでも動きます。
BotKit은 ActivityPub 봇을 만드는 #TypeScript 프레임워크입니다. 일반적인 Mastodon/Misskey 봇과 다른 점은, 봇 자체가 독립된 서버로 돌아간다는 겁니다. 플랫폼 계정이 필요 없습니다.
글자 수 제한도 없고, API 호출 제한에 시달릴 일도 없습니다.
bot.onMention = async (session, message) => {
await message.reply(text`안녕하세요, ${message.actor}님!`);
};연합(federation), HTTP Signatures, 메시지 전달 같은 #ActivityPub 관련 처리는 Fedify가 알아서 해줍니다. 봇 로직만 짜면 되는 거죠.
#BotKit is a #TypeScript framework for building #ActivityPub bots. The difference from typical Mastodon/Misskey bots? Your bot runs as its own independent server—no platform account needed.
This means no character limits, no rate limiting headaches, no API restrictions.
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}!`);
};The ActivityPub stuff (federation, HTTP Signatures, delivery queues) is handled by #Fedify under the hood. You just write your bot logic.
#BotKit is a #TypeScript framework for building #ActivityPub bots. The difference from typical Mastodon/Misskey bots? Your bot runs as its own independent server—no platform account needed.
This means no character limits, no rate limiting headaches, no API restrictions.
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}!`);
};The ActivityPub stuff (federation, HTTP Signatures, delivery queues) is handled by #Fedify under the hood. You just write your bot logic.
We're excited to announce the release of BotKit 0.3.0! This release marks a significant milestone as #BotKit now supports #Node.js alongside #Deno, making it accessible to a wider audience. The minimum required Node.js version is 22.0.0. This dual-runtime support means you can now choose your preferred #JavaScript runtime while building #ActivityPub #bots with the same powerful BotKit APIs.
One of the most requested features has landed: poll support! You can now create interactive polls in your #bot messages, allowing followers to vote on questions with single or multiple-choice options. Polls are represented as ActivityPub Question objects with proper expiration times, and your bot can react to votes through the new onVote event handler. This feature enhances engagement possibilities and brings BotKit to feature parity with major #fediverse platforms like Mastodon and Misskey.
// Create a poll with multiple choicesawait session.publish(textWhat's your favorite programming language?, { class: Question, poll: { multiple: true, // Allow multiple selections options: ["JavaScript", "TypeScript", "Python", "Rust"], endTime: Temporal.Now.instant().add({ hours: 24 }), },});// Handle votesbot.onVote = async (session, vote) => { console.log(</span><span>${</span><span>vote</span><span>.</span><span>actor</span><span>}</span><span> voted for "</span><span>${</span><span>vote</span><span>.</span><span>option</span><span>}</span><span>");};The web frontend has been enhanced with a new followers page, thanks to the contribution from Hyeonseo Kim (@gaebalgom)! The /followers route now displays a paginated list of your bot's followers, and the follower count on the main profile page is now clickable, providing better visibility into your bot's audience. This improvement makes the web interface more complete and user-friendly.
For developers looking for alternative storage backends, we've introduced the SqliteRepository through the new @fedify/botkit-sqlite package. This provides a production-ready SQLite-based storage solution with ACID compliance, write-ahead logging (WAL) for optimal performance, and proper indexing. Additionally, the new @fedify/botkit/repository module offers MemoryCachedRepository for adding an in-memory cache layer on top of any repository implementation, improving read performance for frequently accessed data.
This release also includes an important security update: we've upgraded to #Fedify 1.8.8, ensuring your bots stay secure and compatible with the latest ActivityPub standards. The repository pattern has been expanded with new interfaces and types like RepositoryGetMessagesOptions, RepositoryGetFollowersOptions, and proper support for polls storage through the KvStoreRepositoryPrefixes.polls option, providing more flexibility for custom implementations.
We're excited to announce the release of BotKit 0.3.0! This release marks a significant milestone as #BotKit now supports #Node.js alongside #Deno, making it accessible to a wider audience. The minimum required Node.js version is 22.0.0. This dual-runtime support means you can now choose your preferred #JavaScript runtime while building #ActivityPub #bots with the same powerful BotKit APIs.
One of the most requested features has landed: poll support! You can now create interactive polls in your #bot messages, allowing followers to vote on questions with single or multiple-choice options. Polls are represented as ActivityPub Question objects with proper expiration times, and your bot can react to votes through the new onVote event handler. This feature enhances engagement possibilities and brings BotKit to feature parity with major #fediverse platforms like Mastodon and Misskey.
// Create a poll with multiple choicesawait session.publish(textWhat's your favorite programming language?, { class: Question, poll: { multiple: true, // Allow multiple selections options: ["JavaScript", "TypeScript", "Python", "Rust"], endTime: Temporal.Now.instant().add({ hours: 24 }), },});// Handle votesbot.onVote = async (session, vote) => { console.log(</span><span>${</span><span>vote</span><span>.</span><span>actor</span><span>}</span><span> voted for "</span><span>${</span><span>vote</span><span>.</span><span>option</span><span>}</span><span>");};The web frontend has been enhanced with a new followers page, thanks to the contribution from Hyeonseo Kim (@gaebalgom)! The /followers route now displays a paginated list of your bot's followers, and the follower count on the main profile page is now clickable, providing better visibility into your bot's audience. This improvement makes the web interface more complete and user-friendly.
For developers looking for alternative storage backends, we've introduced the SqliteRepository through the new @fedify/botkit-sqlite package. This provides a production-ready SQLite-based storage solution with ACID compliance, write-ahead logging (WAL) for optimal performance, and proper indexing. Additionally, the new @fedify/botkit/repository module offers MemoryCachedRepository for adding an in-memory cache layer on top of any repository implementation, improving read performance for frequently accessed data.
This release also includes an important security update: we've upgraded to #Fedify 1.8.8, ensuring your bots stay secure and compatible with the latest ActivityPub standards. The repository pattern has been expanded with new interfaces and types like RepositoryGetMessagesOptions, RepositoryGetFollowersOptions, and proper support for polls storage through the KvStoreRepositoryPrefixes.polls option, providing more flexibility for custom implementations.
🔒 Security Update for BotKit Users
We've released #security patch versions BotKit 0.1.2 and 0.2.2 to address CVE-2025-54888, a security #vulnerability discovered in #Fedify. These updates incorporate the latest patched version of Fedify to ensure your bots remain secure.
We strongly recommend all #BotKit users update to the latest patch version immediately. Thank you for keeping the #fediverse safe! 🛡️
We're pleased to announce that #Node.js support has been merged and will be available in #BotKit 0.3.0.
Now you can build your #ActivityPub bots with both #Deno and Node.js, giving you more flexibility in choosing your preferred runtime environment.
Stay tuned for BotKit 0.3.0!
We're pleased to announce that #Node.js support has been merged and will be available in #BotKit 0.3.0.
Now you can build your #ActivityPub bots with both #Deno and Node.js, giving you more flexibility in choosing your preferred runtime environment.
Stay tuned for BotKit 0.3.0!