LoginSignup
0
0

More than 3 years have passed since last update.

【Go言語】特定のTweetにリプライする

Posted at

用意するもの

・PC(WindowsでもMacでも)
・Twitter API
・Twitterアカウント

やったこと

1.Twitter API準備

色々な方が紹介されていると思いますので、割愛します。

2.Go言語で書く

処理としては、"ジャイアン"を含む自分の過去ツイートにリプライしています。

main.go
package main

import (
    "fmt"
    "net/url"
    "strings"
    . "fmt"

     "github.com/ChimeraCoder/anaconda"
)

//Twitter API認証用メソッド
func GetTwitterApi() *anaconda.TwitterApi {
    anaconda.SetConsumerKey("API Key")
    anaconda.SetConsumerSecret("API secret Key")
    api := anaconda.NewTwitterApi("token", "token secret")
    return api
}

func main(){
    api := GetTwitterApi() //Twitter認証処理呼び出し
    text := "おれさまがジャイアンだ!" //ツイート内容

    v := url.Values{}
    v.Set("count", "10") //取得するツイート数をセット

    x := url.Values{} //リプライするツイート情報を格納する

    tweets, err := api.GetUserTimeline(v) //自分のタイムラインを10件取得
    if err != nil {
        panic(err)
    }

   SearchText := "ジャイアン"

   //取得したツイートに対する処理
    for i, tweet := range tweets {
        //ツイート内容にジャイアンが含まれているか
        if strings.Contains(tweet.FullText, SearchText) {
            id := tweets[i].IdSt
            x.Add("in_reply_to_status_id", id) //xにidを追加
        }
    }

    tweet, err := api.PostTweet(text, x)
    if err != nil {
       panic(err)
    }

     fmt.Println("Finish!")
}

3.参考にしたドキュメント

anacondaで実装したい処理があればやはり公式ドキュメント見るのが一番いいと思いました。

次はいいねbot書きます~!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0