@verb #3797:"process_audio" this none this rxdo #833 @program #3797:"process_audio" this none this $perm_utils:can_hack() || raise(E_PERM) {comm, text, chans} = args "First, check to see if it looks like speech, and bail out if not." if (!(r = $addressable:parse_say($html_utils:detag(text), @valid(w = comm:where()) ? {w} | {}))) return endif {spkstr, speech} = r "Check to see that we can identify the speaker and that the speaker is the current user of the communicator in question (again, bail out if not)." if (!valid(speaker = comm:who(spkstr)) || speaker != comm:user()) "Nope, it's not the communicator's current user talking. Ignore." elseif (this:process_audio_closereq(comm, text, speech, chans)) "They're closing the channel; we need do nothing more" elseif (!("control" in chans)) "They're not in the control channel, so we ignore any furthur checks" elseif (this:process_audio_openreq(comm, text, speech, chans)) "They opened a new connection. But that's done now." else "Anything else to check? Nope, nothing." endif .