forked from AkkomaGang/akkoma
Remove Task.async as it is broken here and probably a premature optimization anyway
This commit is contained in:
parent
f73d166785
commit
4796df0bc3
1 changed files with 17 additions and 24 deletions
|
@ -1,6 +1,5 @@
|
||||||
defmodule Pleroma.Web.ActivityPub.MRF.FollowbotPolicy do
|
defmodule Pleroma.Web.ActivityPub.MRF.FollowbotPolicy do
|
||||||
@behaviour Pleroma.Web.ActivityPub.MRF
|
@behaviour Pleroma.Web.ActivityPub.MRF
|
||||||
alias Pleroma.Activity
|
|
||||||
alias Pleroma.Config
|
alias Pleroma.Config
|
||||||
alias Pleroma.User
|
alias Pleroma.User
|
||||||
alias Pleroma.Web.CommonAPI
|
alias Pleroma.Web.CommonAPI
|
||||||
|
@ -29,31 +28,25 @@ def filter(message) do
|
||||||
end
|
end
|
||||||
|
|
||||||
defp try_follow(follower, message) do
|
defp try_follow(follower, message) do
|
||||||
Task.start(fn ->
|
to = Map.get(message, "to", [])
|
||||||
to = Map.get(message, "to", [])
|
cc = Map.get(message, "cc", [])
|
||||||
cc = Map.get(message, "cc", [])
|
actor = [message["actor"]]
|
||||||
actor = [message["actor"]]
|
|
||||||
|
|
||||||
Enum.concat([to, cc, actor])
|
Enum.concat([to, cc, actor])
|
||||||
|> List.flatten()
|
|> List.flatten()
|
||||||
|> Enum.uniq()
|
|> Enum.uniq()
|
||||||
|> User.get_all_by_ap_id()
|
|> User.get_all_by_ap_id()
|
||||||
|> Enum.each(fn user ->
|
|> Enum.each(fn user ->
|
||||||
since_thirty_days_ago = NaiveDateTime.utc_now() |> NaiveDateTime.add(-(86_400 * 30))
|
with false <- user.local,
|
||||||
|
false <- User.following?(follower, user),
|
||||||
|
false <- User.locked?(user),
|
||||||
|
false <- (user.bio || "") |> String.downcase() |> String.contains?("nobot") do
|
||||||
|
Logger.debug(
|
||||||
|
"#{__MODULE__}: Follow request from #{follower.nickname} to #{user.nickname}"
|
||||||
|
)
|
||||||
|
|
||||||
with false <- user.local,
|
CommonAPI.follow(follower, user)
|
||||||
false <- User.following?(follower, user),
|
end
|
||||||
false <- User.locked?(user),
|
|
||||||
false <- (user.bio || "") |> String.downcase() |> String.contains?("nobot"),
|
|
||||||
false <-
|
|
||||||
Activity.follow_requests_outstanding_since?(follower, user, since_thirty_days_ago) do
|
|
||||||
Logger.info(
|
|
||||||
"#{__MODULE__}: Follow request from #{follower.nickname} to #{user.nickname}"
|
|
||||||
)
|
|
||||||
|
|
||||||
CommonAPI.follow(follower, user)
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
end)
|
end)
|
||||||
|
|
||||||
{:ok, message}
|
{:ok, message}
|
||||||
|
|
Loading…
Reference in a new issue