MRF: anti followbot: gracefully handle accounts without a display name

This commit is contained in:
William Pitcock 2019-03-07 12:13:48 +00:00
parent 992145e64c
commit e53a9fd15e

View File

@ -23,15 +23,21 @@ defmodule Pleroma.Web.ActivityPub.MRF.AntiFollowbotPolicy do
defp score_displayname(_), do: 0.0 defp score_displayname(_), do: 0.0
defp determine_if_followbot(%User{nickname: nickname, name: displayname}) do defp determine_if_followbot(%User{nickname: nickname, name: displayname}) do
# nickname will always be a binary string because it's generated by Pleroma.
nick_score = nick_score =
nickname nickname
|> String.downcase() |> String.downcase()
|> score_nickname() |> score_nickname()
# displayname will either be a binary string or nil, if a displayname isn't set.
name_score = name_score =
displayname if is_binary(displayname) do
|> String.downcase() displayname
|> score_displayname() |> String.downcase()
|> score_displayname()
else
0.0
end
nick_score + name_score nick_score + name_score
end end