Mercurial > prosody-modules
comparison mod_candy/mod_candy.lua @ 2450:36ffe9d11132
mod_candy: Add config option for a list of rooms to join
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Fri, 20 Jan 2017 01:24:32 +0100 |
| parents | c9372cfac3b7 |
| children | 56bab95e57f0 |
comparison
equal
deleted
inserted
replaced
| 2449:c9372cfac3b7 | 2450:36ffe9d11132 |
|---|---|
| 3 | 3 |
| 4 local json_encode = require"util.json".encode; | 4 local json_encode = require"util.json".encode; |
| 5 local is_module_loaded = require "core.modulemanager".is_loaded; | 5 local is_module_loaded = require "core.modulemanager".is_loaded; |
| 6 | 6 |
| 7 local serve = module:depends"http_files".serve; | 7 local serve = module:depends"http_files".serve; |
| 8 | |
| 9 local candy_rooms = module:get_option_array("candy_rooms"); | |
| 10 | |
| 11 local function get_autojoin() | |
| 12 if candy_rooms then | |
| 13 -- Configured room list, if any | |
| 14 return candy_rooms; | |
| 15 end | |
| 16 -- Check out mod_default_bookmarks | |
| 17 return true; | |
| 18 end | |
| 8 | 19 |
| 9 local function get_connect_path() | 20 local function get_connect_path() |
| 10 if is_module_loaded(module.host, "websocket") then | 21 if is_module_loaded(module.host, "websocket") then |
| 11 return module:http_url("websocket", "xmpp-websocket"):gsub("^http", "ws"); | 22 return module:http_url("websocket", "xmpp-websocket"):gsub("^http", "ws"); |
| 12 end | 23 end |
| 23 | 34 |
| 24 return ("// Generated by Prosody\n" | 35 return ("// Generated by Prosody\n" |
| 25 .."var Prosody = %s;\n") | 36 .."var Prosody = %s;\n") |
| 26 :format(json_encode({ | 37 :format(json_encode({ |
| 27 connect_path = get_connect_path(); | 38 connect_path = get_connect_path(); |
| 39 autojoin = get_autojoin(); | |
| 28 version = prosody.version; | 40 version = prosody.version; |
| 29 host = module:get_host(); | 41 host = module:get_host(); |
| 30 anonymous = module:get_option_string("authentication") == "anonymous"; | 42 anonymous = module:get_option_string("authentication") == "anonymous"; |
| 31 })); | 43 })); |
| 32 end; | 44 end; |
