久しぶりに投稿します。
今回はタイムラインに流れてくるツイートに対して、
自動いいねできるコードを作成したので、そのご紹介です。
1ヶ月くらいやるとフォローが減ったりします。
やったこと
・Go言語で自動いいねbotの作成
環境
・Go (version 1.158.8)
・WindowsServer2019
※実行方法はタスクスケジューラで定期実行してました。
実装
Twiter認証
import (
"github.com/ChimeraCoder/anaconda"
)
//Twitterの認証を行うメソッド
func GetTwitterApi() *anaconda.TwitterApi {
anaconda.SetConsumerKey("XXXXXX")
anaconda.SetConsumerSecret("XXXXXXXX")
api := anaconda.NewTwitterApi("XXXXXX", "XXXXXXXX")
return api
}
まず、これをやらないとはじまらない!
Twitter認証を行います。今回もanacondaを利用しました。
Twitterであれば基本的にanacondaで実装できるのでおすすめです。
https://pkg.go.dev/github.com/ChimeraCoder/anaconda
タイムライン取得
import (
"net/url"
)
---中略---
//Twitterの認証情報を取得
api := GetTwitterApi()
//タイムライン取得用の引数を設定
v := url.Values{}
v.Set("count", "10")
//タイムラインを10件取得する
tweets, err := api.GetHomeTimeline(v)
if err != nil {
panic(err) //error時の処理
}
先程のAPIを呼び出して、タイムラインを取得します。
vはhttps://pkg.go.dev/net/urlの型になります。
タイムラインを取得するAPIの引数に必要なため、宣言してます。
api.GetHomeTimeline(v)でtweetsに最新10件のツイートをリスト型で格納します。
いいね処理
//取得したツイート分繰り返し
for _, tweet := range tweets {
//ツイートがいいねされているかで条件分岐
if tweet.Favorited {
//いいねされていれば何もしない
fmt.Println("いいね済みでした")
//いいねされていない場合
} else {
_, err := api.Favorite(tweet.Id) //いいね処理
if err != nil {
panic(err) //error時の処理
}
}
取得したツイート(リスト型)に対して、いいねされているかどうかで条件分岐し、
いいねされていない場合にFavorite(Id)でいいね処理を行います。
tweet.Idはツイートに対して一意に割り当てられているIDになります。
全処理
まとめると以下の通りです。
import (
"fmt"
"net/url"
"github.com/ChimeraCoder/anaconda"
)
func main() {
//Twitterの認証情報を取得
api := GetTwitterApi()
//タイムライン取得用の引数を設定
v := url.Values{}
v.Set("count", "10")
//タイムラインを10件取得する
tweets, err := api.GetHomeTimeline(v)
if err != nil {
panic(err) //error時の処理
}
//取得したツイート分繰り返し
for _, tweet := range tweets {
//ツイートがいいねされているかで条件分岐
if tweet.Favorited {
//いいねされていれば何もしない
fmt.Println("いいね済みでした")
//いいねされていない場合
} else {
_, err := api.Favorite(tweet.Id) //いいね処理
if err != nil {
panic(err) //error時の処理
}
}
}
//Twitterの認証を行うメソッド
func GetTwitterApi() *anaconda.TwitterApi {
anaconda.SetConsumerKey("XXXXXX")
anaconda.SetConsumerSecret("XXXXXXXX")
api := anaconda.NewTwitterApi("XXXXXX", "XXXXXXXX")
return api
}
以上です。ありがとうございました。
楽しいTwitter生活を送ってください。