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)
    })
  }
}