function composeTweet() { $titles = file('data-titles.txt', FILE_IGNORE_NEW_LINES); $camps = file('data-camps.txt', FILE_IGNORE_NEW_LINES); $TWITTER_CHARACTER_LIMIT = 140; $markov = new Markov(); $markov->init($titles); $title = $markov->generate(4); $markov = new Markov(); $markov->init($camps); $camp = $markov->generate(4); $chain = "{$title} @ {$camp} (" . address() . ") #burningman #bot"; if (strlen($chain) >= $TWITTER_CHARACTER_LIMIT) { // try again composeTweet(); } else { return $chain; } }