Hi all,<br><br>I&#39;ve been browsing the list archives, and I can&#39;t work out how to get MUC working - and examples in the wild are non-existent.<br><br>I&#39;ve been playing with the six apart example from the repo, and just about understand the user, roster and vcard setup, but I&#39;m having trouble with the chatroom setup. Since there&#39;s no clear examples on this, I&#39;ve been trying semi random constructors for DJabberd::Plugin::MUC::Room without really knowing what I&#39;m doing here.
<br><br>What I want to do is create a few permanent rooms at startup with the following criteria:<br><br>- disco doesn&#39;t need to work<br>- users need to be able to join the rooms without invitation<br>- users can invite others
<br><br>I have a feeling I&#39;m running around the right code without quite getting it. Here&#39;s where I&#39;m at (snippet):<br><br>--<br><br>my $rs = DJabberd::RosterStorage::Dummy-&gt;new;<br>$rs-&gt;finalize;<br><br>
my $vcard = DJabberd::Plugin::VCard::SQLite-&gt;new;<br>$vcard-&gt;set_config_storage(&quot;$Bin/roster.sqlite&quot;);<br>$vcard-&gt;finalize;<br><br>my $muc = DJabberd::Plugin::MUC-&gt;new;<br>$muc-&gt;set_config_subdomain(&quot;conference&quot;);
<br>$muc-&gt;finalize;<br><br><br>my $vhost = DJabberd::VHost-&gt;new(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; server_name =&gt; &#39;<a href="http://test-domain.com">test-domain.com</a>&#39;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; require_ssl =&gt; 0,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s2s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&gt; 1,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; plugins&nbsp;&nbsp;&nbsp;&nbsp; =&gt; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DJabberd::Authen::Dummy-&gt;new,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $rs,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $vcard,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $muc,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DJabberd::Delivery::Local-&gt;new,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DJabberd::Delivery::S2S-&gt;new,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ],<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br><br># I&#39;m sure this is wrong, but this was my last stab<br>my $room = DJabberd::Plugin::MUC::Room-&gt;new( &#39;testroom&#39;, &#39;
<a href="http://test-domain.com">test-domain.com</a>&#39;, $vhost );<br><br>my $server = DJabberd-&gt;new(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; daemonize =&gt; $daemonize,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br><br>$server-&gt;add_vhost($vhost);<br>$server-&gt;run;
<br><br>--<br><br>Can someone point me in the right direction? I&#39;m learning quite a bit from this code (thanks all :) but I think my OO has enough gaps in it right now to make this harder than I feel it should be.<br>
<br>Should I be attempting to use the DJabberd modules for this? Or should I be using an external component? (and if so, which?). The last solid thread on MUC that I found was:<br><br><a href="http://lists.danga.com/pipermail/djabberd/2006-October/000185.html">
http://lists.danga.com/pipermail/djabberd/2006-October/000185.html</a><br><br>and that&#39;s not exactly encouraging :) Have things changed since then?<br><br>Any input appreciated.<br><br>cLive ;-)<br>