diff options
author | Maxim Ignatenko <gelraen.ua@gmail.com> | 2011-07-25 19:54:45 +0300 |
---|---|---|
committer | Maxim Ignatenko <gelraen.ua@gmail.com> | 2011-09-26 11:16:28 +0300 |
commit | 18dd0d08cbc9245405a93de859f037f40190a2f3 (patch) | |
tree | 9cdc89ba989799cb77419a781eaa2160b82111bc /src | |
parent | Implement voice approvement detection and remove some debug code (diff) |
Implement basic voice request processing logic.
No rate control or configuration for now
Diffstat (limited to 'src')
-rw-r--r-- | src/mod_muc/mod_muc_room.erl | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/mod_muc/mod_muc_room.erl b/src/mod_muc/mod_muc_room.erl index d569cdb15..aec54b684 100644 --- a/src/mod_muc/mod_muc_room.erl +++ b/src/mod_muc/mod_muc_room.erl @@ -298,7 +298,16 @@ normal_state({route, From, "", end end; IsVoiceRequest -> - send_voice_request(From, StateData), + case is_visitor(From, StateData) of + true -> + send_voice_request(From, StateData); + _ -> + ErrText = "Only visitors allowed to request voice", + Err = jlib:make_error_reply( + Packet, ?ERRT_NOT_ALLOWED(Lang, ErrText)), + ejabberd_router:route( + StateData#state.jid, From, Err) + end, {next_state, normal_state, StateData}; IsVoiceApprovement -> {next_state, normal_state, StateData}; |