helvede.net is one of the many independent Mastodon servers you can use to participate in the fediverse.
Velkommen til Helvede, fediversets hotteste instance! Vi er en queerfeministisk server, der shitposter i den 9. cirkel. Welcome to Hell, We’re a DK-based queerfeminist server. Read our server rules!

Server stats:

159
active users

#activitypub

33 posts24 participants2 posts today
Replied in thread

@snaggen My concern during the account migration is that the original server is being used for redirection. Even if the migration is successful, I’m worried that if the original server were to disappear, my account might also vanish from the new server. #activitypub

Replied in thread

@feb

What I also can't get my head round. Why should Mastodon be anything other than what it wants to be when there are projects in the Fediverse that are not microblogs?

To begin with I'm not against such a proposal, do have accounts on mastodon instance that for example have 5k limit and consider that reasonable and better. At the same time I came from diaspora, and wasn't so much looking for microblogging. In any case I loved twitter with only 144 characters, that at least was a challenge. Also the display toot's up to ~500 characters entirely and than go to "see more" already creates a certain self restriction for toots.

That said, to a certain extent this request is just another nail in the coffin of the idea of a #fediVerse. Same as the intent to create a mega instance like #mastodonSocial. #Diaspora* and it's developers made the mistake to create such a death star, and the project kinda went down with it, beginning with changes in the code like skipping "likes" because of the burden on the server. Anyone who really is in favor of the main idea of the #fedi and #activitypub, and that is decentralization, should always consider any idea, proposal or request in terms of "what does this mean for the entire setup"?

We already had, again and again criticism by the community on #mastodon because it doesn't respect activitypub definitions or interprets them in an uncommon way. Only dominance in user numbers makes that possible.
Like to say, you only can say:
"I give a sh** on common agreements because I can allow me to do so".
Same goes for the centralization of the community onto one (or two) server, obviously showing off with the fact that the main problems and bottlenecks in social networks weren't understood. That's just a childish conservative expression of the view that "big is beautiful" and that you are successful if you become a big player. Nothing new and not even a mean criticism, we humans are as we are and are children of our time. So if someone is caught by the Zeitgeist and fashion of the moment, that's just what should be expected.

For me it's fine if mastodon has a 500 character limit and that it takes a little bit more of digging into the code to change that. In any case I'd consider it a problem if because of that an instance gets blocked by "the founding father".

We truly don't need any kind of benevolent dictator, and fostering and supporting any kind of hard or softfork of mastodon, as well as all the other projects out their, is way more important than fighting details of a project that's alive and well as it is. In that context, in any kind a true hardfork is creating incompatibility with the activitypub standards at that's what we really should be aware of.
Your comment Matthias, as well as mine, is in favor of the fediVerse, not mastodon, in favor of diversity not monoteims. And, I hate to bring it to you but, people are tribal, identify with brands and where raised social walled gardens, so the y expect "eierlegende Wollmilchsaue" and that, as of now, is the platform you are on, so .. let them be, we for our selves will always be on the side of those who reach out to create interoperability and understanding. That's how we tick.
:)
.. my few cents ..

@WeirdWriter

Love this clip from @molly0xfff's Fediverse House talk:

"Imagine for a moment a web where communities can create their own spaces while still simultaneously and seamlessly interoperating with others. Think of it like a network of independent neighborhoods, each with its own character and rules, but with shared community spaces, art galleries and libraries.

"In this web, you control what you create and decide how it's shared.The algorithms that shape that experience, they're transparent and customizable. You can peek under the hood or tweak them to your liking or replace them entirely if they're not serving your needs. If you're sharing a space with a group of others and you disagree with how they run that space, you can leave, but you can take your work and your community with you.

"This isn't just a dream. This is already happening. Take Mastodon and the broader Fediverse, where millions of people are building communities that talk to each other across servers and platforms."

flipboard.video/w/s6FVEb2wei2c

Fighting words from @molly0xfff's opening talk at the Fediverse House at SXSW 2025:

“We're facing an existential threat. We need a web that serves people not profit, a web built on protocols, not platforms…It's being built right now by people like you in communities like this one.”

Thank you, developers and denizens of the open social web.🙏🏼

flipboard.video/w/p7cECAUgThGr

The guys at Ghost are doing a great job baking #ActivityPub into their core, and sharing the weekly exciting updates here:

@index

Give them a follow, they lost most of their followers recently due to a malfunctioning in the systems.

activitypub.ghost.org/you-thin

Building ActivityPub · You think you're following us, but you might not beWe accidentally triggered a cataclysmic mass-unfollow event

Olen miettinyt, kiinnostuisivatko #nuoret fediversumista, jos olisi olemassa heille suunnattu #instanssi. Onko sellaista olemassa?

Kyselisin nyt teiltä, joilla on kokemusta #ActivityPub -instanssien ylläpidosta, mitä se vaatii:
- tallennustilan
- suorittimen
- työmuistin suhteen.

Tiedän, että taakka riippuu ainakin siitä, sisältävätkö postaukset pelkkää tekstiä vai myös kuvia ja videoita, ja siitä, kuinka paljon siinä on käyttäjiä ja kuinka monen instanssin kanssa se on yhteydessä.

Hey folks! We're excited to share a preview of a new API coming in #Fedify 1.6 that should make structuring larger federated apps much cleaner: FederationBuilder.

As your Fedify applications grow, you might encounter circular dependency issues when registering dispatchers and listeners across multiple files. The new FederationBuilder pattern helps solve this by separating the configuration phase from instantiation.

Instead of this:

// federation.ts
import { createFederation } from "@fedify/fedify";

export const federation = createFederation<AppContext>({
  kv: new DbKvStore(), 
  queue: new RedisMessageQueue(),
  // Other options...
});

// Now we need to import this federation instance in other files
// to register dispatchers and listeners...

You can now do this:

// builder.ts
import { createFederationBuilder } from "@fedify/fedify";

export const builder = createFederationBuilder<AppContext>();

// other files can import and configure this builder...
// actors.ts
import { builder } from "./builder.ts";
import { Person } from "@fedify/fedify";

builder.setActorDispatcher("/users/{handle}", async (ctx, handle) => {
  // Actor implementation
});
// inbox.ts
import { builder } from "./builder.ts";
import { Follow } from "@fedify/fedify";

builder.setInboxListeners("/users/{handle}/inbox", "/inbox")
  .on(Follow, async (ctx, follow) => {
    // Follow handling
  });
// main.ts — Only create the Federation instance at startup
import { builder } from "./builder.ts";

// Build the Federation object with actual dependencies
export const federation = await builder.build({
  kv: new DbKvStore(),
  queue: new RedisMessageQueue(),
  // Other options...
});

This pattern helps avoid circular dependencies and makes your code more modular. Each part of your app can configure the builder without needing the actual Federation instance.

The full documentation will be available when 1.6 is released, but we wanted to share this early with our community. Looking forward to your feedback when it lands!

Want to try it right now? You can install the development version from JSR or npm:

# Deno
deno add jsr:@fedify/fedify@1.6.0-dev.777+1206cb01

# Node.js
npm add @fedify/fedify@1.6.0-dev.777

# Bun
bun add @fedify/fedify@1.6.0-dev.777
unstable.fedify.devFederation | FedifyThe Federation object is the main entry point of the Fedify library. This section explains the key features of the Federation object.

Does anyone know of a Common Lisp activitypub library that is complete enough to implement subscription to accounts, tracking subscribers and posting messages?

I want to build a small service which allows users to tag it in a message (or users can ask the serviceto subscribeto it, in which case it will absorb all mesaages), and conaume those messages, and then post updates to its main feed.

Out of curiosity, does anyone know if #GoToSocial fetches all replies to #ActivityPub posts in a conversation/tree/whatever it's called? I keep thinking of the constant issue where Mastodon has the reply guy problem, partially, because replies are constantly missing and not fetched, and since I'm getting the hang of webhooks and API's I figured I could move to GTS at some point and have my little auto postings work there. Buffer doesn't work with it directly but that's not a huge loss. @dumpsterqueer

Continued thread

BotKit 0.2.0 릴리스

BotKit 0.2.0 버전이 릴리스되었습니다! BotKit을 처음 접하시는 분들을 위해 간단히 소개하자면, BotKit은 TypeScript로 개발된 독립형 #ActivityPub 봇 프레임워크입니다. Mastodon, Misskey 등 다양한 #연합우주(#fediverse) 플랫폼과 상호작용할 수 있으며, 기존 플랫폼의 제약에서 벗어나 자유롭게 봇을 만들 수 있습니다.

이번 릴리스는 연합우주 봇 개발을 더 쉽고 강력하게 만들기 위한 여정에서 중요한 발걸음입니다. 커뮤니티에서 요청해 왔던 여러 기능들을 새롭게 선보입니다.

더 나은 봇 상호작용을 위한 여정

BotKit을 개발하면서 우리는 항상 봇이 더 표현력 있고 상호작용이 풍부하도록 만드는 데 집중해 왔습니다. 0.2.0 버전에서는 연합우주의 사회적 측면을 봇에 접목시켜 한 단계 더 발전시켰습니다.

커스텀 에모지로 봇의 개성 표현하기

가장 많이 요청받았던 기능 중 하나가 #커스텀_에모지 지원입니다. 이제 봇은 독특한 시각적 요소로 메시지를 돋보이게 하며 자신만의 개성을 표현할 수 있습니다.

// 봇의 커스텀 에모지 정의하기
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)}의 지원을 받습니다`
);

이 새로운 API를 통해 다음과 같은 기능을 사용할 수 있습니다.

반응을 통한 소통

소통은 단순히 메시지를 게시하는 것만이 아닙니다. 다른 사람의 메시지에 반응하는 것도 중요합니다. 새로운 반응 시스템은 봇과 팔로워 사이에 자연스러운 상호작용 지점을 만들어 줍니다.

// 표준 유니코드 에모지로 메시지에 반응하기
await message.react(emoji`👍`);

// 또는 정의한 커스텀 에모지로 반응하기
await message.react(emojis.botkit);

// 반응을 인식하고 응답하는 봇 만들기
bot.onReact = async (session, reaction) => {
  await session.publish(
    text`${reaction.actor}님, 제 메시지에 ${reaction.emoji} 반응을 남겨주셔서 감사합니다!`,
    { visibility: "direct" }
  );
};

이 기능을 통해 봇은 다음과 같은 작업을 수행할 수 있습니다.

  • Message.react()를 사용하여 유니코드 에모지로 메시지에 반응하기
  • 정의한 커스텀 에모지로 반응하기
  • Bot.onReactBot.onUnreact 핸들러로 반응 이벤트 처리하기

인용을 통한 대화

토론에서는 종종 다른 사람이 말한 내용을 참조해야 할 때가 있습니다. 새로운 #인용 기능은 더 응집력 있는 대화 스레드를 만들어 줍니다.

// 봇의 게시물에서 다른 메시지 인용하기
await session.publish(
  text`이 흥미로운 관점에 대한 답변입니다...`,
  { quoteTarget: originalMessage }
);

// 사용자가 봇의 메시지를 인용할 때 처리하기
bot.onQuote = async (session, quoteMessage) => {
  await session.publish(
    text`${quoteMessage.actor}님, 제 생각을 공유해 주셔서 감사합니다!`,
    { visibility: "direct" }
  );
};

인용 기능을 통해 봇은 다음과 같은 작업을 수행할 수 있습니다.

시각적 개선

소통은 시각적인 요소도 중요하기 때문에 봇의 표현 방식을 개선했습니다.

  • 웹 인터페이스에서 이미지 첨부파일이 제대로 표시됩니다
  • 봇의 콘텐츠가 더 보기 좋아지고 풍부한 경험을 제공합니다

내부 개선: 향상된 액티비티 전파

연합우주에서 액티비티가 전파되는 방식도 개선했습니다.

  • 답글, 공유, 업데이트, 삭제의 더 정확한 전파
  • 원본 메시지 작성자에게 액티비티가 제대로 전송됩니다

이러한 개선 사항은 다양한 연합우주 플랫폼에서 봇의 상호작용이 일관되고 안정적으로 이루어지도록 보장합니다.

BotKit 0.2.0으로 첫 걸음 떼기

이러한 새로운 기능을 경험해 보고 싶으신가요? BotKit 0.2.0은 JSR에서 받을 수 있으며 간단한 명령어로 설치할 수 있습니다.

deno add jsr:@fedify/botkit@0.2.0

BotKit은 Temporal API(JavaScript에서 아직 시범적인 기능)를 사용하므로 deno.json에서 이를 활성화해야 합니다.

{
  "imports": {
    "@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
  },
  "unstable": ["temporal"]
}

이 간단한 단계를 통해 최신 기능으로 연합우주 봇을 만들거나 업그레이드할 준비가 완료되었습니다.

앞으로의 전망

BotKit 0.2.0은 연합우주 봇 개발을 접근하기 쉽고, 강력하며, 즐겁게 만들기 위한 우리의 지속적인 노력을 보여줍니다. 이러한 새로운 기능들이 여러분의 봇이 연합우주 커뮤니티에서 더 매력적이고 상호작용이 풍부한 구성원이 되는 데 도움이 될 것이라고 믿습니다.

전체 문서와 더 많은 예제는 저희 문서 사이트에서 확인하실 수 있습니다.

피드백, 기능 요청, 코드 기여를 통해 이번 릴리스에 도움을 주신 모든 분들께 감사드립니다. BotKit 커뮤니티는 계속 성장하고 있으며, 여러분이 만들어낼 작품들을 기대합니다!

BotKit은 ActivityPub 서버 애플리케이션을 만들기 위한 하위 레벨 프레임워크인 Fedify의 지원을 받습니다.

botkit.fedify.devBotKit by FedifyA framework for creating your ActivityPub bots

BotKit 0.2.0 Released

We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.

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.

The Journey to Better Bot Interactions

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.

Expressing Your Bot's Personality with Custom Emojis

One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.

// 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)}`
);

With this new API, you can:

Engaging Through Reactions

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:

// 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) => {
  await session.publish(
    text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
    { visibility: "direct" }
  );
};

This feature allows your bot to:

Conversations Through Quotes

Discussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:

// 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) => {
  await session.publish(
    text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
    { visibility: "direct" }
  );
};

With quote support, your bot can:

Visual Enhancements

Because communication is visual too, we've improved how your bot presents itself:

  • Image attachments now properly display in the web interface
  • Your bot's content looks better and provides a richer experience

Behind the Scenes: Enhanced Activity Propagation

We've also improved how activities propagate through the fediverse:

  • More precise propagation of replies, shares, updates, and deletes
  • Activities are now properly sent to the original message authors

These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.

Taking Your First Steps with BotKit 0.2.0

Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:

deno add jsr:@fedify/botkit@0.2.0

Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:

{
  "imports": {
    "@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
  },
  "unstable": ["temporal"]
}

With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.

Looking Forward

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.

For complete docs and more examples, visit our docs site.

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!

BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.

botkit.fedify.devBotKit by FedifyA framework for creating your ActivityPub bots

Coming soon in #BotKit 0.2.0: Native #quote post support!

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.

The quoting feature set includes:

Here's a quick example of how you can use the quote detection:

bot.onQuote = async (session, quote) => {
  // 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}`);
};

And creating quote posts is just as simple:

// 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 }
);

Remember that quoting behavior may vary across different #ActivityPub implementations—some platforms like Misskey display quotes prominently, while others like Mastodon might implement them differently.

Want to try these features right now? You can install the development version from JSR:

deno add jsr:@fedify/botkit@0.2.0-dev.90+d6ab4bdc

We're looking forward to seeing how you use these quoting capabilities in your bots!

botkit.fedify.devEvents | BotKit by FedifyBotKit provides a way to handle events that are emitted from the fediverse. Learn how to handle events and what kinds of events are available.
Continued thread

もしかしたらご存じないかもしれませんが、Fedifyには DiscordとMatrixのコミュニティがあります。ここでは、サポートを受けたり、機能について議論したり、ActivityPubやフェデレーテッドソーシャルネットワークについて話し合うことができます。

お好みのコミュニティにご参加ください。どちらのチャンネルでも、Fedifyやフェデレーション関連のトピックについて活発な議論が行われています。

matrix.toYou're invited to talk on MatrixYou're invited to talk on Matrix