% % central monitoring of sms messaging % % retrieve sms messages from remote server % *skedrmte % % absorb texts directed to shooter sms % % stack: shooter-sms-phone % _Sked.Sms &"_" _Arching.TwidSpec "??????????_" slice ^3) dup log# dup !svwilder !wilder ofconn empty { nextfile ? "nextsms" log)( filed !Sms.Filed "_MM" found? !Sms.MM reading dup !Sms.Raw % % sms message analysis % "From" elem( !Sms.From "To" elem( !Sms.To "Body" elem( !Sms.Body pop *skedcler % % check that a phone number exists and what mode % empty !Sked.Phone false !Sked.IsAdmin _Sms.From -2 left *skedplod _Sked.Phone any)? { !Sked.Seed !Sked.Fold empty empty % % phone exists, check the mode it is in % _Sked.Mode < |ReqStatus *skedstat |ReqName *skedrqco |ReqComp *skedrqdk |ReqDock *skedrqda |ReqToday *skedrqtd |ReqDate *skedrqsl |ReqSched *skedrqok |ReqRsv *skedrqrs |ReqPick *skedrqpk > not { % % invalid mode % } if count 2 eq { % % stack balance is correct % pop2 } { % % stack balance is incorrect, log the problem % "&&&&&&&&&&&&Problem&&&&&&&&&&&" log)( count countup { &")" & logs } for } ifelse _Sked.Fold _Sked.Seed } { *skedrqnm } ifelse "smsmonz" log)( %%% count 2 gt { stop } if finaled _svwilder !wilder } loop filing)