akkoma/lib/pleroma/user/welcome_message.ex

35 lines
937 B
Elixir
Raw Normal View History

# Pleroma: A lightweight social networking server
2020-03-03 22:44:49 +00:00
# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
2019-02-16 15:42:34 +00:00
defmodule Pleroma.User.WelcomeMessage do
alias Pleroma.User
alias Pleroma.Web.CommonAPI
def post_welcome_message_to_user(user) do
with %User{} = sender_user <- welcome_user(),
message when is_binary(message) <- welcome_message() do
CommonAPI.post(sender_user, %{
2020-05-12 19:59:26 +00:00
visibility: "direct",
status: "@#{user.nickname}\n#{message}"
2019-02-16 15:42:34 +00:00
})
else
_ -> {:ok, nil}
end
end
defp welcome_user do
with nickname when is_binary(nickname) <-
Pleroma.Config.get([:instance, :welcome_user_nickname]),
%User{local: true} = user <- User.get_cached_by_nickname(nickname) do
user
2019-02-16 15:42:34 +00:00
else
_ -> nil
2019-02-16 15:42:34 +00:00
end
end
defp welcome_message do
2019-02-16 15:42:34 +00:00
Pleroma.Config.get([:instance, :welcome_message])
end
end