■
build配下のプロジェクトクラス
import sbt._ class MyProject(info: ProjectInfo) extends DefaultProject(info) { override def libraryDependencies = Set( "net.databinder" %% "dispatch" % "0.7.7" ) ++ super.libraryDependencies }
検索するサンプル
import dispatch._ import dispatch.twitter._ import twitter.{Auth,Status} import oauth._ import oauth.OAuth._ object SearchSample { def main(args: Array[String]): Unit = { val searchWord = "rpscala" val http = new Http val tweets = http(Search(searchWord).product) val message = tweets.reverse.map { js => val Search.text(text) = js val Search.from_user(from_user) = js (Status.rebracket(text), from_user) } message.foreach({x => println(x._2 + " " + x._1)}) } }
TLを取得
import dispatch._ import dispatch.twitter._ import twitter.{Auth,Status} import oauth._ import oauth.OAuth._ import info.growl.{Growl, GrowlUtils} import java.io.File import javax.imageio.ImageIO object FriendsTimeline { val CONSUMER_KEY = "xxxxxxxxxxxxxx" val CONSUMER_SECRET = "xxxxxxxxxxxxxx" val ACCESS_TOKEN = "xxxxxxxxxxxxxx" val ACCESS_TOKEN_SECRET = "xxxxxxxxxxxxxx" def main(args: Array[String]): Unit = { val http = new Http val CONSUMER = Consumer(CONSUMER_KEY, CONSUMER_SECRET) val map = Map("oauth_token"->ACCESS_TOKEN, "oauth_token_secret"->ACCESS_TOKEN_SECRET) val token = Token.apply(map) val tweets = http(Status.friends_timeline(CONSUMER, token.get).product) val message = tweets.reverse.map { js => val Status.user.screen_name(screen_name) = js val Status.text(text) = js (Status.rebracket(text), screen_name) } // http://d.hatena.ne.jp/yuroyoro/20090724/1248431961 growl(message) } def growl(message: List[(String, String)]): Unit = { val appName = "How do you like wednesday Growl" val notificationName = "How do you like wednesday Growl" val growl:Growl = GrowlUtils.getGrowlInstance( appName ) growl.addNotification(notificationName , true) growl.register() message.foreach({ x => println(x._2 + " " + x._1) growl.sendNotification(notificationName , x._2, x._1) }) } }