# ActivityPub 插件

**URL:** https://meta.discourse.org/t/activitypub-plugin/266794
**Category:** Plugin
**Tags:** experimental, activitypub
**Created:** [2023年五月31日 17:21 UTC](https://meta.discourse.org/t/activitypub-plugin/266794 "2023-05-31T17:21:52Z")
**Posts on this page:** 20
**Page:** 16

<div class="post-metadata">

### Author: ![pepicrft](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pepicrft/32/451719_2.png) [@pepicrft](https://meta.discourse.org/u/pepicrft)
#### Post date: [2024年九月25日 13:08 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/307 "2024-09-25T13:08:19Z")

</div>

你好 👋  
首先，感谢您为实现这一目标所付出的辛勤工作。我很高兴能将我们的社区迁移到 Discourse，这要归功于此。

我已将插件添加到我们的实例并配置了一个 actor。但是，当我发布到与 actor 关联的类别时，会收到“内部服务器错误”。我在日志中找不到太多信息，除了请求失败并出现 500 错误：

```plaintext
[no timestamp] by PostsController#create as JSON
[no timestamp] Parameters: {"raw"=>"This is just a test test test", "title"=>"This is just a test test test", "unlist_topic"=>"false", "category"=>"10", "is_warning"=>"false", "archetype"=>"regular", "typing_duration_msecs"=>"200", "composer_open_duration_msecs"=>"3160", "shared_draft"=>"false", "draft_key"=>"new_topic", "activity_pub_visibility"=>"public", "nested_post"=>"true"}
Sep 25 15:06:38 - Processing by PostsController#create as JSON
Sep 25 15:06:38 - Parameters: {"raw"=>"This is just a test test test", "title"=>"This is just a test test test", "unlist_topic"=>"false", "category"=>"10", "is_warning"=>"false", "archetype"=>"regular", "typing_duration_msecs"=>"200", "composer_open_duration_msecs"=>"3160", "shared_draft"=>"false", "draft_key"=>"new_topic", "activity_pub_visibility"=>"public", "nested_post"=>"true"}
Sep 25 15:06:38 - 172.18.0.1 - - [25/Sep/2024:13:06:38 +0000] "POST /message-bus/3e2e0add2e9a41cc9ce7041980fe4f81/poll HTTP/1.1" 200 2438 "https://community.tuist.io/c/announcements/10" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0"
Sep 25 15:06:38 - 172.18.0.1 - - [25/Sep/2024:13:06:38 +0000] "POST /message-bus/3e2e0add2e9a41cc9ce7041980fe4f81/poll HTTP/1.1" 200 115 "https://community.tuist.io/c/announcements/10" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0"
[no timestamp] 2024-09-25T13:06:38Z cloudron 37a832f8-20ab-41d7-9d4d-82052354c0eb 1101 37a832f8-20ab-41d7-9d4d-82052354c0eb - 172.18.0.1 - - [25/Sep/2024:13:06:38 +0000] "POST /message-bus/3e2e0add2e9a41cc9ce7041980fe4f81/poll HTTP/1.1" 200 115 "https://community.tuist.io/c/announcements/10" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0"
[no timestamp] start
Sep 25 15:06:39 - start
[no timestamp] start
Sep 25 15:06:39 - start
[no timestamp] done
Sep 25 15:06:39 - done
[no timestamp] start
Sep 25 15:06:39 - start
[no timestamp] start
[no timestamp] start
Sep 25 15:06:39 - start
Sep 25 15:06:39 - start
[no timestamp] done
Sep 25 15:06:39 - done
[no timestamp] done
Sep 25 15:06:39 - done
[no timestamp] 500 Internal Server Error in 476ms (ActiveRecord: 0.0ms | Allocations: 56364)
[no timestamp] done
Sep 25 15:06:39 - Completed 500 Internal Server Error in 476ms (ActiveRecord: 0.0ms | Allocations: 56364)
Sep 25 15:06:39 - done
Sep 25 15:06:39 - 172.18.0.1 - - [25/Sep/2024:13:06:39 +0000] "POST /posts HTTP/1.1" 500 46 "https://community.tuist.io/c/announcements/10" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0"
[no timestamp] start
Sep 25 15:06:39 - start
[no timestamp] done
Sep 25 15:06:39 - done
[no timestamp] done
Sep 25 15:06:39 - done

```

调试此问题的推荐方法是什么？

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [2024年九月25日 13:55 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/308 "2024-09-25T13:55:03Z")

</div>

下一步是转到论坛上的 `/logs`，找到相应的日志行，然后在此处发布堆栈跟踪。

---

<div class="post-metadata">

### Author: ![pepicrft](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pepicrft/32/451719_2.png) [@pepicrft](https://meta.discourse.org/u/pepicrft)
#### Post date: [2024年九月30日 12:25 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/309 "2024-09-30T12:25:30Z")

</div>

错误如下：

```plaintext
Message

NoMethodError (undefined method `moderating_groups' for #<Category id: 10, name: "Announcements", color: "652D90", topic_id: 55, topic_count: 5, created_at: "2024-09-25 09:23:28.181772000 +0000", updated_at: "2024-09-27 11:53:47.131692000 +0000", user_id: 3, topics_year: 4, topics_month: 4, topics_week: 4, slug: "announcements", description: "This category is used for announcements by the mai...", text_color: "FFFFFF", read_restricted: false, auto_close_hours: nil, post_count: 4, latest_post_id: 108, latest_topic_id: 83, position: 7, parent_category_id: nil, posts_year: 4, posts_month: 4, posts_week: 4, email_in: nil, email_in_allow_strangers: false, topics_day: 0, posts_day: 0, allow_badges: true, name_lower: "announcements", auto_close_based_on_last_post: false, topic_template: nil, contains_messages: nil, sort_order: nil, sort_ascending: nil, uploaded_logo_id: nil, uploaded_background_id: nil, topic_featured_link_allowed: true, all_topics_wiki: false, show_subcategory_list: false, num_featured_topics: 3, default_view: nil, subcategory_list_style: "rows_with_featured_topics", default_top_period: "all", mailinglist_mirror: false, minimum_required_tags: 0, navigate_to_first_post_after_read: false, search_priority: 0, allow_global_tags: false, reviewable_by_group_id: nil, read_only_banner: nil, default_list_filter: "all", allow_unlimited_owner_edits_on_first_post: false, default_slow_mode_seconds: nil, uploaded_logo_dark_id: nil, uploaded_background_dark_id: nil>)
lib/plugin/instance.rb:376:in `public_send'
lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class'
lib/plugin/instance.rb:376:in `public_send'
lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class'
lib/plugin/instance.rb:376:in `public_send'
lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class'
lib/plugin/instance.rb:376:in `public_send'
lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class'
lib/plugin/instance.rb:576:in `block in on'
lib/discourse_event.rb:12:in `bl...

Backtrace

activemodel (7.1.3.4) lib/active_model/attribute_methods.rb:489:in `method_missing'
plugins/discourse-activity-pub/plugin.rb:367:in `block (2 levels) in activate!'
lib/plugin/instance.rb:376:in `public_send'
lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class'
plugins/discourse-activity-pub/plugin.rb:331:in `block (2 levels) in activate!'
lib/plugin/instance.rb:376:in `public_send'
lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class'
plugins/discourse-activity-pub/plugin.rb:337:in `block (2 levels) in activate!'
lib/plugin/instance.rb:376:in `public_send'
lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class'
plugins/discourse-activity-pub/app/models/discourse_activity_pub_object.rb:99:in `after_scheduled'
plugins/discourse-activity-pub/app/models/discourse_activity_pub_activity.rb:109:in `after_scheduled'
plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:89:in `after_scheduled'
plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:15:in `perform'
plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:27:in `perform'
plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:160:in `block in activity_pub_deliver_activity'
plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:159:in `each'
plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:159:in `activity_pub_deliver_activity'
plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:41:in `perform_activity_pub_activity'
plugins/discourse-activity-pub/plugin.rb:455:in `block (2 levels) in activate!'
lib/plugin/instance.rb:376:in `public_send'
lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class'
plugins/discourse-activity-pub/plugin.rb:661:in `block (2 levels) in activate!'
lib/plugin/instance.rb:576:in `block in on'
lib/discourse_event.rb:12:in `block in trigger'
/home/cloudron/rbenv/versions/3.2.2/lib/ruby/3.2.0/set.rb:511:in `each_key'
/home/cloudron/rbenv/versions/3.2.2/lib/ruby/3.2.0/set.rb:511:in `each'
lib/discourse_event.rb:12:in `trigger'
lib/post_creator.rb:258:in `trigger_after_events'
lib/post_creator.rb:220:in `create'
lib/new_post_manager.rb:318:in `perform_create_post'
lib/new_post_manager.rb:252:in `perform'
app/controllers/posts_controller.rb:215:in `create'
actionpack (7.1.3.4) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (7.1.3.4) lib/abstract_controller/base.rb:224:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/rendering.rb:165:in `process_action'
actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:259:in `block in process_action'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
app/controllers/application_controller.rb:424:in `block in with_resolved_locale'
i18n (1.14.5) lib/i18n.rb:351:in `with_locale'
app/controllers/application_controller.rb:424:in `with_resolved_locale'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:130:in `block in run_callbacks'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:141:in `run_callbacks'
actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:258:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/rescue.rb:25:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:74:in `block in process_action'
activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.1.3.4) lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in `instrument'
actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:73:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/params_wrapper.rb:261:in `process_action'
activerecord (7.1.3.4) lib/active_record/railties/controller_runtime.rb:32:in `process_action'
actionpack (7.1.3.4) lib/abstract_controller/base.rb:160:in `process'
actionview (7.1.3.4) lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method'
actionpack (7.1.3.4) lib/action_controller/metal.rb:227:in `dispatch'
actionpack (7.1.3.4) lib/action_controller/metal.rb:309:in `dispatch'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:51:in `block in serve'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:131:in `block in find_routes'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in `each'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in `find_routes'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:882:in `call'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
rack (2.2.9) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.9) lib/rack/conditional_get.rb:40:in `call'
rack (2.2.9) lib/rack/head.rb:12:in `call'
actionpack (7.1.3.4) lib/action_dispatch/http/permissions_policy.rb:36:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:393:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
rack (2.2.9) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.9) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/cookies.rb:689:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:28:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
logster (2.20.0) lib/logster/middleware/reporter.rb:40:in `call'
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:35:in `call_app'
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:22:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/request_id.rb:28:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
rack (2.2.9) lib/rack/method_override.rb:24:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/executor.rb:14:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/static.rb:25:in `call'
rack (2.2.9) lib/rack/sendfile.rb:110:in `call'
rack-mini-profiler (3.3.1) lib/mini_profiler.rb:191:in `call'
message_bus (4.3.8) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:360:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/remote_ip.rb:92:in `call'
railties (7.1.3.4) lib/rails/engine.rb:536:in `call'
railties (7.1.3.4) lib/rails/railtie.rb:226:in `public_send'
railties (7.1.3.4) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.9) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.9) lib/rack/urlmap.rb:58:in `each'
rack (2.2.9) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_ser

Env

HTTP HOSTS: community.tuist.io

```

---

<div class="post-metadata">

### Author: ![db0](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/db0/32/116141_2.png) [@db0](https://meta.discourse.org/u/db0)
#### Post date: [2024年十月8日 08:30 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/311 "2024-10-08T08:30:01Z")

</div>

嘿，我是 [lemmy.dbzer0.com](http://lemmy.dbzer0.com) 的管理员，我希望看到 lemmy 和 discourse 之间有更多的互动，因为我觉得这两者比 discourse 和 mastodon 结合得更自然。

我主要感兴趣的是让 lemmy 用户能够在不为每个 discourse 论坛创建新账户的情况下查看和互动话题。

据我所知，最大的问题是 apub 插件没有将 discourse 分类表示为 apub 组，这导致 lemmy 无法看到它们，对吗？

无论如何，如果你想访问一个 lemmy 实例和一个管理员进行测试，我很乐意提供帮助。我在 lemmy 上的账户是 [https://lemmy.dbzer0.com/u/db0](https://lemmy.dbzer0.com/u/db0)

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [2024年十月9日 09:39 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/312 "2024-10-09T09:39:48Z")

</div>

大家好，我将从现在开始一直到明年三月，定期为这个插件提供支持。如果您一直在使用此插件并且在某些方面遇到困难，请告诉我！我会尽力回答所有未解决的问题。

> [@JonahAragon1](#):
>
> > [@angus](#):
> >
> > - Discourse ActivityPub 不关注单个用户。
> 
> 出于好奇，这是为什么？
> 
> 感觉如果每个 Discourse 用户都是一个 ActivityPub Actor，论坛类别是 ActivityPub 群组，并在该类别中转发每个用户的帖子，那会更有意义。我认为 Lemmy 的工作方式也是如此。

Discourse 中的每个用户都在一个 Actor 中。Discourse 中的关注流程与 Lemmy 中的相同，并且在 [FEP-1b12](https://socialhub.activitypub.rocks/t/fep-1b12-group-federation/2724) 中有更详细的说明。您还不能关注 Discourse Actor（即主要关注点一直是关注类别）的原因是，论坛本质上是围绕主题的，即涉及多个用户的讨论。事实上，其他论坛式 ActivityPub 应用程序也采用了这种方法，这也是我们在 W3C 论坛和主题讨论工作组（以及 NodeBB 和类似软件）中一直在努力的方向。

> [@JonahAragon1](#):
>
> 目前，如果我在 Mastodon 上关注一个类别，没有指示谁发布了什么内容，这对我的社区来说是相当不受欢迎的，因为互联网上的任何人都可以向我们域上的官方外观 ActivityPub 帐户发布任意内容。

您所描述的是“仅首帖”和“完整主题”联合之间的区别。您期望的是“完整主题”联合的工作方式。请参阅此处的文档和教学视频。

> [@Setting up an ActivityPub Actor](https://meta.discourse.org/t/setting-up-an-activitypub-actor/314578?u=angus):
>
> This topic covers setting up an ActivityPub Actor in Discourse with the Discourse ActivityPub Plugin. If you’re not sure what this means, head on over to the [Discourse ActivityPub Plugin](https://meta.discourse.org/t/activitypub-plugin/266794) topic first. Next Step Instructions To create an ActivityPub actor: Go to Admin \> Plugins \> ActivityPub. Click “Add Actor”. Fill out the Add Actor form (the settings are explained below). Click “Save Actor”. When you save the Actor, other Actors in the fediverse can start following it. You can disable an…

> [@pepicrft](#):
>
> 这是错误：  
> …
> 
> > [@pepicrft](#):
> >
> > `undefined method `moderating\_groups’`

此错误意味着您运行的 Discourse 版本不是最新的。ActivityPub 插件目前需要最新版本的 Discourse 才能工作。

> [@db0](#):
>
> 据我所知，最大的问题是 apub 插件没有将 discourse 类别表示为 apub 群组，这阻止了 lemmy 看到它们，对吗？

不，ActivityPub 插件完全符合 FEP-1b12，该标准由 Nutomic（Lemmy 的创建者）编写，用于描述基于群组的联合。您是否尝试过在 Lemmy 和 Discourse 之间进行联合？

---

<div class="post-metadata">

### Author: ![mcdanlj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcdanlj/32/131829_2.png) [@mcdanlj](https://meta.discourse.org/u/mcdanlj)
#### Post date: [2024年十月9日 11:01 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/313 "2024-10-09T11:01:46Z")

</div>

> [@angus](#):
>
> 如果您在使用此插件时遇到任何困难，请告诉我！我会尽我所能回答大多数未解决的问题。

您能否调查一下为什么 meta 没有正确显示我的域名，也没有显示我的任何 meta 内容？

---

<div class="post-metadata">

### Author: ![db0](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/db0/32/116141_2.png) [@db0](https://meta.discourse.org/u/db0)
#### Post date: [2024年十月9日 12:45 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/314 "2024-10-09T12:45:54Z")

</div>

> [@angus](#):
>
> 不，ActivityPub 插件完全符合 FEP-1b12，该协议由 Nutomic（Lemmy 的创建者）编写，用于描述基于组的联合。您是否尝试过在 Lemmy 和 Discourse 之间进行联合？

是否有支持此插件的 Discourse 服务器可供我们测试？我猜这个论坛不使用它，对吗？

---

<div class="post-metadata">

### Author: ![Firepup650](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/firepup650/32/465200_2.png) [@Firepup650](https://meta.discourse.org/u/Firepup650)
#### Post date: [2024年十月9日 12:49 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/315 "2024-10-09T12:49:51Z")

</div>

> [@db0](#):
>
> 我猜这个论坛不使用它，对吗？

Meta确实使用activitypub，例如，[这个主题](https://meta.discourse.org/t/federation-support-for-discourse/90921?u=firepup650)没有联合：

 ![The image shows a computer screen displaying a user interface of a web-based software application. The software appears to be related to discourse or content analysis, and the user is in the process of selecting a feature or option from the interface. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/a/0/1/a01de31dfdaac4ba5576507fa2a2d609c45255cd.png)

而[这个主题](https://meta.discourse.org/ap/object/235d597a789c305cef86318ef84d8762)则联合了：

 ![This is a screenshot of a web development dashboard displaying a user interface with a note in the ActivityPub section. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/7/f/4/7f47c28de86ad98b1fb04d8795c481c6ae0b463e.png)

---

<div class="post-metadata">

### Author: ![db0](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/db0/32/116141_2.png) [@db0](https://meta.discourse.org/u/db0)
#### Post date: [2024年十月9日 13:37 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/316 "2024-10-09T13:37:04Z")

</div>

我在哪里可以看到此信息？另外，第二个链接对我来说不可用

 ![此图像显示纯白色背景和一段文字。（由 AI 标注）](https://global.discourse-cdn.com/meta/original/4X/4/3/e/43e1f5ab1fa5dcd0f49dba70dccbbc4cfaacccc9.png)

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [2024年十月9日 14:00 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/317 "2024-10-09T14:00:08Z")

</div>

该页面的 URL（而非 AP uri）是：

> [@New and improved About page at /about is live](https://meta.discourse.org/t/new-and-improved-about-page-is-live/324212):
>
> We’ve redesigned the /about page in Discourse. Learn more about configuration options in the documentation topic: [Understanding and customizing the About page](https://meta.discourse.org/t/understanding-and-customizing-the-about-page/332161) You can see it right here by heading to [/about](https://meta.discourse.org/about). Here’s a screenshot: Notable additions Banner image at the top of the page Extended description that supports HTML/markdown 2-columns layout to reduce the amount of white space on wide screens Expandable/collapsible lists of admins and mode…

您可以通过点击 AP 图标来查看 AP 信息。

 ![Screenshot at Oct 09 15-59-17](https://global.discourse-cdn.com/meta/original/4X/5/f/2/5f29e328e5f49e4cccff33b2d3920800ea122a9e.jpeg)

---

<div class="post-metadata">

### Author: ![db0](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/db0/32/116141_2.png) [@db0](https://meta.discourse.org/u/db0)
#### Post date: [2024年十月9日 14:10 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/318 "2024-10-09T14:10:52Z")

</div>

我很难找到任何 Apub 主题。大多数情况下，图标不存在

 ![这是用户 Yavu 和机器人之间对话的用户界面截图。对话内容是关于在用户的搜索窗口中输入内容。(由 AI 标注)](https://global.discourse-cdn.com/meta/original/4X/2/9/7/29714c4bfd068887af6a378dee7e37447f16d859.png)

即使存在，它也是禁用的。

不过，我还是按照您发布的链接，在 lemmy 中搜索了该网址（这是检索之前未订阅的链接的方式），但找不到。我也找不到公告论坛，因此无法订阅它。

---

<div class="post-metadata">

### Author: ![db0](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/db0/32/116141_2.png) [@db0](https://meta.discourse.org/u/db0)
#### Post date: [2024年十月9日 14:13 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/319 "2024-10-09T14:13:24Z")

</div>

好的，我通过搜索 `announcements@meta.discourse.org` 找到了它并订阅了。我将尝试订阅其他几个话题，看看是否能在 lemmy 中看到新帖子。

> **[Announcements](https://lemmy.dbzer0.com/c/announcements@meta.discourse.org)**
>
> Important News and Updates from Discourse

编辑：一些社区可以找到，例如 Feature 和 Announcements，但 Support、Plugin 和 Bug 找不到 [https://lemmy.dbzer0.com/search?q=!plugin%40meta.discourse.org&type=Communities&listingType=All&page=1&sort=TopAll](https://lemmy.dbzer0.com/search?q=%21plugin%40meta.discourse.org&type=Communities&listingType=All&page=1&sort=TopAll)

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [2024年十月9日 14:19 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/320 "2024-10-09T14:19:44Z")

</div>

这是因为它们没有配置 Actor。请查阅文档和教学视频。你会发现，每个 Category 在可被查找之前，都需要分配一个 Actor。

> [@关注一个ActivityPub演员](https://meta.discourse.org/t/following-an-activitypub-actor/314580):
>
> 本主题介绍如何使用 Discourse ActivityPub 插件关注 Discourse 中的 ActivityPub Actor，并接续 [设置 ActivityPub Actor](https://meta.discourse.org/t/how-to-set-up-an-activitypub-actor/314578)。如果您不确定这意味着什么，请先前往 [Discourse ActivityPub 插件](https://meta.discourse.org/t/activitypub-plugin/266794) 主题。 说明 要关注一个 ActivityPub Actor： [设置一个 Actor](https://meta.discourse.org/t/how-to-set-up-an-activitypub-actor/314578)，用于您想要关注的分类或标签。 获取您想要关注的 Actor 的“句柄”（见下文）。 前往步骤 1 中分类或标签的主题列表视图中的“联合”选项卡。 点击“新建关注”，输入步骤 2 中的句柄，然后点击“查找”（见下文）。 找到 Actor 后点击“关注”。 Actor 句柄 大多数 ActivityPub 服务使用一种称为 [WebFinger](https://webfinger.net/) 的协议，允许通过“句柄”发现 Actor。这通常采用以下格式： username@domain 有时用户名前面会有一个符号，例如 @。 Discourse 通过前往 Actor 的主题列表视图中的“联合”选项卡来获取 Discourse Actor 的句柄。

在 meta 站点上，我认为只有 #announcements 和 #Contribute > Feature 这两个分类创建了 Actor。

---

<div class="post-metadata">

### Author: ![db0](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/db0/32/116141_2.png) [@db0](https://meta.discourse.org/u/db0)
#### Post date: [2024年十月9日 14:21 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/321 "2024-10-09T14:21:18Z")

</div>

但我是一个外部实例，试图从你那里获取联合内容。我无法看到那个，对吧？

编辑：哦，我现在看到了联合选项卡，但只是有时。其他时候它不出现

 ![这张图片是网页某个部分的截图，特别显示了一个带有“公告”标题的红色横幅，以及所有 Discourse 公告的占位符。（由 AI 标注）](https://global.discourse-cdn.com/meta/original/4X/8/8/4/88462354bab0be25e6d0f3b6f551b2cae6d4316f.png)

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [2024年十月9日 15:09 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/322 "2024-10-09T15:09:35Z")

</div>

> [@db0](#):
>
> 我现在看到了联邦标签，但只是有时才看到

是的，这个问题很快就会得到解决。如果您看不到它，只需刷新页面即可出现。请告诉我您的进展。

> [@mcdanlj](#):
>
> 您能否调查一下元数据未正确显示我的域名以及未显示我的任何元数据内容的问题？

请注意，我和 @mcdanlj 正在私下讨论此事。这很可能是一个历史遗留问题（即因为 Michael 是早期采用者）。

---

<div class="post-metadata">

### Author: ![db0](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/db0/32/116141_2.png) [@db0](https://meta.discourse.org/u/db0)
#### Post date: [2024年十月9日 15:17 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/323 "2024-10-09T15:17:11Z")

</div>

> [@angus](#):
>
> 是的，很快就会解决。如果您没有看到它，只需刷新页面即可。让我知道您的进展。

是的，有两个问题：

1. 无法找到现有的联合线程，例如 [https://meta.discourse.org/ap/object/235d597a789c305cef86318ef84d8762？我在](https://meta.discourse.org/ap/object/235d597a789c305cef86318ef84d8762%EF%BC%9F%E6%88%91%E5%9C%A8) lemmy 上搜索过它，但它没有出现。
2. 为什么一个主题中的某些线程是联合的，而其他线程不是？我该如何判断？

另外，也许 [Following an ActivityPub Actor](https://meta.discourse.org/t/following-an-activitypub-actor/314580) 也可以更新一些与 lemmy 相关的信息？

---

<div class="post-metadata">

### Author: ![hellekin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hellekin/32/51636_2.png) [@hellekin](https://meta.discourse.org/u/hellekin)
#### Post date: [2024年十月9日 16:17 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/324 "2024-10-09T16:17:22Z")

</div>

您可以同时询问 Lemmy 开发者和 @angus（地址：[https://socialhub.activitypub.rocks/c/software/lemmy/46），以便他们更好地协调。与](https://socialhub.activitypub.rocks/c/software/lemmy/46%EF%BC%89%EF%BC%8C%E4%BB%A5%E4%BE%BF%E4%BB%96%E4%BB%AC%E6%9B%B4%E5%A5%BD%E5%9C%B0%E5%8D%8F%E8%B0%83%E3%80%82%E4%B8%8E) Lemmy 的互操作将是 🎉

* * *

@angus，在 [最近的一篇 Mastodon 博客文章](https://blog.joinmastodon.org/2024/07/highlighting-journalism-on-mastodon/) 中，有一个值得实现的功能，例如，用于用户个人资料中的特色主题，如果该主题是由该用户发起的：

> 我们决定创建一种新的 OpenGraph 标签——与您网站上用于确定在 Discord、iMessage 或 Mastodon 上共享页面时预览缩略图的标签类型相同。它看起来像这样：`<meta name="fediverse:creator" content="@Gargron@mastodon.social" />`。

元标签将出现在主题上，以便 Mastodon 可以链接到用户的个人资料。我知道 Discourse 中没有用户 actor，但如果 ActivityPub actor 是一个出版公司，而该主题是关于他们的目录的，那么用例就说得通了。 😉

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [2024年十月9日 16:21 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/325 "2024-10-09T16:21:11Z")

</div>

是的，正如 @hellekin 所建议的，我认为更深入的 Lemmy / Discourse 讨论最好在这里进行：

> **[Lemmy-Discourse federation](https://socialhub.activitypub.rocks/t/lemmy-discourse-federation/4177/7)**
>
> yes, i can repro, i have the same issue here

随着我恢复此插件的工作，请在那里发布您更详细的 Lemmy 问题，我将很快跟进。

> [@hellekin](#):
>
> @angus，在 [最近的一篇 Mastodon 博客文章](https://blog.joinmastodon.org/2024/07/highlighting-journalism-on-mastodon/) 中，有一些值得实现的东西，例如，对于用户个人资料中的精选主题，如果该主题是由该用户发起的

谢谢，我会考虑一下。

> [@hellekin](#):
>
> 我知道 Discourse 中没有用户 Actor

Discourse 中存在用户 Actor。您只是无法关注它们（目前）。由于这个误解今天已经出现三次了，我正在考虑在 UI 的某个地方显示它。回答后续问题“为什么不能关注用户 Actor，如果它们存在的话？”，首先需要回答之前的问题“为什么要在 Discourse 中关注用户 Actor？”（即，真正的用例是什么）。

（我知道 [Discourse Follow](https://meta.discourse.org/t/discourse-follow/110579) 存在 - 我构建了它 - 但是在实例内关注用户以用于通知/发现目的与在联邦宇宙中关注用户 Actor 之间存在差异）

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [2024年十月10日 09:28 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/326 "2024-10-10T09:28:45Z")

</div>

> [@db0](#):
>
> 编辑：我现在看到了联合标签，但只是有时。其他时候它不出现

一旦合并，这个问题就会得到修复。

> <https://github.com/discourse/discourse-activity-pub/pull/117>
>
> See further: https://meta.discourse.org/t/activitypub-plugin/266794/321?u=angus

另外请注意，我很快就会在 meta 上写一篇关于 Lemmy ↔ Discourse 的“如何做”主题，并附带教学视频。如果您正在使用或想使用 Lemmy 与 Discourse 进行联合，请在此处添加您的想法/经验，我将确保在说明中解决它们。

> **[Lemmy-Discourse federation](https://socialhub.activitypub.rocks/t/lemmy-discourse-federation/4177)**
>
> @angus Im currently testing some new changes for federating with Discourse. Its pretty close to working, but now there is a problem because Discourse doesnt mark its posts as public. To fix this you should add...

---

<div class="post-metadata">

### Author: ![hellekin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hellekin/32/51636_2.png) [@hellekin](https://meta.discourse.org/u/hellekin)
#### Post date: [2024年十月22日 14:44 UTC](https://meta.discourse.org/t/activitypub-plugin/266794/327 "2024-10-22T14:44:20Z")

</div>

太棒了，刚刚上线了一个很棒的改动：

> <https://github.com/discourse/discourse-activity-pub/pull/124>
>
> The following will happen on remote services if you change the username:
> 
> \- Ma…stodon: The username displayed for the actor will not change until someone performs a lookup of the new handle. Following / Posting etc will continue to work regardless of the username displayed.
> 
> \- Discourse: The username will be updated the next time there is any interaction with the actor, including:
> - any activities are received from the actor; and
> - the actor is the subject of a lookup in the "Follow" modal.
> 
> See further: https://socialhub.activitypub.rocks/t/changeable-usernames/830/13?u=angus

🎉

[上一頁](https://meta.discourse.org/t/activitypub-plugin/266794.md?page=15)

[下一頁](https://meta.discourse.org/t/activitypub-plugin/266794.md?page=17)
