Software /
code /
prosody
Annotate
plugins/mod_welcome.lua @ 12254:5b0c8e499288
modulemanager: Add plugin load filter that reads module metadata from source
Metadata in modules is added using lines formatted as:
--% key: value
Where key is a valid identifier string, and value is also a string (leading
and trailing whitespace are trimmed during parsing).
The initial supported keys are:
--% requires_core_features: feature1, feature2, ...
--% conflicts_core_features: feature1, feature2. ...
These 'features' map to features reported by the new core.features module.
A benefit of this load-time metadata approach compared to e.g. something like
module:requires()/module:conflicts() is that we can continue to look in module
search paths for a suitable module. Aborting an already-loaded module due to
a version conflict would be too late.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 04 Feb 2022 14:20:00 +0000 |
parent | 8161:31938a0c398f |
child | 12977:74b9e05af71e |
rev | line source |
---|---|
1523
841d61be198f
Remove version number from copyright headers
Matthew Wild <mwild1@gmail.com>
parents:
1252
diff
changeset
|
1 -- Prosody IM |
2923
b7049746bd29
Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents:
2056
diff
changeset
|
2 -- Copyright (C) 2008-2010 Matthew Wild |
b7049746bd29
Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents:
2056
diff
changeset
|
3 -- Copyright (C) 2008-2010 Waqas Hussain |
5776
bd0ff8ae98a8
Remove all trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents:
5014
diff
changeset
|
4 -- |
1185
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 -- This project is MIT/X11 licensed. Please see the |
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 -- COPYING file in the source package for more information. |
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 -- |
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 |
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 local host = module:get_host(); |
7227
c6f9d694d778
mod_welcome: Pass default text to config API as default value
Kim Alvefur <zash@zash.se>
parents:
7226
diff
changeset
|
10 local welcome_text = module:get_option_string("welcome_message", "Hello $username, welcome to the $host IM server!"); |
1185
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 |
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 local st = require "util.stanza"; |
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 |
3540
bc139431830b
Monster whitespace commit (beware the whitespace monster).
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
14 module:hook("user-registered", |
1185
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 function (user) |
3540
bc139431830b
Monster whitespace commit (beware the whitespace monster).
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
16 local welcome_stanza = |
8160
5566f82ffea4
mod_welcome: Return the pointer to the root of the stanza, fixes a bug similar to #922.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5014
diff
changeset
|
17 st.message({ to = user.username.."@"..user.host, from = host }, |
5566f82ffea4
mod_welcome: Return the pointer to the root of the stanza, fixes a bug similar to #922.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5014
diff
changeset
|
18 welcome_text:gsub("$(%w+)", user)); |
5014
b2006c1cfa85
mod_announce, mod_motd, mod_pubsub, mod_register, mod_watchregistrations, mod_welcome: Use module:send() instead of core_*_stanza()
Kim Alvefur <zash@zash.se>
parents:
3540
diff
changeset
|
19 module:send(welcome_stanza); |
1185
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 module:log("debug", "Welcomed user %s@%s", user.username, user.host); |
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
21 end); |