sigmoid.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A social space for people researching, working with, or just interested in AI!

Server stats:

579
active users

#botkit

0 posts0 participants0 posts today
BotKit by Fedify :botkit:<p>We're excited to announce the release of <a href="https://github.com/fedify-dev/botkit/releases/tag/0.3.0" rel="nofollow noopener" target="_blank">BotKit 0.3.0</a>! This release marks a significant milestone as <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a> now supports <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Node" target="_blank">#<span>Node</span></a>.js alongside <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Deno" target="_blank">#<span>Deno</span></a>, 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 <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/JavaScript" target="_blank">#<span>JavaScript</span></a> runtime while building <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/bots" target="_blank">#<span>bots</span></a> with the same powerful BotKit APIs.</p><p>One of the most requested features has landed: <em><a href="https://botkit.fedify.dev/concepts/message#polls" rel="nofollow noopener" target="_blank">poll support</a></em>! You can now create interactive polls in your <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/bot" target="_blank">#<span>bot</span></a> messages, allowing followers to vote on questions with single or multiple-choice options. Polls are represented as ActivityPub <code>Question</code> objects with proper expiration times, and your bot can react to votes through the new <a href="https://botkit.fedify.dev/concepts/events#vote" rel="nofollow noopener" target="_blank"><code>onVote</code> event handler</a>. This feature enhances engagement possibilities and brings BotKit to feature parity with major <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a> platforms like Mastodon and Misskey.</p> <pre><code><span class=""><span>// Create a poll with multiple choices</span></span> <span class=""><span>await</span><span> session</span><span>.</span><span>publish</span><span>(</span><span>text</span><span>`What's your favorite programming language?`</span><span>, {</span></span> <span class=""><span> class</span><span>:</span><span> Question</span><span>,</span></span> <span class=""><span> poll</span><span>:</span><span> {</span></span> <span class=""><span> multiple</span><span>:</span><span> true</span><span>, </span><span>// Allow multiple selections</span></span> <span class=""><span> options</span><span>:</span><span> [</span><span>"JavaScript"</span><span>, </span><span>"TypeScript"</span><span>, </span><span>"Python"</span><span>, </span><span>"Rust"</span><span>],</span></span> <span class=""><span> endTime</span><span>:</span><span> Temporal</span><span>.</span><span>Now</span><span>.</span><span>instant</span><span>().</span><span>add</span><span>({ </span><span>hours</span><span>:</span><span> 24</span><span> }),</span></span> <span class=""><span> },</span></span> <span class=""><span>});</span></span> <span class=""></span> <span class=""><span>// Handle votes</span></span> <span class=""><span>bot</span><span>.</span><span>onVote</span><span> =</span><span> async</span><span> (</span><span>session</span><span>, </span><span>vote</span><span>) </span><span>=&gt;</span><span> {</span></span> <span class=""><span> console</span><span>.</span><span>log</span><span>(</span><span>`</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>"`</span><span>);</span></span> <span class=""><span>};</span></span></code></pre><p>The web frontend has been enhanced with a new <em>followers page</em>, thanks to the contribution from <em>Hyeonseo Kim</em> (<a translate="no" class="h-card u-url mention" href="https://hackers.pub/@gaebalgom" rel="nofollow noopener" target="_blank">@<span>gaebalgom</span></a>)! The <code>/followers</code> 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.</p><p>For developers looking for alternative storage backends, we've introduced the <a href="https://botkit.fedify.dev/concepts/repository#sqliterepository" rel="nofollow noopener" target="_blank"><code>SqliteRepository</code></a> through the new <code>@fedify/botkit-sqlite</code> 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 <a href="https://botkit.fedify.dev/concepts/repository" rel="nofollow noopener" target="_blank"><code>@fedify/botkit/repository</code> module</a> offers <a href="https://botkit.fedify.dev/concepts/repository#memorycachedrepository" rel="nofollow noopener" target="_blank"><code>MemoryCachedRepository</code></a> for adding an in-memory cache layer on top of any <a href="https://botkit.fedify.dev/concepts/repository" rel="nofollow noopener" target="_blank">repository</a> implementation, improving read performance for frequently accessed data.</p><p>This release also includes an important security update: we've upgraded to <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Fedify" target="_blank">#<span>Fedify</span></a> 1.8.8, ensuring your bots stay secure and compatible with the latest ActivityPub standards. The <a href="https://botkit.fedify.dev/concepts/repository" rel="nofollow noopener" target="_blank">repository pattern</a> has been expanded with new interfaces and types like <code>RepositoryGetMessagesOptions</code>, <code>RepositoryGetFollowersOptions</code>, and proper support for polls storage through the <code>KvStoreRepositoryPrefixes.polls</code> option, providing more flexibility for <a href="https://botkit.fedify.dev/concepts/repository#implementing-a-custom-repository" rel="nofollow noopener" target="_blank">custom implementations</a>.</p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a></p>
BotKit by Fedify :botkit:<p>🔒 <strong>Security Update for BotKit Users</strong></p><p>We've released <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/security" target="_blank">#<span>security</span></a> patch versions <a href="https://github.com/fedify-dev/botkit/releases/tag/0.1.2" rel="nofollow noopener" target="_blank">BotKit 0.1.2</a> and <a href="https://github.com/fedify-dev/botkit/releases/tag/0.2.2" rel="nofollow noopener" target="_blank">0.2.2</a> to address <a href="https://github.com/fedify-dev/fedify/security/advisories/GHSA-6jcc-xgcr-q3h4" rel="nofollow noopener" target="_blank">CVE-2025-54888</a>, a security <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/vulnerability" target="_blank">#<span>vulnerability</span></a> discovered in <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Fedify" target="_blank">#<span>Fedify</span></a>. These updates incorporate the latest patched version of Fedify to ensure your bots remain secure.</p><p>We strongly recommend all <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a> users update to the latest patch version immediately. Thank you for keeping the <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a> safe! 🛡️</p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a></p>
洪 民憙 (Hong Minhee)<p>OSC京都2025でどちらの発表を聞きたいですか?</p><p>8月3日のOSC京都で10分間のセミナー発表をすることになりました。二つのテーマで迷っているので、皆さんのご意見をお聞かせください!</p><p>どちらのテーマに興味がありますか?</p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/OSC2025" target="_blank">#<span>OSC2025</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Fedify" target="_blank">#<span>Fedify</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a></p>
BotKit by Fedify :botkit:<p>We're pleased to announce that <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Node" target="_blank">#<span>Node</span></a>.js support has been merged and will be available in <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a> 0.3.0.</p><p>Now you can build your <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> bots with both <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Deno" target="_blank">#<span>Deno</span></a> and Node.js, giving you more flexibility in choosing your preferred runtime environment.</p><p>Stay tuned for BotKit 0.3.0!</p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a></p>
BotKit by Fedify :botkit:<p><strong>BotKit 0.2.0のリリース</strong></p><p><a href="https://botkit.fedify.dev/" rel="nofollow noopener" target="_blank">BotKit</a> 0.2.0をリリースしました!BotKitを初めて知る方のために簡単に説明すると、BotKitはTypeScriptで開発されたスタンドアロンのActivityPubボットフレームワークです。Mastodon、Misskeyなどさまざまなフェディバース(<a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a>)のプラットフォームと連携でき、既存プラットフォームの制約なしに自由にボットを作成できます。</p><p>このリリースは、フェディバースにおけるボット開発をより簡単で強力にするための旅の重要な一歩であり、コミュニティから要望のあった機能を多数導入しています。</p><p><strong>より良いボットインタラクションへの旅</strong></p><p>BotKitの開発において、私たちは常にボットをより表現力豊かでインタラクティブにすることに焦点を当ててきました。バージョン0.2.0では、フェディバースの社会的側面をボットに取り入れることで、さらに一歩前進しました。</p><p><strong>カスタム絵文字でボットの個性を表現</strong></p><p>最も要望の多かった機能の一つがカスタム絵文字のサポートです。これにより、ボットは独自の視覚要素でメッセージを目立たせ、自分だけの個性を表現できるようになりました。</p><pre><code>// ボット用のカスタム絵文字を定義 const emojis = bot.addCustomEmojis({ botkit: { file: `${import.meta.dirname}/images/botkit.png`, type: "image/png" }, fedify: { url: "https://fedify.dev/logo.png", type: "image/png" } }); // メッセージにカスタム絵文字を使用 await session.publish( text`BotKit ${customEmoji(emojis.botkit)}は、Fedify ${customEmoji(emojis.fedify)}によって支えられています` ); </code></pre><p>この新しいAPIでは、次のことが可能になりました。</p><ul> <li><code>Bot.addCustomEmojis()</code>でボットにカスタム絵文字を追加</li><li><a href="https://botkit.fedify.dev/concepts/text#custom-emojis" rel="nofollow noopener" target="_blank"><code>customEmoji()</code></a>関数でメッセージに絵文字を含める</li><li><a href="https://botkit.fedify.dev/concepts/text#emoji" rel="nofollow noopener" target="_blank">Fedifyの<code>Emoji</code>オブジェクトを<code>text</code>タグテンプレートで使用する</a></li> </ul><p><strong>リアクションによるコミュニケーション</strong></p><p>コミュニケーションは単にメッセージを投稿するだけではありません。他の人のメッセージに反応することも重要です。新しいリアクションシステムは、ボットとフォロワーの間に自然な交流ポイントを作り出します。</p><pre><code>// 標準のUnicode絵文字でメッセージにリアクション await message.react(emoji`👍`); // または定義したカスタム絵文字でリアクション await message.react(emojis.botkit); // リアクションを認識して応答するボットを作成 bot.onReact = async (session, reaction) =&gt; { await session.publish( text`${reaction.actor}さん、私のメッセージに${reaction.emoji}でリアクションしてくれてありがとうございます!`, { visibility: "direct" } ); }; </code></pre><p>この機能により、ボットは次のことができるようになりました。</p><ul> <li><a href="https://botkit.fedify.dev/concepts/message#reacting-to-a-message-with-an-emoji" rel="nofollow noopener" target="_blank"><code>Message.react()</code></a>を使用してUnicode絵文字でメッセージにリアクション</li><li>定義したカスタム絵文字でリアクション</li><li><a href="https://botkit.fedify.dev/concepts/events#emoji-reaction" rel="nofollow noopener" target="_blank"><code>Bot.onReact</code></a>と<a href="https://botkit.fedify.dev/concepts/events#undoing-emoji-reaction" rel="nofollow noopener" target="_blank"><code>Bot.onUnreact</code></a>ハンドラーでリアクションイベントを処理</li> </ul><p><strong>引用による会話</strong></p><p>議論では、他の人が言ったことを参照する必要がしばしばあります。新しい引用機能により、より結束力のある会話スレッドを作成できます。</p><pre><code>// ボットの投稿で他のメッセージを引用 await session.publish( text`この興味深い視点について答えます...`, { quoteTarget: originalMessage } ); // ユーザーがボットのメッセージを引用した場合の処理 bot.onQuote = async (session, quoteMessage) =&gt; { await session.publish( text`${quoteMessage.actor}さん、私の考えを共有してくれてありがとうございます!`, { visibility: "direct" } ); }; </code></pre><p>引用機能により、ボットは次のことができるようになりました。</p><ul> <li><a href="https://botkit.fedify.dev/concepts/message#quoting" rel="nofollow noopener" target="_blank"><code>quoteTarget</code></a>オプションでメッセージを引用</li><li><a href="https://botkit.fedify.dev/concepts/message#quotes" rel="nofollow noopener" target="_blank"><code>Message.quoteTarget</code></a>を通じて引用されたメッセージにアクセス</li><li>新しい<a href="https://botkit.fedify.dev/concepts/events#quote" rel="nofollow noopener" target="_blank"><code>Bot.onQuote</code></a>イベントハンドラーで引用イベントを処理</li> </ul><p><strong>視覚的な改善</strong></p><p>コミュニケーションには視覚的要素も重要なため、ボットの表現方法を改善しました。</p><ul> <li>ウェブインターフェースで画像添付ファイルが正しく表示されるようになりました</li><li>ボットのコンテンツがより見やすくなり、豊かな体験を提供します</li> </ul><p><strong>内部改善:活動の伝播の強化</strong></p><p>フェディバースでの活動が伝播する方法も改善されました。</p><ul> <li>返信、共有、更新、削除のより正確な伝播</li><li>元のメッセージ作成者に活動が適切に送信されます</li> </ul><p>これらの改善により、様々なフェディバースプラットフォームでのボットの相互作用が一貫性と信頼性を持つようになります。</p><p><strong>BotKit 0.2.0で最初の一歩を踏み出す</strong></p><p>これらの新機能を体験してみたいですか?BotKit 0.2.0は<a href="https://jsr.io/@fedify/botkit@0.2.0" rel="nofollow noopener" target="_blank">JSR</a>で利用可能で、簡単なコマンドでインストールできます。</p><pre><code>deno add jsr:@fedify/botkit@0.2.0 </code></pre><p>BotKitはTemporal API(JavaScriptではまだ試験的な機能)を使用するため、<em>deno.json</em>でこれを有効にする必要があります。</p><pre><code>{ "imports": { "@fedify/botkit": "jsr:@fedify/botkit@0.2.0" }, "unstable": ["temporal"] } </code></pre><p>これらの簡単なステップで、最新機能を使ってフェディバースボットを作成またはアップグレードする準備が整いました。</p><p><strong>今後の展望</strong></p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a> 0.2.0は、フェディバースボット開発をアクセスしやすく、強力かつ楽しいものにするための私たちの継続的な取り組みを示しています。これらの新機能が、皆さんのボットをフェディバースコミュニティでより魅力的でインタラクティブなメンバーにするのに役立つと信じています。</p><p>完全なドキュメントと詳細な例については、私たちの<a href="https://botkit.fedify.dev/" rel="nofollow noopener" target="_blank">ドキュメントサイト</a>をご覧ください。</p><p>フィードバック、機能リクエスト、コード貢献を通じてこのリリースに貢献してくださったすべての方々に感謝します。BotKitコミュニティは成長を続けており、皆さんが作成するものを楽しみにしています!</p> <p><em>BotKitは、ActivityPubサーバーアプリケーションを作成するための低レベルフレームワーク<a href="https://fedify.dev/" rel="nofollow noopener" target="_blank">Fedify</a>によって支えられています。</em></p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/%E3%83%95%E3%82%A7%E3%83%87%E3%82%A3%E3%83%90%E3%83%BC%E3%82%B9" target="_blank">#<span>フェディバース</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E7%B5%B5%E6%96%87%E5%AD%97" target="_blank">#<span>カスタム絵文字</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/%E7%B5%B5%E6%96%87%E5%AD%97%E3%83%AA%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3" target="_blank">#<span>絵文字リアクション</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/%E7%B5%B5%E6%96%87%E5%AD%97%E5%8F%8D%E5%BF%9C" target="_blank">#<span>絵文字反応</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/%E5%BC%95%E7%94%A8" target="_blank">#<span>引用</span></a></p>
BotKit by Fedify :botkit:<p><strong>BotKit 0.2.0 Released</strong></p><p>We're pleased to announce the release of <a href="https://botkit.fedify.dev/" rel="nofollow noopener" target="_blank">BotKit</a> 0.2.0! For those new to our project, <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a> is a <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/TypeScript" target="_blank">#<span>TypeScript</span></a> framework for creating standalone <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> bots that can interact with Mastodon, Misskey, and other <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a> platforms without the constraints of these existing platforms.</p><p>This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.</p><p><strong>The Journey to Better Bot Interactions</strong></p><p>In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.</p><p><strong>Expressing Your Bot's Personality with Custom Emojis</strong></p><p>One of the most requested features has been <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/custom_emoji" target="_blank">#<span>custom_emoji</span></a> support. Now your bots can truly express their personality with unique visuals that make their messages stand out.</p><pre><code>// Define custom emojis for your bot const emojis = bot.addCustomEmojis({ botkit: { file: `${import.meta.dirname}/images/botkit.png`, type: "image/png" }, fedify: { url: "https://fedify.dev/logo.png", type: "image/png" } }); // Use these custom emojis in your messages await session.publish( text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}` ); </code></pre><p>With this new API, you can:</p><ul> <li>Add custom emojis to your bot with <code>Bot.addCustomEmojis()</code></li><li>Include these emojis in messages with the <a href="https://botkit.fedify.dev/concepts/text#custom-emojis" rel="nofollow noopener" target="_blank"><code>customEmoji()</code></a> function</li><li><a href="https://botkit.fedify.dev/concepts/text#emoji" rel="nofollow noopener" target="_blank">Use the <code>text</code> tagged template with Fedify <code>Emoji</code> objects</a></li> </ul><p><strong>Engaging Through Reactions</strong></p><p>Communication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:</p><pre><code>// React to a message with a standard Unicode emoji await message.react(emoji`👍`); // Or use one of your custom emojis as a reaction await message.react(emojis.botkit); // Create a responsive bot that acknowledges reactions bot.onReact = async (session, reaction) =&gt; { await session.publish( text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`, { visibility: "direct" } ); }; </code></pre><p>This feature allows your bot to:</p><ul> <li>React to messages with Unicode emojis using <a href="https://botkit.fedify.dev/concepts/message#reacting-to-a-message-with-an-emoji" rel="nofollow noopener" target="_blank"><code>Message.react()</code></a></li><li>React with the custom emojis you've defined</li><li>Handle reaction events with <a href="https://botkit.fedify.dev/concepts/events#emoji-reaction" rel="nofollow noopener" target="_blank"><code>Bot.onReact</code></a> and <a href="https://botkit.fedify.dev/concepts/events#undoing-emoji-reaction" rel="nofollow noopener" target="_blank"><code>Bot.onUnreact</code></a> handlers</li> </ul><p><strong>Conversations Through Quotes</strong></p><p>Discussions often involve referencing what others have said. Our new <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/quote" target="_blank">#<span>quote</span></a> support enables more cohesive conversation threads:</p><pre><code>// Quote another message in your bot's post await session.publish( text`Responding to this interesting point...`, { quoteTarget: originalMessage } ); // Handle when users quote your bot's messages bot.onQuote = async (session, quoteMessage) =&gt; { await session.publish( text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`, { visibility: "direct" } ); }; </code></pre><p>With quote support, your bot can:</p><ul> <li>Quote messages with <a href="https://botkit.fedify.dev/concepts/message#quoting" rel="nofollow noopener" target="_blank"><code>quoteTarget</code></a> option</li><li>Access quoted messages via <a href="https://botkit.fedify.dev/concepts/message#quotes" rel="nofollow noopener" target="_blank"><code>Message.quoteTarget</code></a></li><li>Handle quote events with the new <a href="https://botkit.fedify.dev/concepts/events#quote" rel="nofollow noopener" target="_blank"><code>Bot.onQuote</code></a> event handler</li> </ul><p><strong>Visual Enhancements</strong></p><p>Because communication is visual too, we've improved how your bot presents itself:</p><ul> <li>Image attachments now properly display in the web interface</li><li>Your bot's content looks better and provides a richer experience</li> </ul><p><strong>Behind the Scenes: Enhanced Activity Propagation</strong></p><p>We've also improved how activities propagate through the fediverse:</p><ul> <li>More precise propagation of replies, shares, updates, and deletes</li><li>Activities are now properly sent to the original message authors</li> </ul><p>These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.</p><p><strong>Taking Your First Steps with BotKit 0.2.0</strong></p><p>Ready to experience these new features? BotKit 0.2.0 is available on <a href="https://jsr.io/@fedify/botkit@0.2.0" rel="nofollow noopener" target="_blank">JSR</a> and can be installed with a simple command:</p><pre><code>deno add jsr:@fedify/botkit@0.2.0 </code></pre><p>Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your <em>deno.json</em>:</p><pre><code>{ "imports": { "@fedify/botkit": "jsr:@fedify/botkit@0.2.0" }, "unstable": ["temporal"] } </code></pre><p>With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.</p><p><strong>Looking Forward</strong></p><p>BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.</p><p>For complete docs and more examples, visit our <a href="https://botkit.fedify.dev/" rel="nofollow noopener" target="_blank">docs site</a>.</p><p>Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!</p> <p><em>BotKit is powered by <a href="https://fedify.dev/" rel="nofollow noopener" target="_blank">Fedify</a>, a lower-level framework for creating ActivityPub server applications.</em></p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/emoji_reaction" target="_blank">#<span>emoji_reaction</span></a></p>
BotKit by Fedify :botkit:<p>Coming soon in <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a> 0.2.0: Native <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/quote" target="_blank">#<span>quote</span></a> post support!</p><p>We're excited to share a preview of the upcoming quoting features in BotKit 0.2.0. This update will make it easier for your bots to engage with quoted content across the fediverse.</p><p>The quoting feature set includes:</p><ul> <li>Detecting when someone quotes your bot's posts with the new <a href="https://botkit.fedify.dev/concepts/events#quote" rel="nofollow noopener" target="_blank"><code>Bot.onQuote</code></a> event handler</li><li>Accessing quoted content through the <a href="https://botkit.fedify.dev/concepts/message#quotes" rel="nofollow noopener" target="_blank"><code>Message.quoteTarget</code></a> property</li><li>Creating quote posts using the <a href="https://botkit.fedify.dev/concepts/message#quoting" rel="nofollow noopener" target="_blank"><code>quoteTarget</code></a> option in <a href="https://botkit.fedify.dev/concepts/message#publishing-a-message" rel="nofollow noopener" target="_blank"><code>Session.publish()</code></a> and <a href="https://botkit.fedify.dev/concepts/message#replying-to-a-message" rel="nofollow noopener" target="_blank"><code>Message.reply()</code></a> methods</li> </ul><p>Here's a quick example of how you can use the quote detection:</p><pre><code>bot.onQuote = async (session, quote) =&gt; { // The quote parameter is a Message object representing the post that quoted your bot await quote.reply(text`Thanks for quoting my post, ${quote.actor}!`); // You can access the original quoted message const originalPost = quote.quoteTarget; console.log(`Original message: ${originalPost?.text}`); }; </code></pre><p>And creating quote posts is just as simple:</p><pre><code>// Quote in a new post await session.publish( text`I'm quoting this interesting message!`, { quoteTarget: someMessage } ); // Or quote in a reply await message.reply( text`Interesting point! I'm quoting another relevant post here.`, { quoteTarget: anotherMessage } ); </code></pre><p>Remember that quoting behavior may vary across different <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> implementations—some platforms like Misskey display quotes prominently, while others like Mastodon might implement them differently.</p><p>Want to try these features right now? You can install the development version from <a href="https://jsr.io/@fedify/botkit@0.2.0-dev.90+d6ab4bdc" rel="nofollow noopener" target="_blank">JSR</a>:</p><pre><code>deno add jsr:@fedify/botkit@0.2.0-dev.90+d6ab4bdc </code></pre><p>We're looking forward to seeing how you use these quoting capabilities in your bots!</p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a></p>
BotKit by Fedify :botkit:<p>We're excited to introduce <a href="https://botkit.fedify.dev/concepts/message#reacting-to-a-message-with-an-emoji" rel="nofollow noopener" target="_blank">emoji reactions</a> in the upcoming <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a> 0.2.0 release!</p><p>With the new <a href="https://jsr.io/@fedify/botkit@0.2.0-dev.84+c997c6a6/doc/message/~/Message.react" rel="nofollow noopener" target="_blank"><code>Message.react()</code></a> method, your bot can now react to messages using standard Unicode <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/emojis" target="_blank">#<span>emojis</span></a>:</p><pre><code>await message.react(emoji`👍`); </code></pre><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Custom_emoji" target="_blank">#<span>Custom_emoji</span></a> support is also included, allowing your bot to react with server-specific emojis:</p><pre><code>const emojis = bot.addCustomEmojis({ // Use a remote image URL: yesBlob: { url: "https://cdn3.emoji.gg/emojis/68238-yesblob.png", mediaType: "image/png", }, // Use a local image file: noBlob: { file: `${import.meta.dirname}/emojis/no_blob.png`, mediaType: "image/webp", }, }); await message.react(emojis.yesBlob); </code></pre><p>Reactions can be removed using the <a href="https://jsr.io/@fedify/botkit@0.2.0-dev.84+c997c6a6/doc/reaction/~/AuthorizedReaction.unreact" rel="nofollow noopener" target="_blank"><code>AuthorizedReaction.unreact()</code></a> method:</p><pre><code>const reaction = await message.react(emoji`❤️`); await reaction.unreact(); </code></pre><p>Want to try these features now? You can install the development version from <a href="https://jsr.io/@fedify/botkit@0.2.0-dev.84+c997c6a6" rel="nofollow noopener" target="_blank">JSR</a> today:</p><pre><code>deno add jsr:@fedify/botkit@0.2.0-dev.84+c997c6a6 </code></pre><p>We're looking forward to seeing how your bots express themselves with this new feature!</p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/emoji_reaction" target="_blank">#<span>emoji_reaction</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a></p>
BotKit by Fedify :botkit:<p>We're excited to announce that <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a> 0.2.0 will introduce <a href="https://botkit.fedify.dev/concepts/text#custom-emojis" rel="nofollow noopener" target="_blank">custom emoji support</a>! This feature allows your bots to express themselves with more personality and engagement.</p><p>What's included:</p><ul> <li>Add custom emojis to your bot with <code>Bot.addCustomEmojis()</code></li><li>Use emoji in messages with the <code>customEmoji()</code> function</li><li>Support for both local image files and remote URLs as emoji sources</li><li>Full integration with BotKit's <a href="https://botkit.fedify.dev/concepts/text" rel="nofollow noopener" target="_blank">text formatting system</a></li> </ul><p>Simple example:</p><pre><code>// Define custom emojis const emojis = bot.addCustomEmojis({ botkit: { file: "./botkit.png", type: "image/png" }, fedify: { url: "https://fedify.dev/logo.png", type: "image/png" } }); // Use in messages await session.publish( text`Hello world! ${customEmoji(emojis.botkit)}` ); </code></pre><p>Want to try it early? You can install the development version from <a href="https://jsr.io/@fedify/botkit@0.2.0-dev.82+8a0438e6" rel="nofollow noopener" target="_blank">JSR</a> today:</p><pre><code>deno add jsr:@fedify/botkit@0.2.0-dev.82+8a0438e6 </code></pre><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/custom_emoji" target="_blank">#<span>custom_emoji</span></a></p>
洪 民憙 (Hong Minhee)<p>First, I'm adding custom emoji support to <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a>…</p>
洪 民憙 (Hong Minhee)<p>I've been considering what to add in the next version of <a href="https://botkit.fedify.dev/" rel="nofollow noopener" target="_blank">BotKit</a> (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:</p><ol> <li> <p>Custom emoji support. This would allow bots to use server-defined custom emojis in their messages, making communication more expressive and allowing better integration with instance culture.</p> </li><li> <p>Emoji reactions. I plan to implement both sending and receiving emoji reactions to messages. This provides a lightweight interaction model that many users prefer for simple acknowledgments or responses. This would manifest as new event handlers (like <code>Bot.onReaction</code>) and methods (like <code>Message.react()</code>).</p> </li><li> <p>Quote posts. The ability to reference other posts with commentary is an important discourse feature in the fediverse. Supporting both sending quotes and detecting when bot posts have been quoted would enable more sophisticated conversational patterns.</p> </li> </ol><p>These additions should make <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a> more capable while maintaining its simple, developer-friendly API. I expect implementation to involve extending the <a href="https://botkit.fedify.dev/concepts/message" rel="nofollow noopener" target="_blank"><code>Message</code></a> class and adding new <a href="https://botkit.fedify.dev/concepts/text" rel="nofollow noopener" target="_blank"><code>Text</code></a> processing capabilities, all while keeping backward compatibility with existing bots. Having built both <a href="https://docs.hollo.social/" rel="nofollow noopener" target="_blank">Hollo</a> and <a href="https://hackers.pub/" rel="nofollow noopener" target="_blank">Hackers' Pub</a>, I already have deep familiarity with how various ActivityPub implementations handle these features across the fediverse. I welcome any community feedback on priorities or implementation details before I begin coding.</p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a></p>
洪 民憙 (Hong Minhee)<p>By the way, <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a> also needs to be updated… I have so much work left to do.</p>
BotKit by Fedify :botkit:<p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/%E3%83%95%E3%82%A7%E3%83%87%E3%82%A3%E3%83%90%E3%83%BC%E3%82%B9" target="_blank">#<span>フェディバース</span></a>(<a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a>)用のボットを作りたいですか?<a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a> by Fedifyを使えば、わずか数行のコードでスタンドアロンのActivityPubボットを構築できます!従来のMastodonやMisskeyボットとは異なり、BotKitはプラットフォームの制約なしに完全なActivityPubサーバーを作成できます。</p><p>BotKitでできること:</p><ul> <li>メンション、フォロー、メッセージに応答するボットの構築</li><li>整形されたテキスト、メンション、メディアを含む豊かなコンテンツの作成</li><li>予約投稿の公開と会話の自動管理</li><li>Deno Deploy、Docker、または自己ホスティングサーバーへの簡単なデプロイ</li> </ul><p>ドキュメントは<a href="https://botkit.fedify.dev/" rel="nofollow noopener" target="_blank">https://botkit.fedify.dev/</a>で確認し、今からフェディバースボットの構築を始めましょう!</p><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a></p>
BotKit by Fedify :botkit:<p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/%EC%97%B0%ED%95%A9%EC%9A%B0%EC%A3%BC" target="_blank">#<span>연합우주</span></a>(<a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a>)를 위한 봇을 만들고 싶으신가요? <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a> by Fedify를 사용하면 몇 줄의 코드만으로 독립형 <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> 봇을 구축할 수 있습니다! 일반적인 Mastodon 또는 Misskey 봇과 달리, BotKit은 플랫폼 제약 없이 완전한 ActivityPub 서버를 만들 수 있게 도와줍니다.</p><p>BotKit으로 할 수 있는 것:</p><ul> <li>멘션, 팔로우 및 메시지에 응답하는 봇 만들기</li><li>형식화된 텍스트, 멘션 및 미디어가 포함된 풍부한 콘텐츠 생성</li><li>예약된 게시물 발행 및 대화 자동 관리</li><li>Deno Deploy, Docker 또는 자체 호스팅 서버에 쉽게 배포</li> </ul><p>문서는 <a href="https://botkit.fedify.dev/" rel="nofollow noopener" target="_blank">https://botkit.fedify.dev/</a>에서 확인하시고 지금 바로 연합우주 봇을 만들어 보세요!</p>
BotKit by Fedify :botkit:<p>Want to create a <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/bot" target="_blank">#<span>bot</span></a> for the <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a>? <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a> by <a translate="no" class="h-card u-url mention" href="https://hollo.social/@fedify" rel="nofollow noopener" target="_blank">@<span>fedify</span></a> lets you build standalone <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> bots with just a few lines of code! Unlike traditional Mastodon bots, BotKit helps you create complete ActivityPub servers without platform constraints.</p><p>With BotKit, you can:</p><ul> <li>Build bots that respond to mentions, follows, and messages</li><li>Create rich content with formatted text, mentions, and media</li><li>Publish scheduled posts and automatically manage conversations</li><li>Deploy easily on Deno Deploy, Docker, or self-hosted servers</li> </ul><p>Check out our documentation at <a href="https://botkit.fedify.dev/" rel="nofollow noopener" target="_blank">https://botkit.fedify.dev/</a> and start building your fediverse bot today!</p>
Fedify: ActivityPub server framework<p>Fedifyの関連プロジェクトをご紹介したいと思います。ActivityPubアプリケーション開発をより簡単にするツール群です:</p><p><strong><a href="https://fedify.dev/" rel="nofollow noopener" target="_blank">Fedify</a> :fedify:</strong></p><p><a href="https://fedify.dev/" rel="nofollow noopener" target="_blank">Fedify</a>(<a translate="no" class="h-card u-url mention" href="https://hollo.social/@fedify" rel="nofollow noopener" target="_blank">@<span>fedify</span></a>)はActivityPubやその他のフェディバース標準を活用する連合型サーバーアプリケーションを構築するためのTypeScriptライブラリです。<a href="https://fedify.dev/manual/vocab" rel="nofollow noopener" target="_blank">Activity Vocabularyの型安全なオブジェクト</a>、WebFingerクライアント・サーバー、HTTP Signaturesなどを提供し、ボイラープレートコードを削減してアプリケーションロジックに集中できるようにします。</p><p><strong><a href="https://docs.hollo.social/" rel="nofollow noopener" target="_blank">Hollo</a> :hollo:</strong></p><p><a href="https://docs.hollo.social/" rel="nofollow noopener" target="_blank">Hollo</a>(<a translate="no" class="h-card u-url mention" href="https://hollo.social/@hollo" rel="nofollow noopener" target="_blank">@<span>hollo</span></a>)はFedifyで動作するお一人様用マイクロブログサーバーです。個人向けに設計されていますが、ActivityPubを通じて完全に連合化されており、フェディバース全体のユーザーと交流することができます。HolloはMastodon互換APIを実装しているため、独自のウェブインターフェースがなくても、<a href="https://docs.hollo.social/ja/clients/" rel="nofollow noopener" target="_blank">ほとんどのMastodonクライアントと互換性</a>があります。</p><p>Holloはまた、正式リリース前の最新Fedify機能をテストする実験場としても活用されています。</p><p><strong><a href="https://botkit.fedify.dev/" rel="nofollow noopener" target="_blank">BotKit</a> :botkit:</strong></p><p><a href="https://botkit.fedify.dev/" rel="nofollow noopener" target="_blank">BotKit</a>(<a translate="no" class="h-card u-url mention" href="https://hollo.social/@botkit" rel="nofollow noopener" target="_blank">@<span>botkit</span></a>)は私たちの最も新しいメンバーで、ActivityPubボットを作成するために特別に設計されたフレームワークです。従来のMastodonボットとは異なり、BotKitはプラットフォーム固有の制限(文字数制限など)に縛られない独立したActivityPubサーバーを作成します。</p><p>BotKitのAPIは意図的にシンプルに設計されており、単一のTypeScriptファイルで完全なボットを作成できます!</p> <p>これら三つのプロジェクトはすべて<a href="https://github.com/fedify-dev" rel="nofollow noopener" target="_blank">@fedify-dev</a> GitHubオーガニゼーションでオープンソースとして公開されています。それぞれ異なる目的を持っていますが、ActivityPub開発をより身近にし、フェディバースのエコシステムを拡大するという共通の目標を共有しています。</p><p>これらのプロジェクトを試してみたり、開発に貢献したりすることに興味がある場合は、以下をご覧ください:</p><ul> <li>Fedify:<a href="https://fedify.dev/" rel="nofollow noopener" target="_blank">https://fedify.dev/</a></li><li>Hollo:<a href="https://docs.hollo.social/" rel="nofollow noopener" target="_blank">https://docs.hollo.social/</a></li><li>BotKit:<a href="https://botkit.fedify.dev/" rel="nofollow noopener" target="_blank">https://botkit.fedify.dev/</a></li> </ul><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Fedify" target="_blank">#<span>Fedify</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/%E3%83%95%E3%82%A7%E3%83%87%E3%82%A3%E3%83%90%E3%83%BC%E3%82%B9" target="_blank">#<span>フェディバース</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Hollo" target="_blank">#<span>Hollo</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a></p>
Fedify: ActivityPub server framework<p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Fedify" target="_blank">#<span>Fedify</span></a> 자매 프로젝트들을 소개해 드리고자 합니다. <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> 애플리케이션 개발을 더 쉽게 만들어주는 관련 도구들입니다:</p><p><strong><a href="https://fedify.dev/" rel="nofollow noopener" target="_blank">Fedify</a> :fedify:</strong></p><p><a href="https://fedify.dev/" rel="nofollow noopener" target="_blank">Fedify</a>(<a translate="no" class="h-card u-url mention" href="https://hollo.social/@fedify" rel="nofollow noopener" target="_blank">@<span>fedify</span></a>)는 ActivityPub와 다른 <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/%EC%97%B0%ED%95%A9%EC%9A%B0%EC%A3%BC" target="_blank">#<span>연합우주</span></a>(<a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a>) 표준을 기반으로 연합 서버 애플리케이션을 구축하기 위한 <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/TypeScript" target="_blank">#<span>TypeScript</span></a> 라이브러리입니다. <a href="https://fedify.dev/manual/vocab" rel="nofollow noopener" target="_blank">Activity Vocabulary를 위한 타입 안전한 객체</a>, WebFinger 클라이언트·서버, HTTP Signatures 등를 제공하여 반복적인 코드를 줄이고 애플리케이션 로직에 집중할 수 있게 해줍니다.</p><p><strong><a href="https://docs.hollo.social/" rel="nofollow noopener" target="_blank">Hollo</a> :hollo:</strong></p><p><a href="https://docs.hollo.social/" rel="nofollow noopener" target="_blank">Hollo</a>(<a translate="no" class="h-card u-url mention" href="https://hollo.social/@hollo" rel="nofollow noopener" target="_blank">@<span>hollo</span></a>)는 Fedify로 구동되는 1인 사용자용 마이크로블로깅 서버입니다. 1인 사용자를 위해 설계되었지만, ActivityPub를 통해 완전히 연합되어 연합우주 전체의 사용자들과 상호작용할 수 있습니다. Hollo는 Mastodon 호환 API를 구현하여 자체 웹 인터페이스 없이도 <a href="https://docs.hollo.social/ko/clients/" rel="nofollow noopener" target="_blank">대부분의 Mastodon 클라이언트와 호환</a>됩니다.</p><p>Hollo는 또한 정식 출시 전에 최신 Fedify 기능을 테스트하는 실험장으로도 활용되고 있습니다.</p><p><strong><a href="https://botkit.fedify.dev/" rel="nofollow noopener" target="_blank">BotKit</a> :botkit:</strong></p><p><a href="https://botkit.fedify.dev/" rel="nofollow noopener" target="_blank">BotKit</a>(<a translate="no" class="h-card u-url mention" href="https://hollo.social/@botkit" rel="nofollow noopener" target="_blank">@<span>botkit</span></a>)은 저희의 가장 새로운 구성원으로, ActivityPub 봇을 만들기 위해 특별히 설계된 프레임워크입니다. 전통적인 Mastodon 봇과 달리, BotKit은 플랫폼별 제한(글자 수 제한 등)에 구애받지 않는 독립적인 ActivityPub 서버를 만듭니다.</p><p>BotKit의 API는 의도적으로 단순하게 설계되어 단일 TypeScript 파일로 완전한 봇을 만들 수 있습니다!</p> <p>세 프로젝트 모두 <a href="https://github.com/fedify-dev" rel="nofollow noopener" target="_blank">@fedify-dev</a> GitHub 조직에서 오픈 소스로 공개되어 있습니다. 각기 다른 목적을 가지고 있지만, ActivityPub 개발을 더 접근하기 쉽게 만들고 연합우주 생태계를 확장한다는 공통된 목표를 공유합니다.</p><p>이러한 프로젝트를 사용해보거나 개발에 기여하는 데 관심이 있으시다면, 다음을 확인해보세요:</p><ul> <li>Fedify: <a href="https://fedify.dev/" rel="nofollow noopener" target="_blank">https://fedify.dev/</a></li><li>Hollo: <a href="https://docs.hollo.social/" rel="nofollow noopener" target="_blank">https://docs.hollo.social/</a></li><li>BotKit: <a href="https://botkit.fedify.dev/" rel="nofollow noopener" target="_blank">https://botkit.fedify.dev/</a></li> </ul><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Hollo" target="_blank">#<span>Hollo</span></a> <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a></p>
Fedify: ActivityPub server framework<p>We'd like to introduce the <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Fedify" target="_blank">#<span>Fedify</span></a> project family—a set of related tools that make building <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/ActivityPub" target="_blank">#<span>ActivityPub</span></a> applications more accessible:</p><p><strong><a href="https://fedify.dev/" rel="nofollow noopener" target="_blank">Fedify</a> :fedify:</strong></p><p><a href="https://fedify.dev/" rel="nofollow noopener" target="_blank">Fedify</a> (<a translate="no" class="h-card u-url mention" href="https://hollo.social/@fedify" rel="nofollow noopener" target="_blank">@<span>fedify</span></a>) is a <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/TypeScript" target="_blank">#<span>TypeScript</span></a> library for building federated server applications powered by ActivityPub and other <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fediverse" target="_blank">#<span>fediverse</span></a> standards. It provides <a href="https://fedify.dev/manual/vocab" rel="nofollow noopener" target="_blank">type-safe objects for Activity Vocabulary</a>, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.</p><p><strong><a href="https://docs.hollo.social/" rel="nofollow noopener" target="_blank">Hollo</a> :hollo:</strong></p><p><a href="https://docs.hollo.social/" rel="nofollow noopener" target="_blank">Hollo</a> (<a translate="no" class="h-card u-url mention" href="https://hollo.social/@hollo" rel="nofollow noopener" target="_blank">@<span>hollo</span></a>) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/Hollo" target="_blank">#<span>Hollo</span></a> implements Mastodon-compatible APIs, making it <a href="https://docs.hollo.social/clients/" rel="nofollow noopener" target="_blank">compatible with most Mastodon clients</a> without needing its own web interface.</p><p>Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.</p><p><strong><a href="https://botkit.fedify.dev/" rel="nofollow noopener" target="_blank">BotKit</a> :botkit:</strong></p><p><a href="https://botkit.fedify.dev/" rel="nofollow noopener" target="_blank">BotKit</a> (<a translate="no" class="h-card u-url mention" href="https://hollo.social/@botkit" rel="nofollow noopener" target="_blank">@<span>botkit</span></a>) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, <a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/BotKit" target="_blank">#<span>BotKit</span></a> creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).</p><p>BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!</p> <p>All three projects are open source and hosted under the <a href="https://github.com/fedify-dev" rel="nofollow noopener" target="_blank">@fedify-dev</a> GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.</p><p>If you're interested in trying any of these projects or contributing to their development, check out:</p><ul> <li>Fedify: <a href="https://fedify.dev/" rel="nofollow noopener" target="_blank">https://fedify.dev/</a></li><li>Hollo: <a href="https://docs.hollo.social/" rel="nofollow noopener" target="_blank">https://docs.hollo.social/</a></li><li>BotKit: <a href="https://botkit.fedify.dev/" rel="nofollow noopener" target="_blank">https://botkit.fedify.dev/</a></li> </ul><p><a class="mention hashtag" rel="nofollow noopener" href="https://hollo.social/tags/fedidev" target="_blank">#<span>fedidev</span></a></p>
Dr James Ravenscroft<p>I set up a fedi bot that creates Severance "facts about your outie" after I saw some amusing ones floating around this morning. Good opportunity to get familiar with <a href="https://fosstodon.org/tags/fedify" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>fedify</span></a> and <a href="https://fosstodon.org/tags/botkit" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>botkit</span></a> <a href="https://outiebot.jamesravey.me/message/01952eb5-81f4-709f-95fc-44d2d3be86fc" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">outiebot.jamesravey.me/message</span><span class="invisible">/01952eb5-81f4-709f-95fc-44d2d3be86fc</span></a></p>
Tom Casavant<p>Sorry, last one, I promise. </p><p>Built another <span class="h-card" translate="no"><a href="https://hollo.social/@botkit" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>botkit</span></a></span> bot, if you tag <span class="h-card" translate="no"><a href="https://logos.deno.dev/" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>tmnt</span></a></span> w/ some text it will generate a TMNT logo for you using an API on a <span class="h-card" translate="no"><a href="https://mastodon.social/@glitchdotcom" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>glitchdotcom</span></a></span> site:<br><a href="https://tmnt-logo.glitch.me/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">tmnt-logo.glitch.me/</span><span class="invisible"></span></a>.</p><p><a href="https://xkcd.com/1412/" rel="nofollow noopener" target="_blank">Relevant XKCD</a><br><a href="https://github.com/TomCasavant/tmnt-logo-bot" rel="nofollow noopener" target="_blank">Bot Source Code</a><br><a href="https://github.com/TomCasavant/tmnt-logo-generator" rel="nofollow noopener" target="_blank">Glitch Logo Generator Source Code</a></p>