diff options
Diffstat (limited to 'src/mod_muc/mod_muc_room.erl')
-rw-r--r-- | src/mod_muc/mod_muc_room.erl | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mod_muc/mod_muc_room.erl b/src/mod_muc/mod_muc_room.erl index e2f7d190d..5a821f8f1 100644 --- a/src/mod_muc/mod_muc_room.erl +++ b/src/mod_muc/mod_muc_room.erl @@ -606,6 +606,21 @@ handle_event({service_message, Msg}, _StateName, StateData) -> StateData), {next_state, normal_state, NSD}; +handle_event({destroy, Reason}, _StateName, StateData) -> + {result, [], stop} = + destroy_room( + {xmlelement, "destroy", + [{"xmlns", ?NS_MUC_OWNER}], + case Reason of + none -> []; + _Else -> + [{xmlelement, "reason", + [], [{xmlcdata, Reason}]}] + end}, StateData), + {stop, stopped_by_event, StateData}; +handle_event(destroy, StateName, StateData) -> + handle_event({destroy, none}, StateName, StateData); + handle_event(_Event, StateName, StateData) -> {next_state, StateName, StateData}. |