Software /
code /
prosody-modules
Changeset
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 |
parents | 2450:36ffe9d11132 |
children | 2452:7d86018a6394 |
files | mod_candy/README.markdown mod_candy/mod_candy.lua |
diffstat | 2 files changed, 11 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mod_candy/README.markdown Fri Jan 20 01:24:32 2017 +0100 +++ b/mod_candy/README.markdown Fri Jan 20 01:25:11 2017 +0100 @@ -32,7 +32,9 @@ You can configure what rooms to join using either `candy_rooms` (an array) or [mod\_default\_bookmarks]. By default, Candy will attempt to -join rooms that the current user has bookmarked. If there are no rooms +join rooms that the current user has bookmarked. +If `candy_rooms` is not set, mod\_candy will attempt to find a MUC +component and join a room called "candy" there. If there are no rooms to join, then Candy will show an emtpy screen. Compatibility
--- a/mod_candy/mod_candy.lua Fri Jan 20 01:24:32 2017 +0100 +++ b/mod_candy/mod_candy.lua Fri Jan 20 01:25:11 2017 +0100 @@ -2,6 +2,7 @@ -- Copyright (C) 2013-2017 Kim Alvefur local json_encode = require"util.json".encode; +local get_host_children = require "core.hostmanager".get_children; local is_module_loaded = require "core.modulemanager".is_loaded; local serve = module:depends"http_files".serve; @@ -13,6 +14,13 @@ -- Configured room list, if any return candy_rooms; end + for subdomain in pairs(get_host_children(module.host)) do + -- Attempt autodetect a MUC host + if is_module_loaded(subdomain, "muc") then + return { "candy@" .. subdomain } + end + end + -- Autojoin bookmarks then? -- Check out mod_default_bookmarks return true; end