Enforce that the followbot must be marked as a bot.
authorMark Felder <feld@FreeBSD.org>
Thu, 8 Oct 2020 17:41:01 +0000 (12:41 -0500)
committerMark Felder <feld@feld.me>
Tue, 30 Mar 2021 16:10:43 +0000 (11:10 -0500)
lib/pleroma/web/activity_pub/mrf/follow_bot_policy.ex

index 52ac9aef715d2a0bdce79e7bf8d543a579ae1831..d10b7b480190005b18c86c428673b8d3ce09732a 100644 (file)
@@ -8,14 +8,15 @@ defmodule Pleroma.Web.ActivityPub.MRF.FollowBotPolicy do
   @impl true
   def filter(message) do
     with follower_nickname <- Config.get([:mrf_follow_bot, :follower_nickname]),
-         %User{} = follower <- User.get_cached_by_nickname(follower_nickname),
+         %User{actor_type: "Service"} = follower <-
+           User.get_cached_by_nickname(follower_nickname),
          %{"type" => "Create", "object" => %{"type" => "Note"}} <- message do
       try_follow(follower, message)
     else
       nil ->
         Logger.warn(
-          "#{__MODULE__} skipped because of missing :mrf_follow_bot, :follower_nickname configuration or the account
-            does not exist."
+          "#{__MODULE__} skipped because of missing `:mrf_follow_bot, :follower_nickname` configuration, the :follower_nickname
+            account does not exist, or the account is not correctly configured as a bot."
         )
 
         {:ok, message}