2014-01-25 19 views
0

我自定義模塊mod_muc_room當用戶加入了首次自動將用戶的加入設置爲成員。如何設置與沒有隸屬關係的用戶直接爲當用戶加入房間的成員 - Ejabberd

我正在處理process_pressence方法,我設法將用戶添加到mysql表mod_muc的配置空間中,但StateData不包含此更改....如何正確地將此更改提供給StateData 。

我想了解一些指針。我試過很多方法,很多黑客,但我只是似乎迷失...在此先感謝

回答

0

http://www.process-one.net/docs/ejabberd/guide_en.html#modmuc

如何在default_room_options設置members_by_default爲真?


編輯:

我感到困惑的作用和聯繫,並嘗試以下修補程序:

--- a/src/mod_muc_room.erl 
+++ b/src/mod_muc_room.erl 
@@ -1611,7 +1611,11 @@ add_online_user(JID, Nick, Role, StateData) -> 
          end, 
          [LJID], StateData#state.nicks), 
    tab_add_online_user(JID, StateData), 
- StateData#state{users = Users, nicks = Nicks}. 
+ StateData1 = case get_affiliation(JID, StateData) of 
+  owner -> StateData; 
+  _ -> set_affiliation(JID, member, StateData) 
+ end, 
+ StateData1#state{users = Users, nicks = Nicks}. 
+0

{緩和,真},{members_by_default,真}, {members_only,假} ,{allow_user_invites,false}, {password_protected,false},{captcha_protected,false}, {password,[]},{anonymous,true},{logging,false}, {max_users,200},{allow_voice_requests, true}, {voice_request_min_interval,1800}, {captcha_whitelist,[]}, {隸屬關係, [{{「gallero」,「dev.here.com」,[]},{擁有者,[]}}]}, {subject,[]},{subject_author,[]}] | 2014-01-31 14點57分25秒--------------- MUC選項看起來像這些,但我需要參加者直接擁有member從屬關係,而無需車主添加 – user1000622

+0

如果你可以自定義'mod_muc_room.erl',找到在'add_new_user()'中使'Affiliation'成爲'member'的方法。你可以找到優雅的方式,或者只是'聯盟=成員'。我只是閱讀代碼並提出這個建議,而沒有對它進行測試。 –

+0

沒有沒有工作,任何其他建議? – user1000622

相關問題