Monday, November 08, 2010 at 12:01 AM.
system.verbs.apps.twitter.watcher.watch
bundle { //delete id's that are more than a week old local (i, adrid, marktime = clock.now () - (7 * 24 * 60 * 60)); for i = sizeof (user.twitter.prefs.watcher.ids) downto 1 { adrid = @user.twitter.prefs.watcher.ids [i]; if adrid^ < marktime { delete (adrid); filemenu.save ()}}}; bundle { //check for new messages local (timeline); if twitter.getTimeLine (@timeline) { local (adrstatus); <<scratchpad.twittertimeline = timeline for adrstatus in @timeline { local (adrterm, id = nameof (adrstatus^)); for adrterm in @user.twitter.prefs.watcher.terms { if adrstatus^.text contains nameof (adrterm^) { if not defined (user.twitter.prefs.watcher.ids.[id]) { local (subject = user.twitter.prefs.watcher.subject); subject = string.replaceall (subject, "<%screenName%>", adrstatus^.userScreenName); tcp.sendmail (adrterm^, subject, adrstatus^.text); user.twitter.prefs.watcher.ids.[id] = clock.now (); filemenu.save ()}}}}}}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.