-proc check_telling_core {nl event} {
- # event is `talk', `act' or `come'
-FIXME - delay 750ms when you invoke this, except for `talk'
- which causes `talk' now and `act' later
-FIXME - make it be called with come
-FIXME -
+proc telling_event {nl event} {
+ # For `act' we *haven't* yet done the 750ms delay; we implement
+ # that here. Also, here we turn `talk' into `talk' now and `act'
+ # later. We also support the psuedo-event `none'. The del msg
+ # and new msg events are handled by the command procedures, not here.
+ switch -exact $event {
+ none { }
+ talk {
+ telling_event_core $nl talk
+ telling_event $nl act
+ }
+ act {
+ after 750 [list telling_event_core $nl $event]
+ }
+ ident {
+ telling_event_core $nl $event
+ }
+ default {
+ error "telling_event $nl $event"
+ }
+ }
+}
+
+proc telling_event_core {nl event} {
+ # event is `talk', `act' or `ident'
+ # When user talks we actually get talk now and act later
+FIXME - fix calls to check_telling to telling_event
+FIXME - implement all cmds
+FIXME - implement tells_deliver set stt [list $u passed $now]
+FIXME - implement tells_delete catch { unset stt } ?
+FIXME - document the extra param to recordlastseen