hongminhee

joined 1 year ago
 

Hey everyone! I'm excited to introduce BotKit, a new framework specifically designed for creating standalone ActivityPub bots.

What makes BotKit different from typical Mastodon bot approaches is that it creates fully independent ActivityPub servers. This means your bots aren't constrained by platform-specific limitations like character limits or attachment restrictions. Each bot is a complete ActivityPub server in itself.

The API is designed to be extremely straightforward. You can create a complete bot in a single TypeScript file, with intuitive event handlers for follows, mentions, replies, and more. Here's a quick example:

const bot = createBot<void>({
  username: "mybot",
  name: "My Bot",
  summary: text`A bot powered by BotKit.`,
  kv: new MemoryKvStore(),
  queue: new InProcessMessageQueue(),
});

bot.onMention = async (session, message) => {
  await message.reply(text`Hi, ${message.actor}!`);
};

BotKit currently supports Deno, with plans to add Node.js and Bun support in future releases. It leverages all the federation capabilities of Fedify but abstracts away the complexity, letting you focus purely on your bot's behavior.

The framework is still in early development, but we'd love to hear your thoughts and feedback. Feel free to try it out and let us know what kind of bots you build with it!

 

Hey everyone! I'm excited to introduce BotKit, a new framework specifically designed for creating standalone ActivityPub bots.

What makes BotKit different from typical Mastodon bot approaches is that it creates fully independent ActivityPub servers. This means your bots aren't constrained by platform-specific limitations like character limits or attachment restrictions. Each bot is a complete ActivityPub server in itself.

The API is designed to be extremely straightforward. You can create a complete bot in a single TypeScript file, with intuitive event handlers for follows, mentions, replies, and more. Here's a quick example:

const bot = createBot<void>({
  username: "mybot",
  name: "My Bot",
  summary: text`A bot powered by BotKit.`,
  kv: new MemoryKvStore(),
  queue: new InProcessMessageQueue(),
});

bot.onMention = async (session, message) => {
  await message.reply(text`Hi, ${message.actor}!`);
};

BotKit currently supports Deno, with plans to add Node.js and Bun support in future releases. It leverages all the federation capabilities of Fedify but abstracts away the complexity, letting you focus purely on your bot's behavior.

The framework is still in early development, but we'd love to hear your thoughts and feedback. Feel free to try it out and let us know what kind of bots you build with it!

74
submitted 3 months ago* (last edited 3 months ago) by hongminhee@lemmy.ml to c/fediverse@lemmy.world
 

The version 1.3.0 of Fedify, an ActivityPub server framework, released! The key changes include:

For details, see the full changelog as well!

Fedify 1.3.0 is available at JSR and npm.

1
submitted 3 months ago* (last edited 3 months ago) by hongminhee@lemmy.ml to c/fediverse@lemmy.ml
 

The version 1.3.0 of Fedify, an ActivityPub server framework, released! The key changes include:

For details, see the full changelog as well!

Fedify 1.3.0 is available at JSR and npm.

1
Hollo 0.1.0 released (hollo.social)
submitted 5 months ago* (last edited 5 months ago) by hongminhee@lemmy.ml to c/fediverse@lemmy.ml
 

Finally, Hollo 0.1.0 released! Hollo is a single-user federated microblogging software which is ActivityPub-enabled and powered by Fedify.

Hollo has the most of features that Mastodon has except for moderation tools, and also include:

  • CommonMark (a.k.a. Markdown) and up to 4,096 characters per post
  • Misskey-style quotes (compatible with Misskey, Akkoma, Fedibird, etc)
  • Misskey-style emoji reactions (both Unicode emojis and custom emojis are supported; compatible with Misskey, Akkoma, kmyblue, etc)
  • Generally much relaxed limitations (more poll options, more attachments, and so on)
  • … and many more!

If you're interested in Hollo, please give it a try! There are several ways to install it: using Railway, using Docker (and Docker Compose), or manually.

If you're already using Hollo, please upgrade it to v0.1.0:

 

Fedifyは、TypeScriptとJavaScriptで書かれたActivityPubサーバーフレームワークです。分散型のソーシャルネットワークを構築するためのサーバーアプリケーションを作る際の複雑さと冗長なコードを排除し、ビジネスロジックとユーザー体験の開発に集中できるようにすることを目指しています。

現在提供している主な機能は以下の通りです:

  • Activity Vocabularyのための型安全なオブジェクト(一部のベンダー固有の拡張機能を含む)
  • WebFingerクライアントとサーバー
  • HTTP SignaturesObject Integrity Proofs
  • ウェブフックを処理するためのミドルウェア
  • NodeInfoプロトコル
  • Node.js、Deno、Bunのサポート
  • テストとデバッグのためのCLIツールチェーン

興味がある方は、Fedifyのウェブサイトをご覧ください!包括的なドキュメント、デモ、チュートリアル、サンプルコードなどが用意されています:

https://fedify.dev/

[–] hongminhee@lemmy.ml 2 points 11 months ago* (last edited 11 months ago) (1 children)

LogTape author here.

LogTape also supports structured logging. Structured values are kept in LogRecord.properties. Please see how to use the JSON formatter.

view more: next ›