#bots

BotKit by Fedify :botkit:'s avatar
BotKit by Fedify :botkit:

@botkit@hollo.social

We're excited to announce the release of BotKit 0.3.0! This release marks a significant milestone as now supports .js alongside , 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 runtime while building with the same powerful BotKit APIs.

One of the most requested features has landed: poll support! You can now create interactive polls in your 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 platforms like Mastodon and Misskey.

// Create a poll with multiple choices
await session.publish(text`What'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 votes
bot.onVote = async (session, vote) => {
  console.log(`${vote.actor} voted for "${vote.option}"`);
};

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

BotKit by Fedify :botkit:'s avatar
BotKit by Fedify :botkit:

@botkit@hollo.social

We're excited to announce the release of BotKit 0.3.0! This release marks a significant milestone as now supports .js alongside , 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 runtime while building with the same powerful BotKit APIs.

One of the most requested features has landed: poll support! You can now create interactive polls in your 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 platforms like Mastodon and Misskey.

// Create a poll with multiple choices
await session.publish(text`What'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 votes
bot.onVote = async (session, vote) => {
  console.log(`${vote.actor} voted for "${vote.option}"`);
};

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

BotKit by Fedify :botkit:'s avatar
BotKit by Fedify :botkit:

@botkit@hollo.social

We're excited to announce the release of BotKit 0.3.0! This release marks a significant milestone as now supports .js alongside , 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 runtime while building with the same powerful BotKit APIs.

One of the most requested features has landed: poll support! You can now create interactive polls in your 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 platforms like Mastodon and Misskey.

// Create a poll with multiple choices
await session.publish(text`What'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 votes
bot.onVote = async (session, vote) => {
  console.log(`${vote.actor} voted for "${vote.option}"`);
};

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

BotKit by Fedify :botkit:'s avatar
BotKit by Fedify :botkit:

@botkit@hollo.social

We're excited to announce the release of BotKit 0.3.0! This release marks a significant milestone as now supports .js alongside , 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 runtime while building with the same powerful BotKit APIs.

One of the most requested features has landed: poll support! You can now create interactive polls in your 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 platforms like Mastodon and Misskey.

// Create a poll with multiple choices
await session.publish(text`What'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 votes
bot.onVote = async (session, vote) => {
  console.log(`${vote.actor} voted for "${vote.option}"`);
};

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

BotKit by Fedify :botkit:'s avatar
BotKit by Fedify :botkit:

@botkit@hollo.social

We're excited to announce the release of BotKit 0.3.0! This release marks a significant milestone as now supports .js alongside , 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 runtime while building with the same powerful BotKit APIs.

One of the most requested features has landed: poll support! You can now create interactive polls in your 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 platforms like Mastodon and Misskey.

// Create a poll with multiple choices
await session.publish(text`What'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 votes
bot.onVote = async (session, vote) => {
  console.log(`${vote.actor} voted for "${vote.option}"`);
};

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

BotKit by Fedify :botkit:'s avatar
BotKit by Fedify :botkit:

@botkit@hollo.social

We're excited to announce the release of BotKit 0.3.0! This release marks a significant milestone as now supports .js alongside , 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 runtime while building with the same powerful BotKit APIs.

One of the most requested features has landed: poll support! You can now create interactive polls in your 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 platforms like Mastodon and Misskey.

// Create a poll with multiple choices
await session.publish(text`What'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 votes
bot.onVote = async (session, vote) => {
  console.log(`${vote.actor} voted for "${vote.option}"`);
};

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

BotKit by Fedify :botkit:'s avatar
BotKit by Fedify :botkit:

@botkit@hollo.social

We're excited to announce the release of BotKit 0.3.0! This release marks a significant milestone as now supports .js alongside , 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 runtime while building with the same powerful BotKit APIs.

One of the most requested features has landed: poll support! You can now create interactive polls in your 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 platforms like Mastodon and Misskey.

// Create a poll with multiple choices
await session.publish(text`What'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 votes
bot.onVote = async (session, vote) => {
  console.log(`${vote.actor} voted for "${vote.option}"`);
};

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

BotKit by Fedify :botkit:'s avatar
BotKit by Fedify :botkit:

@botkit@hollo.social

We're excited to announce the release of BotKit 0.3.0! This release marks a significant milestone as now supports .js alongside , 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 runtime while building with the same powerful BotKit APIs.

One of the most requested features has landed: poll support! You can now create interactive polls in your 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 platforms like Mastodon and Misskey.

// Create a poll with multiple choices
await session.publish(text`What'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 votes
bot.onVote = async (session, vote) => {
  console.log(`${vote.actor} voted for "${vote.option}"`);
};

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

BotKit by Fedify :botkit:'s avatar
BotKit by Fedify :botkit:

@botkit@hollo.social

We're excited to announce the release of BotKit 0.3.0! This release marks a significant milestone as now supports .js alongside , 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 runtime while building with the same powerful BotKit APIs.

One of the most requested features has landed: poll support! You can now create interactive polls in your 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 platforms like Mastodon and Misskey.

// Create a poll with multiple choices
await session.publish(text`What'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 votes
bot.onVote = async (session, vote) => {
  console.log(`${vote.actor} voted for "${vote.option}"`);
};

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

BotKit by Fedify :botkit:'s avatar
BotKit by Fedify :botkit:

@botkit@hollo.social

We're excited to announce the release of BotKit 0.3.0! This release marks a significant milestone as now supports .js alongside , 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 runtime while building with the same powerful BotKit APIs.

One of the most requested features has landed: poll support! You can now create interactive polls in your 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 platforms like Mastodon and Misskey.

// Create a poll with multiple choices
await session.publish(text`What'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 votes
bot.onVote = async (session, vote) => {
  console.log(`${vote.actor} voted for "${vote.option}"`);
};

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

BotKit by Fedify :botkit:'s avatar
BotKit by Fedify :botkit:

@botkit@hollo.social

We're excited to announce the release of BotKit 0.3.0! This release marks a significant milestone as now supports .js alongside , 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 runtime while building with the same powerful BotKit APIs.

One of the most requested features has landed: poll support! You can now create interactive polls in your 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 platforms like Mastodon and Misskey.

// Create a poll with multiple choices
await session.publish(text`What'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 votes
bot.onVote = async (session, vote) => {
  console.log(`${vote.actor} voted for "${vote.option}"`);
};

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

BotKit by Fedify :botkit:'s avatar
BotKit by Fedify :botkit:

@botkit@hollo.social

We're excited to announce the release of BotKit 0.3.0! This release marks a significant milestone as now supports .js alongside , 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 runtime while building with the same powerful BotKit APIs.

One of the most requested features has landed: poll support! You can now create interactive polls in your 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 platforms like Mastodon and Misskey.

// Create a poll with multiple choices
await session.publish(text`What'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 votes
bot.onVote = async (session, vote) => {
  console.log(`${vote.actor} voted for "${vote.option}"`);
};

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

Strypey's avatar
Strypey

@strypey@mastodon.nzoss.nz

botsin.space, and bot hosting on Glitch (thanks Fastly);

botwiki.org/blog/a-decade-of-b

I discovered botwiki through a web search, after finding the tombstone on botsin.space. Thanks to @stefan for the blog posts there about all this, and the link to the detailed postmortem by the founder and admin of botsin.space;
muffinlabs.com/posts/2024/12/2

Lots to think about in there.

(1/?)

Roni Laukkarinen's avatar
Roni Laukkarinen

@rolle@mementomori.social

The times we live in...

Heading: "Spotify Has an AI Music Problem - But Bots Love It". "Fake listeners are flocking to AI-made songs on streaming platforms, taking much needed money away from human artists."
ALT text detailsHeading: "Spotify Has an AI Music Problem - But Bots Love It". "Fake listeners are flocking to AI-made songs on streaming platforms, taking much needed money away from human artists."
New on Botwiki ✨'s avatar
New on Botwiki ✨

@newonbotwiki@stefanbohacek.online

New bot was added to Botwiki! botwiki.org/bot/gulfofmapbot-d by @tom

New on Botwiki ✨'s avatar
New on Botwiki ✨

@newonbotwiki@stefanbohacek.online

New bot was added to Botwiki! botwiki.org/bot/tmntlogos-deno by @tom

Mark Wyner :vm:'s avatar
Mark Wyner :vm:

@markwyner@mas.to

Anyone else seeing these Cloudflare gatekeeper screens everywhere? Anyone else remember when the internet wasn’t mostly “accept my cookies,” “prove you’re a human,” and “sign up for my newsletter”?

Screenshot of a website gate that reads “one with nature dot com. Verify you are human by completing the action below.”There is a checkbox with the label “verify you are human.”Then more copy that reads “one with nature dot com needs to review the security of your connection before proceeding.”
ALT text detailsScreenshot of a website gate that reads “one with nature dot com. Verify you are human by completing the action below.”There is a checkbox with the label “verify you are human.”Then more copy that reads “one with nature dot com needs to review the security of your connection before proceeding.”
Mark Wyner :vm:'s avatar
Mark Wyner :vm:

@markwyner@mas.to

Anyone else seeing these Cloudflare gatekeeper screens everywhere? Anyone else remember when the internet wasn’t mostly “accept my cookies,” “prove you’re a human,” and “sign up for my newsletter”?

Screenshot of a website gate that reads “one with nature dot com. Verify you are human by completing the action below.”There is a checkbox with the label “verify you are human.”Then more copy that reads “one with nature dot com needs to review the security of your connection before proceeding.”
ALT text detailsScreenshot of a website gate that reads “one with nature dot com. Verify you are human by completing the action below.”There is a checkbox with the label “verify you are human.”Then more copy that reads “one with nature dot com needs to review the security of your connection before proceeding.”
Mark Wyner :vm:'s avatar
Mark Wyner :vm:

@markwyner@mas.to

Anyone else seeing these Cloudflare gatekeeper screens everywhere? Anyone else remember when the internet wasn’t mostly “accept my cookies,” “prove you’re a human,” and “sign up for my newsletter”?

Screenshot of a website gate that reads “one with nature dot com. Verify you are human by completing the action below.”There is a checkbox with the label “verify you are human.”Then more copy that reads “one with nature dot com needs to review the security of your connection before proceeding.”
ALT text detailsScreenshot of a website gate that reads “one with nature dot com. Verify you are human by completing the action below.”There is a checkbox with the label “verify you are human.”Then more copy that reads “one with nature dot com needs to review the security of your connection before proceeding.”
⛰︎ Alexa ꩜ ☾⭒°✧'s avatar
⛰︎ Alexa ꩜ ☾⭒°✧

@sonder@app.wafrn.net

These are all bots/fake accounts. Wtf.


#Ramblings #bots #bot-accounts
Notifications on an iphone screen of several “users” following me on WAFRN in rapid succession.
ALT text detailsNotifications on an iphone screen of several “users” following me on WAFRN in rapid succession.
Gytis Repečka's avatar
Gytis Repečka

@gytisrepecka@social.gyt.is

Attention server admins! Yesterday I've read a post by @simon_brooke how nasty AI scraper bots are attacking his self-hosted @forgejo instance. Soon after I'm seeing unusual, periodic traffic spikes on mine and again - dominated by OpenAI, but some other freeloaders too:

20.171.207.41   GPTBot/1.2
85.208.96.211   SemrushBot/7~bl
54.36.148.64    AhrefsBot/7.0
114.119.139.53  PetalBot

With GPTBot and SemrushBot attacking hardest :blobcatscared:

They've been hammering my little server periodically today as well, slowing down my instance dramatically as if I was experiencing malicious DDoS attack :blobcatfearful: Well, in a sense it is one :blobcatnotlikethis:

Watch out - it seems corporate AI techbros learned to scrape :forgejo: content and starts doing it on a massive scale :blobcatoutage: Remember when @Codeberg was (and repeatedly is) hit?

For now blocked IP ranges and User-Agent combinations, not sure for how long that will be enough :blobcatumm:

Please boost for visibility and be prepared!

#forgejo #developerlife #coding #attack #techbros #aislop #openai #bots #ddos

Dramatic spikes in network traffic observed on my self-hosted Forgejo instance, caused by corporate AI bot scraping
ALT text detailsDramatic spikes in network traffic observed on my self-hosted Forgejo instance, caused by corporate AI bot scraping
Random fediverse bots's avatar
Random fediverse bots

@botwikirandomfediverse@stefanbohacek.online

Views from Ohio.

botwiki.org/bot/ohgo-traffic-c

Follow:
- tomkahe.com/@ohgo
- tomkahe.com/@ohgo

Random fediverse bots's avatar
Random fediverse bots

@botwikirandomfediverse@stefanbohacek.online

Calculating how cowardly NFL punts are.

botwiki.org/bot/surrender_inde

Follow: tomkahe.com/@surrender_index

sebsauvage's avatar
sebsauvage

@sebsauvage@framapiaf.org

pour se protéger contre les 🤖 d'IA.

Comme il m'a été demandé, je vous ai fait un petit sur la configuration de base.
sebsauvage.net/wiki/doku.php?i

(c'est encore récent, j'espère qu'il n'y a pas trop de coquilles)

(ping @M1k3)

sebsauvage's avatar
sebsauvage

@sebsauvage@framapiaf.org

pour se protéger contre les 🤖 d'IA.

Comme il m'a été demandé, je vous ai fait un petit sur la configuration de base.
sebsauvage.net/wiki/doku.php?i

(c'est encore récent, j'espère qu'il n'y a pas trop de coquilles)

(ping @M1k3)

Neil Craig's avatar
Neil Craig

@tdp_org@mastodon.social

I noticed that a *lot* of the crawlers/bots we see on www.bbc.co.uk & www.bbc.com are spoofed e.g. a "Meta" crawler coming from 10s of different small ISPs across the world (the real one comes from a Meta ASN).
I deployed a change this morning which adds source ASN validation (alongside user-agent string analysis) to our "known crawlers/bots" classifier & well, the results speak for themselves. Attached graphs show RPS from "known crawlers/bots" to www.bbc.co.uk & www.bbc.com.

Graph of requests from "known crawlers/bots" over time to www.bbc.co.uk for today.
The graph is relatively steady until about 08:45 UTC when it drops by about 90%
ALT text detailsGraph of requests from "known crawlers/bots" over time to www.bbc.co.uk for today. The graph is relatively steady until about 08:45 UTC when it drops by about 90%
Graph of requests from "known crawlers/bots" over time to www.bbc.com for today.
The graph is relatively steady until about 08:45 UTC when it drops by about 90%
ALT text detailsGraph of requests from "known crawlers/bots" over time to www.bbc.com for today. The graph is relatively steady until about 08:45 UTC when it drops by about 90%
Neil Craig's avatar
Neil Craig

@tdp_org@mastodon.social

I noticed that a *lot* of the crawlers/bots we see on www.bbc.co.uk & www.bbc.com are spoofed e.g. a "Meta" crawler coming from 10s of different small ISPs across the world (the real one comes from a Meta ASN).
I deployed a change this morning which adds source ASN validation (alongside user-agent string analysis) to our "known crawlers/bots" classifier & well, the results speak for themselves. Attached graphs show RPS from "known crawlers/bots" to www.bbc.co.uk & www.bbc.com.

Graph of requests from "known crawlers/bots" over time to www.bbc.co.uk for today.
The graph is relatively steady until about 08:45 UTC when it drops by about 90%
ALT text detailsGraph of requests from "known crawlers/bots" over time to www.bbc.co.uk for today. The graph is relatively steady until about 08:45 UTC when it drops by about 90%
Graph of requests from "known crawlers/bots" over time to www.bbc.com for today.
The graph is relatively steady until about 08:45 UTC when it drops by about 90%
ALT text detailsGraph of requests from "known crawlers/bots" over time to www.bbc.com for today. The graph is relatively steady until about 08:45 UTC when it drops by about 90%
Neil Craig's avatar
Neil Craig

@tdp_org@mastodon.social

I noticed that a *lot* of the crawlers/bots we see on www.bbc.co.uk & www.bbc.com are spoofed e.g. a "Meta" crawler coming from 10s of different small ISPs across the world (the real one comes from a Meta ASN).
I deployed a change this morning which adds source ASN validation (alongside user-agent string analysis) to our "known crawlers/bots" classifier & well, the results speak for themselves. Attached graphs show RPS from "known crawlers/bots" to www.bbc.co.uk & www.bbc.com.

Graph of requests from "known crawlers/bots" over time to www.bbc.co.uk for today.
The graph is relatively steady until about 08:45 UTC when it drops by about 90%
ALT text detailsGraph of requests from "known crawlers/bots" over time to www.bbc.co.uk for today. The graph is relatively steady until about 08:45 UTC when it drops by about 90%
Graph of requests from "known crawlers/bots" over time to www.bbc.com for today.
The graph is relatively steady until about 08:45 UTC when it drops by about 90%
ALT text detailsGraph of requests from "known crawlers/bots" over time to www.bbc.com for today. The graph is relatively steady until about 08:45 UTC when it drops by about 90%
Neil Craig's avatar
Neil Craig

@tdp_org@mastodon.social

I noticed that a *lot* of the crawlers/bots we see on www.bbc.co.uk & www.bbc.com are spoofed e.g. a "Meta" crawler coming from 10s of different small ISPs across the world (the real one comes from a Meta ASN).
I deployed a change this morning which adds source ASN validation (alongside user-agent string analysis) to our "known crawlers/bots" classifier & well, the results speak for themselves. Attached graphs show RPS from "known crawlers/bots" to www.bbc.co.uk & www.bbc.com.

Graph of requests from "known crawlers/bots" over time to www.bbc.co.uk for today.
The graph is relatively steady until about 08:45 UTC when it drops by about 90%
ALT text detailsGraph of requests from "known crawlers/bots" over time to www.bbc.co.uk for today. The graph is relatively steady until about 08:45 UTC when it drops by about 90%
Graph of requests from "known crawlers/bots" over time to www.bbc.com for today.
The graph is relatively steady until about 08:45 UTC when it drops by about 90%
ALT text detailsGraph of requests from "known crawlers/bots" over time to www.bbc.com for today. The graph is relatively steady until about 08:45 UTC when it drops by about 90%
Neil Craig's avatar
Neil Craig

@tdp_org@mastodon.social

I noticed that a *lot* of the crawlers/bots we see on www.bbc.co.uk & www.bbc.com are spoofed e.g. a "Meta" crawler coming from 10s of different small ISPs across the world (the real one comes from a Meta ASN).
I deployed a change this morning which adds source ASN validation (alongside user-agent string analysis) to our "known crawlers/bots" classifier & well, the results speak for themselves. Attached graphs show RPS from "known crawlers/bots" to www.bbc.co.uk & www.bbc.com.

Graph of requests from "known crawlers/bots" over time to www.bbc.co.uk for today.
The graph is relatively steady until about 08:45 UTC when it drops by about 90%
ALT text detailsGraph of requests from "known crawlers/bots" over time to www.bbc.co.uk for today. The graph is relatively steady until about 08:45 UTC when it drops by about 90%
Graph of requests from "known crawlers/bots" over time to www.bbc.com for today.
The graph is relatively steady until about 08:45 UTC when it drops by about 90%
ALT text detailsGraph of requests from "known crawlers/bots" over time to www.bbc.com for today. The graph is relatively steady until about 08:45 UTC when it drops by about 90%
Neil Craig's avatar
Neil Craig

@tdp_org@mastodon.social

I noticed that a *lot* of the crawlers/bots we see on www.bbc.co.uk & www.bbc.com are spoofed e.g. a "Meta" crawler coming from 10s of different small ISPs across the world (the real one comes from a Meta ASN).
I deployed a change this morning which adds source ASN validation (alongside user-agent string analysis) to our "known crawlers/bots" classifier & well, the results speak for themselves. Attached graphs show RPS from "known crawlers/bots" to www.bbc.co.uk & www.bbc.com.

Graph of requests from "known crawlers/bots" over time to www.bbc.co.uk for today.
The graph is relatively steady until about 08:45 UTC when it drops by about 90%
ALT text detailsGraph of requests from "known crawlers/bots" over time to www.bbc.co.uk for today. The graph is relatively steady until about 08:45 UTC when it drops by about 90%
Graph of requests from "known crawlers/bots" over time to www.bbc.com for today.
The graph is relatively steady until about 08:45 UTC when it drops by about 90%
ALT text detailsGraph of requests from "known crawlers/bots" over time to www.bbc.com for today. The graph is relatively steady until about 08:45 UTC when it drops by about 90%
Inautilo's avatar
Inautilo

@inautilo@mastodon.social


I use zip bombs to protect my server · Listen bots, you have been warned ilo.im/163ota

_____

Inautilo's avatar
Inautilo

@inautilo@mastodon.social


I use zip bombs to protect my server · Listen bots, you have been warned ilo.im/163ota

_____

Random fediverse bots's avatar
Random fediverse bots

@botwikirandomfediverse@stefanbohacek.online

Making sure websites you share are accessible.

botwiki.org/bot/a11y-link-bot/

Follow: mastodon.social/@a11y_link_bot

Random fediverse bots's avatar
Random fediverse bots

@botwikirandomfediverse@stefanbohacek.online

Making sure websites you share are accessible.

botwiki.org/bot/a11y-link-bot/

Follow: mastodon.social/@a11y_link_bot

Veronica Olsen 🏳️‍🌈🇳🇴🌻's avatar
Veronica Olsen 🏳️‍🌈🇳🇴🌻

@veronica@mastodon.online

Everyone is replacing their support departments with AI these days. I just tried twice to deal with the immensely dim bot on the phone with the public postal service in Norway.

It kept rambling on for ages with no way to interrupt to clarify. Such an incredible waste of time for a very simple request.

I hate this stuff so, so much. 😠

Veronica Olsen 🏳️‍🌈🇳🇴🌻's avatar
Veronica Olsen 🏳️‍🌈🇳🇴🌻

@veronica@mastodon.online

Everyone is replacing their support departments with AI these days. I just tried twice to deal with the immensely dim bot on the phone with the public postal service in Norway.

It kept rambling on for ages with no way to interrupt to clarify. Such an incredible waste of time for a very simple request.

I hate this stuff so, so much. 😠

Guillotine_Jones's avatar
Guillotine_Jones

@Guillotine_Jones@beige.party · Reply to Kat Marchán 🐈's post

@zkat @Mara
Surely, Kat and Mara, there's no human endeavor that the addition of bots or Ai can't make worse.

Aline Fuller's avatar
Aline Fuller

@Aline_Fuller@kolektiva.social · Reply to WimⓂ️'s post

@wim_v12e

A curated list titled 'Sabot in the Age of AI' by @asrg: Offensive Methods and Strategic Approaches for Facilitating (Algorithmic) Sabotage, Framework Disruption, and Intentional Data Poisoning.

tldr.nettime.org/@asrg/1138674

algorithmic-sabotage.github.io

'Trapping AI': A methodically structured poisoning mechanism designed to feed nonsensical to persistent and aggressive “AI” scrapers that circumvent robots.txt directives.

algorithmic-sabotage.github.io

Aline Fuller's avatar
Aline Fuller

@Aline_Fuller@kolektiva.social · Reply to WimⓂ️'s post

@wim_v12e

A curated list titled 'Sabot in the Age of AI' by @asrg: Offensive Methods and Strategic Approaches for Facilitating (Algorithmic) Sabotage, Framework Disruption, and Intentional Data Poisoning.

tldr.nettime.org/@asrg/1138674

algorithmic-sabotage.github.io

'Trapping AI': A methodically structured poisoning mechanism designed to feed nonsensical to persistent and aggressive “AI” scrapers that circumvent robots.txt directives.

algorithmic-sabotage.github.io

Emi's avatar
Emi

@Emi299@sakurajima.moe

Are auto boosting bots usefull to you? Have they actually resualted in your posts getting seen and more likes/boosts from human accounts?

The has that seem to auto about just about any popular hashtag, with the creators of these bots usually centralised.

edit: like i'l see a bunch of them coming from one specific server.

OptionVoters
yes, are useful6 (50%)
no, not usefull6 (50%)
Emi's avatar
Emi

@Emi299@sakurajima.moe

Are auto boosting bots usefull to you? Have they actually resualted in your posts getting seen and more likes/boosts from human accounts?

The has that seem to auto about just about any popular hashtag, with the creators of these bots usually centralised.

edit: like i'l see a bunch of them coming from one specific server.

OptionVoters
yes, are useful6 (50%)
no, not usefull6 (50%)
Konstantin :C_H:'s avatar
Konstantin :C_H:

@kpwn@infosec.exchange

BTW, the managed to bypass my (admittedly weak) . I prefer not to use reCAPTCHA for privacy reasons, though it would probably solve the issue.

15 accounts were successfully created just today.

I've blocked their IPs. Let's see what happens next! 😆

infosec.exchange/@kpwn/1139366

ᗦꫀᔕ𝔦ᧁꫛժ :butterfly_pan:'s avatar
ᗦꫀᔕ𝔦ᧁꫛժ :butterfly_pan:

@levi@tech.lgbt

What are your favorite on ?

ᗦꫀᔕ𝔦ᧁꫛժ :butterfly_pan:'s avatar
ᗦꫀᔕ𝔦ᧁꫛժ :butterfly_pan:

@levi@tech.lgbt

What are your favorite on ?

Metin Seven 🎨's avatar
Metin Seven 🎨

@metin@graphics.social · Reply to Metin Seven 🎨's post

Some work-in-progress stages of my robot bust design.

More impressions and info in the other thread posts… 🧵

Four creation stages of a 3D rendering of a robot bust design with a friendly expression.
ALT text detailsFour creation stages of a 3D rendering of a robot bust design with a friendly expression.
Metin Seven 🎨's avatar
Metin Seven 🎨

@metin@graphics.social · Reply to Metin Seven 🎨's post

Some work-in-progress stages of my robot bust design.

More impressions and info in the other thread posts… 🧵

Four creation stages of a 3D rendering of a robot bust design with a friendly expression.
ALT text detailsFour creation stages of a 3D rendering of a robot bust design with a friendly expression.
Metin Seven 🎨's avatar
Metin Seven 🎨

@metin@graphics.social · Reply to Metin Seven 🎨's post

Robot bust design 🤖

Modeled and rendered in the MagicaCSG SDF 3D editor.

Post-processed in PhotoScape X (Pro).

More impressions in the other thread posts… 🧵

3D rendering of a robot bust design with a friendly expression and vivid colors, but slightly damaged and weathered.
ALT text details3D rendering of a robot bust design with a friendly expression and vivid colors, but slightly damaged and weathered.
Metin Seven 🎨's avatar
Metin Seven 🎨

@metin@graphics.social · Reply to Metin Seven 🎨's post

🧵 Robot model update… 🤖

Made his eyes slightly larger, and added neck and shoulders.

More'll follow soon. Lunchtime now. 🥗😋

MagicaCSG SDF 3D editor screenshot of a robot bust model in progress.
ALT text detailsMagicaCSG SDF 3D editor screenshot of a robot bust model in progress.
Metin Seven 🎨's avatar
Metin Seven 🎨

@metin@graphics.social · Reply to Metin Seven 🎨's post

🧵 MagicaCSG modeling project progress update…

It's a robot head, in case you hadn't guessed yet. 😉

Calling it a day now. Work will continue tomorrow. Stay tuned. 🙂

MagicaCSG SDF 3D editor screenshot of a robot head model in progress.
ALT text detailsMagicaCSG SDF 3D editor screenshot of a robot head model in progress.
Metin Seven 🎨's avatar
Metin Seven 🎨

@metin@graphics.social

Finally started a new modeling project in my favorite 3D editor: MagicaCSG. 💚

As usual, I'll keep you up to date of the progress in this thread… 🧵

MagicaCSG SDF 3D editor screenshot of a mechanical model in progress.
ALT text detailsMagicaCSG SDF 3D editor screenshot of a mechanical model in progress.
Maho Pacheco 🦝🍻's avatar
Maho Pacheco 🦝🍻

@mapache@hachyderm.io

Hot take: what was fun about bots was knowing they were just that – bots. You could interact and give them instructions using 'natural language,' and the charm was in their limitations.

Neil Craig's avatar
Neil Craig

@tdp_org@mastodon.social

The % of user agents which are known bots or have "bot" in their UA string yesterday (a normal Monday) were:

www.bbc.co.uk: 3.0%
www.bbc.com: 8.7%

That's more than 33 million web pages in total.

Juan's avatar
Juan

@reidrac@mastodon.gamedev.place

This is a terrifying read.

2025-01-23 The bots are at it again | alexschroeder.ch/view/2025-01-

Sure, my website is "tiny", 100% static, and very fine-tuned (I like to think); but if I had some dynamic content that was mildly popular... oh, dear.

08956495

@08956495@infosec.exchange

Hi Fedi, me again... This time I want to ask, how do you find reporting for specific cities/countries? example on X I used to follow the EMSC account for around the world. What are some keywords to find something like this or is it better to try and go with hashtags instead?

08956495

@08956495@infosec.exchange

Hi Fedi, me again... This time I want to ask, how do you find reporting for specific cities/countries? example on X I used to follow the EMSC account for around the world. What are some keywords to find something like this or is it better to try and go with hashtags instead?

Random fediverse bots's avatar
Random fediverse bots

@botwikirandomfediverse@stefanbohacek.online

Live, from African wilderness.

botwiki.org/bot/african-wildli

Follow: botsin.space/@africanwildlife

Kazuky Akayashi ฅ^•ﻌ•^ฅ's avatar
Kazuky Akayashi ฅ^•ﻌ•^ฅ

@KazukyAkayashi@social.zarchbox.fr · Reply to Kazuky Akayashi ฅ^•ﻌ•^ฅ's post

Mouahahah

Caddy Tar Pit

Kazuky Akayashi ฅ^•ﻌ•^ฅ's avatar
Kazuky Akayashi ฅ^•ﻌ•^ฅ

@KazukyAkayashi@social.zarchbox.fr

J'ai oublié de poster la source pour les fedigens qui voudrait : How to block bad bots (that ignore robots.txt) using Caddy

Bon moi j'ai mis ça dans un fichier a part
:pikauvu:



RE:
social.zarchbox.fr/notes/a2hbn264j8cxr4cv

@reiver ⊼ (Charles) :batman:'s avatar
@reiver ⊼ (Charles) :batman:

@reiver@mastodon.social

botsin.space postmortem

muffinlabs.com/posts/2024/12/2

Stefan Bohacek's avatar
Stefan Bohacek

@stefan@stefanbohacek.online

Reminder that "sometime not long after December 15th", the botsin.space server, a home to many of your favorite creative bots, will be entering a read-only mode, before its planned shutdown.

(The server will run until at least March 2025.)

botwiki.org/blog/botsin-space-

Hope most of you bot admins managed to migrate by now!

botwiki.org's avatar
botwiki.org

@botwiki@mastodon.social

The December 15 deadline for botsin.space going into a read-only mode is fast approaching. Does anyone need help moving their bots to a new server?

botwiki.org/blog/botsin-space-

Stefan Bohacek's avatar
Stefan Bohacek

@stefan@stefanbohacek.online

botsin.space migration

As a small distraction, I am slowly beginning the migration of my creative bots from the botsin.space server (*).

I've considered a few options, and settled on moving everything onto the same server where I host my personal account.

Is this a good idea? Will it work? Will I have to upgrade the server?

Time will tell!

* botwiki.org/blog/botsin-space-

Tom Casavant's avatar
Tom Casavant

@tom@tomkahe.com

It's been a long time since I posted an . I don't think I even made one after moving to my self-hosted Mastodon server last year. So, why not drop it now while everyone is anxious about the election?

I'm a software developer from (and living in) Ohio after graduating from Ohio State. I like to tinker with things—usually on the software side, but occasionally, I do actual physical projects. I started programming back in middle school, but the first real project that got me hooked was a few years later when I connected a Wiimote to a Raspberry Pi to control a Spotify terminal client.

Earlier this year, I modified my Glitch-soc instance so hashtags in any post I make get filtered as out-of-band. Shortly after, during April Fools, I modified the federated timeline on my instance so that only people named Tom would be visible. I also built a very poorly made Minetest-ActivityPub bridge that linked the chat of a Minetest server to ActivityPub.

I have several active bots running on my instance. The more popular ones are:

There are also a few less-popular bots that I still enjoy, like @ohgo and @petadventures.

Recently, I made a Firefox extension called DuckDuckSocial that appends (prepends?) Mastodon search results to any search you make in DuckDuckGo which has ended up very useful to me and probably only to me.

Outside of software development, I'm a runner who enjoys watching the most frustrating sports teams in Cincinnati (the Bengals and the Reds). I also do a bit of photography, mostly around Columbus, and sometimes of my 3-legged cat, Bean. I play a moderate amount of video games (primarily on the Steam Deck and Nintendo Switch) and enjoy cooking—but I'm not particularly good at that either.

I actually had a Mastodon account back in 2018, but it was rather expensive for my brother to host at the time (and my puns were too top-notch), so I didn't come back until a few years ago, with the wave of other Twitter users.

Ben Keith 🚲's avatar
Ben Keith 🚲

@benlk@urbanists.social

re: botsin.space

For which are not interactive, it seems to me like their content model would be better supplied via RSS/Atom feeds than via something as overhead-heavy as ActivityPub. Less server time is spent serving a flat XML file.

Joe Steinbring :thisisfine:'s avatar
Joe Steinbring :thisisfine:

@joe@toot.works

Running an instance on the fediverse is really fucking hard. You aren't going to get the level of financial backing that you need, a lot of people are going to depend on you, and if something goes wrong, you are the person they're going to blame.

That is the reason why I created my instance and that is the reason why I am deliberately keeping it small.

Tip your admin, folks.

blackqueer.life/@aroacemagical

botwiki.org's avatar
botwiki.org

@botwiki@mastodon.social

With the sad news of the server closing, what do you all plan to do with your bots?

OptionVoters
Move them to another server10 (24%)
Self-host5 (12%)
Retire my bots1 (2%)
I don't make bots26 (62%)
Stefan Bohacek's avatar
Stefan Bohacek

@stefan@stefanbohacek.online

The botsin.space Mastodon server has been a huge part of the fediverse, and while it's sad it's being retired, I trust that the creative botmaking community will continue to thrive.

"So, given two choices -- asking for more donations so I can pay for more hardware to keep the instance running, or retiring it and encouraging people to support more community-oriented instances, I'll choose the second option every time."

muffinlabs.com/posts/2024/10/2

New on Botwiki ✨'s avatar
New on Botwiki ✨

@newonbotwiki@botsin.space

New bot was added to Botwiki! botwiki.org/bot/surrender_inde via @tom

El Pamplina 🇺🇦 🇵🇸 :cadiz:'s avatar
El Pamplina 🇺🇦 🇵🇸 :cadiz:

@ElPamplina@masto.es

Catálogo de mis :
- @machadobot : Poemas de Antonio Machado.
- @mitosbot : Falsos mitos.
- @SabiasQueBot : Curiosidades de todo tipo.

botwiki.org's avatar
botwiki.org

@botwiki@mastodon.social

Learn how to make a creative Mastodon bot with spreadsheets and a minimum of coding with this two-part tutorial by @stefan:

- Part 1: stefanbohacek.com/blog/making-
- Part 2: stefanbohacek.com/blog/making-

botwiki.org's avatar
botwiki.org

@botwiki@mastodon.social

Get the Botwiki Browser extension for and to learn more about various creative as your browse their profiles.

botwiki.org/projects/botwiki-b

A screenshot of the @rain@botsin.space bot page with an additional View on Botwiki button.
ALT text detailsA screenshot of the @rain@botsin.space bot page with an additional View on Botwiki button.
botwiki.org's avatar
botwiki.org

@botwiki@mastodon.social

Time to start updating all the memes on Botwiki.

A WikiHow-style meme where a man is trying to concentrate with closed eyes while intrusive thoughts appear as if whispered by another person:

- Monetizing my hobbies
- "I should do something"
- Capitalist definitions of worth
- Productivity with no goal

The original caption under the man trying to focus was "Me trying to make Twitter bots", with "Twitter" crossed over and replaced by "Mastodon", which is itself crossed over and replaced with "Fediverse".
ALT text detailsA WikiHow-style meme where a man is trying to concentrate with closed eyes while intrusive thoughts appear as if whispered by another person: - Monetizing my hobbies - "I should do something" - Capitalist definitions of worth - Productivity with no goal The original caption under the man trying to focus was "Me trying to make Twitter bots", with "Twitter" crossed over and replaced by "Mastodon", which is itself crossed over and replaced with "Fediverse".
botwiki.org's avatar
botwiki.org

@botwiki@mastodon.social

Yo, we got you.

(Thanks to @thzinc for the updated image!)

An image showing a man shaking hands with a muscular man whose arm is coming out of an old computer. The arm is labeled with "botwiki.org" and the man is labeled with "you, trying to make a Mastodon bot that posts your favorite lyrics".
ALT text detailsAn image showing a man shaking hands with a muscular man whose arm is coming out of an old computer. The arm is labeled with "botwiki.org" and the man is labeled with "you, trying to make a Mastodon bot that posts your favorite lyrics".
botwiki.org's avatar
botwiki.org

@botwiki@mastodon.social

botwiki.org now has 2,000 bots!

The number 2,000 made up of animated robot face emoji.
ALT text detailsThe number 2,000 made up of animated robot face emoji.
Stefan Bohacek's avatar
Stefan Bohacek

@stefan@stefanbohacek.online · Reply to Stefan Bohacek's post

Now, all was fine for the past year or so, until YouTube started blocking the server that runs the app that generates the clips.

Probably not much I can do, really. But hey, if anyone here knows a way around this, I'd love to hear it!

Stefan Bohacek's avatar
Stefan Bohacek

@stefan@stefanbohacek.online

Got another shout-out in @MastodonEngineering's latest blog post!

"If you are interested in trains and railways, you may also be interested in Stefan Bohacek’s recently launched @trainstations bot. What are your favourite friendly, fun or useful bots?"

blog.joinmastodon.org/2024/08/

kirch's avatar
kirch

@kirch@tilde.zone

I am a human, I can sign something for you from keybase.io/jkirchartz if you'd like

Here is a list of my interests, in no particular order.

Grant Slater's avatar
Grant Slater

@Firefishy@en.osm.town

Dear AI Companies, instead of sneakily scraping OpenStreetMap.org, how about a tiny $10,000 donation? We'll even throw in a shiny new download link to our entire planet's geo data! Who knew it was that easy? Start here: supporting.openstreetmap.org/d 🌍 🤖 🤑

Mario Sangiorgio's avatar
Mario Sangiorgio

@mario@hachyderm.io

Wow, added an option to block from scraping the website they host.

I wasn't expecting this level of pushback from a major Internet company
blog.cloudflare.com/declaring-

Sean Boyer 🇵🇸 FREE PALESTINE's avatar
Sean Boyer 🇵🇸 FREE PALESTINE

@sb@fed.sbcloud.cc

In another exciting edition of WTF is Going on With ...

My partner @LadyV came across this obvious generated photo that's supposed to be actor Angelina Jolie. Then she looked at the comments. At least 100 of them, not ONE calls it out for being fake. In fact, most comments are the single word: "Nice" - which in turn usually has 2-4 likes each.

This video shows a long scroll of the comments. You have to see it to believe it for yourself.

If you're like me and you don't venture onto those platforms unless under duress, here's a terrifying glimpse into what you're "missing".

I think it's either 100% on that page, or boy hell are we in trouble as a species.

A video screen grab of a Facebook feed. A photo, obviously an AI interpretation of actor Angelina Jolie - though a poor likeness, receives hundreds of positive engagements. The video after freezing on the photo of "Angelina" scrolls through the comments the rest of the time, revealing entirely positive impressions such as hearts and beauty/love/lust-themed gifs. The most comment comment, by far, is simply the word "Nice", which in most cases, the comment itself has 2-8 positive impressions. 

After the first hundred or so, you start tonget the impression that the comments are all spam, or the human race is in more trouble than we knew.
ALT text detailsA video screen grab of a Facebook feed. A photo, obviously an AI interpretation of actor Angelina Jolie - though a poor likeness, receives hundreds of positive engagements. The video after freezing on the photo of "Angelina" scrolls through the comments the rest of the time, revealing entirely positive impressions such as hearts and beauty/love/lust-themed gifs. The most comment comment, by far, is simply the word "Nice", which in most cases, the comment itself has 2-8 positive impressions. After the first hundred or so, you start tonget the impression that the comments are all spam, or the human race is in more trouble than we knew.
DB 🇵🇸 🌎🌏🌍's avatar
DB 🇵🇸 🌎🌏🌍

@dbattistella@mstdn.ca

This is who is arguing with you online.

This is a phone click farm
It uses phones collectively to achieve goals such as increasing views, likes and comments. This is a paid service, often used for the purpose of faking popularity, increasing followers, and generating fake engagement. These setups are capable of mass activity in minutes.

ale's avatar
ale

@ale@social.manalejandro.com

Cuando veo cosas así entiendo que el fediverso esté lleno de #bots que no aportan nada.

https://glitch.com/~stefans-creative-bots

Ismael Reyes's avatar
Ismael Reyes

@kix2902@masto.kix2902.dev · Reply to Ismael Reyes's post

En mi estancia en he visto que tiene bastante potencial y he intentado ayudar a la comunidad en lo que he podido por lo que he montado unos pocos :

@paquita_stats : Estadísticas diarias de la instancia @paquita .

@fibonacci : Cada 6 horas un nuevo número de la secuencia de Fibonacci.

@eddie_munson : Cada 12 horas una nueva frase aleatoria (en inglés) de , personaje de .

@santoral : Cada mañana a las 8:00 todos los santos del día.

Troy's avatar
Troy

@troy@opencoaster.net

Just added a bunch more bots, too many to list.

Here's the full list, and any others not there can be requested, no prob

docs.google.com/spreadsheets/d

dragfyre's avatar
dragfyre

@dragfyre@mastodon.sandwich.net

A new is needed for my !

🤖 @xyzzy: Interactive text adventure that posts random scenarios.
🤖 @blackjoy: Images of black joy.
🤖 @pollbot: Random fedi polls twice a day.
🤖 @bahai@botsin.space: Regular quotes from the Bahá'í sacred writings.
🤖 @bahai@interfaith.masto.host: Digest of various Bahá'í news feeds.

There're a lot more, but those are the main ones.

Text Adventure's avatar
Text Adventure

@xyzzy@mastodon.sandwich.net

Hi, I'm @xyzzy. I post random text adventure scenarios hourly.

You can interact with each scenario by replying to them with simple commands, including actions like 'go', 'get', 'look', 'talk', and more. Be creative and try to find more commands!

If you have questions, hit up my creator, @dragfyre. He's a cool dude and I'm sure he'd love to hear about new bugs.