Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F12552633
welcome_message.ex
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
1 KB
Referenced Files
None
Subscribers
None
welcome_message.ex
View Options
# Pleroma: A lightweight social networking server
# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule
Pleroma.User.WelcomeMessage
do
alias
Pleroma.Config
alias
Pleroma.User
alias
Pleroma.Web.CommonAPI
@spec
enabled?
()
::
boolean
()
def
enabled?
,
do
:
Config
.
get
([
:welcome
,
:direct_message
,
:enabled
],
false
)
@spec
post_message
(
User
.
t
())
::
{
:ok
,
Pleroma.Activity
.
t
()
|
nil
}
def
post_message
(
user
)
do
[
:welcome
,
:direct_message
,
:sender_nickname
]
|>
Config
.
get
(
nil
)
|>
fetch_sender
()
|>
do_post
(
user
,
welcome_message
())
end
defp
do_post
(%
User
{}
=
sender
,
%
User
{
nickname
:
nickname
},
message
)
when
is_binary
(
message
)
do
CommonAPI
.
post
(
sender
,
%{
visibility
:
"direct"
,
status
:
"@
#{
nickname
}
\n
#{
message
}
"
}
)
end
defp
do_post
(
_sender
,
_recipient
,
_message
),
do
:
{
:ok
,
nil
}
defp
fetch_sender
(
nickname
)
when
is_binary
(
nickname
)
do
with
%
User
{
local
:
true
}
=
user
<-
User
.
get_cached_by_nickname
(
nickname
)
do
user
else
_
->
nil
end
end
defp
fetch_sender
(
_
),
do
:
nil
defp
welcome_message
do
Config
.
get
([
:welcome
,
:direct_message
,
:message
],
nil
)
end
end
File Metadata
Details
Attached
Mime Type
text/x-ruby
Expires
Sat, Nov 15, 12:50 AM (1 d, 16 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
632114
Default Alt Text
welcome_message.ex (1 KB)
Attached To
Mode
rPUBE pleroma-upstream
Attached
Detach File
Event Timeline
Log In to Comment