golang(anaconda)で特定のユーザのTLをストリーミングする
友人にTwitter Botをつくることを約束してしまい、そういえば某氏が某fuckjpはgolangで書かれていると言っていたなと思い出した。
そんなGolangのTwitterライブラリはAnacondaが有名らしい(某fuckjpが何使っているかはわからない)ので、それ使って作ることにした。
作成中、Anacondaで特定のユーザのTLをストリーミングする例が見当たらなかったので書いておく。
func main() { anaconda.SetConsumerKey(config.ConsumerKey) anaconda.SetConsumerSecret(config.ConsumerSecret) api := anaconda.NewTwitterApi(config.AccessToken, config.AccessTokenSecret) v := url.Values{} v.Set("follow", "ID1,ID2,ID3...") stream := api.PublicStreamFilter(v) for { select { case stream := <-stream.C: switch status := stream.(type) { case anaconda.Tweet: fmt.Printf("%s: %s\n", status.User.ScreenName, status.Text) } } } }
tweepyとかと比べて死ぬほど速い。goは神。