Campfire Bot
// ==UserScript== // @name Campfire Bot // @namespace http://d.hatena.ne.jp/youpy/ // @description bot on campfire // @include http://*.campfirenow.com/room/* // ==/UserScript== (function (){ getLastMessage = function() { div = document.evaluate("//tr[contains(@class,'text_message') and not(contains(@class,'you'))]/td[@class='body']/div", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); return div.snapshotItem(div.snapshotLength - 1).innerHTML; } window.setInterval( function() { last_message = getLastMessage(); if(this.last_message != (sorted = last_message.split('').sort().join(''))) { this.last_message = sorted; if(last_message.match(/^\//)) { switch(last_message) { case '/now': this.chat.speaker.speak(new Date().toString()); break; } } else { this.chat.speaker.speak(last_message.split('').reverse().join('')); } } }, 3000); })();
residents at here