Software /
code /
prosody-modules
Comparison
mod_candy/mod_candy.lua @ 2451:56bab95e57f0
mod_candy: If no room list is set, try to find a MUC domain and guess a room name of 'candy'
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 20 Jan 2017 01:25:11 +0100 |
parent | 2450:36ffe9d11132 |
child | 2453:f36a6dcc05ef |
comparison
equal
deleted
inserted
replaced
2450:36ffe9d11132 | 2451:56bab95e57f0 |
---|---|
1 -- mod_candy.lua | 1 -- mod_candy.lua |
2 -- Copyright (C) 2013-2017 Kim Alvefur | 2 -- Copyright (C) 2013-2017 Kim Alvefur |
3 | 3 |
4 local json_encode = require"util.json".encode; | 4 local json_encode = require"util.json".encode; |
5 local get_host_children = require "core.hostmanager".get_children; | |
5 local is_module_loaded = require "core.modulemanager".is_loaded; | 6 local is_module_loaded = require "core.modulemanager".is_loaded; |
6 | 7 |
7 local serve = module:depends"http_files".serve; | 8 local serve = module:depends"http_files".serve; |
8 | 9 |
9 local candy_rooms = module:get_option_array("candy_rooms"); | 10 local candy_rooms = module:get_option_array("candy_rooms"); |
11 local function get_autojoin() | 12 local function get_autojoin() |
12 if candy_rooms then | 13 if candy_rooms then |
13 -- Configured room list, if any | 14 -- Configured room list, if any |
14 return candy_rooms; | 15 return candy_rooms; |
15 end | 16 end |
17 for subdomain in pairs(get_host_children(module.host)) do | |
18 -- Attempt autodetect a MUC host | |
19 if is_module_loaded(subdomain, "muc") then | |
20 return { "candy@" .. subdomain } | |
21 end | |
22 end | |
23 -- Autojoin bookmarks then? | |
16 -- Check out mod_default_bookmarks | 24 -- Check out mod_default_bookmarks |
17 return true; | 25 return true; |
18 end | 26 end |
19 | 27 |
20 local function get_connect_path() | 28 local function get_connect_path() |