Add follow_requests_outstanding_since?/3 to Pleroma.Activity
[akkoma] / lib / pleroma / web / activity_pub / mrf / follow_bot_policy.ex
index 2fd5d5612e8f3adf1fc4e3d5862aa49cc460bc85..441ce553e85a7d7fe3a6c3b7a28dad7450dd646a 100644 (file)
@@ -47,7 +47,10 @@ defmodule Pleroma.Web.ActivityPub.MRF.FollowBotPolicy do
              false <- User.locked?(user),
              false <- (user.bio || "") |> String.downcase() |> String.contains?("nobot"),
              false <- outstanding_follow_request_since?(follower, user, since_thirty_days_ago) do
-          Logger.info("#{__MODULE__}: Follow request from #{follower.nickname} to #{user.nickname}")
+          Logger.info(
+            "#{__MODULE__}: Follow request from #{follower.nickname} to #{user.nickname}"
+          )
+
           CommonAPI.follow(follower, user)
         end
       end)
@@ -65,7 +68,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.FollowBotPolicy do
     |> Queries.by_object_id()
     |> Queries.by_type("Follow")
     |> where([a], a.inserted_at > ^since_datetime)
-    |> where([a], fragment("? ->> 'state' = 'pending'", a.data))
+    |> where([a], fragment("? ->> 'state' != 'accept'", a.data))
     |> where([a], a.actor == ^follower_id)
     |> Repo.exists?()
   end