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!

 

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!

 

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.

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.

25
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.

 

cross-posted from: https://lemmy.ml/post/21657544

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:

 

cross-posted from: https://lemmy.ml/post/21657544

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:

30
Hollo 0.1.0 released (hollo.social)
submitted 4 months ago* (last edited 4 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:

[–] hongminhee@lemmy.ml 2 points 5 months ago

It has zero dependencies, and supports virtually every JavaScript runtime (browsers, Node.js, Bun, Deno, and edge functions). It also organize loggers in hierarchical categories, which allows you fine-grained control over log levels for different parts of an application.

[–] hongminhee@lemmy.ml 2 points 5 months ago

Thank you for your advice. As you mentioned, Fedify currently has actor URIs consisting of handles. This limitation is due to the early design of Fedify and will be fixed before we release v1.0!

[–] hongminhee@lemmy.ml 2 points 10 months ago* (last edited 10 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 ›