日々是乃莉

車載システムとかWebに興味があるオタクです

golang(anaconda)で特定のユーザのTLをストリーミングする

友人にTwitter Botをつくることを約束してしまい、そういえば某氏が某fuckjpはgolangで書かれていると言っていたなと思い出した。

そんなGolangTwitterライブラリは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は神