Merge branch 'ssl_trusted_cert' into 'develop'
[akkoma] / lib / pleroma / user / welcome_message.ex
1 defmodule Pleroma.User.WelcomeMessage do
2 alias Pleroma.User
3 alias Pleroma.Web.CommonAPI
4
5 def post_welcome_message_to_user(user) do
6 with %User{} = sender_user <- welcome_user(),
7 message when is_binary(message) <- welcome_message() do
8 CommonAPI.post(sender_user, %{
9 "visibility" => "direct",
10 "status" => "@#{user.nickname}\n#{message}"
11 })
12 else
13 _ -> {:ok, nil}
14 end
15 end
16
17 defp welcome_user do
18 with nickname when is_binary(nickname) <-
19 Pleroma.Config.get([:instance, :welcome_user_nickname]),
20 %User{local: true} = user <- User.get_cached_by_nickname(nickname) do
21 user
22 else
23 _ -> nil
24 end
25 end
26
27 defp welcome_message do
28 Pleroma.Config.get([:instance, :welcome_message])
29 end
30 end