DEVELOPMENT
今更ながら、Twitterを頑張っているのですが、自分と同じようなことをしている人と繋がりたいですが、その場合、ツイートを検索していいね!を押すことにより、相手に気がついてもらえると思います。
これをスクリプトでやれるように実装してみたので、ご紹介します。
Twitterアカウントは昔からありましたが、まともにやっていませんでしたが、最近色々な思いから、Twitterを頑張っています。 フォロワーを増やすために色々と努力して携帯とにらめっこする時間が長くなったので、
プログラムでどうにかならないかなーと思い、その一歩として
指定したキーワードで、ツイートを検索し、 そのツイートの中から、フォローバしてくれそうなユーザーのツイートに対して 「いいね」をするというようなスクリプト
です。
Pythonでも良かったのですが、最近nodeをよくいじるので、今回はNode.jsで実装してみました。
よかったら同じ境遇の方、参考にしてください。
準備
正直長いんです。
Twitter Developerに登録し、APP登録を行いますが、審査が入ります(ちゃんと記入すればだいたい通ると思います)。
Twitter API 登録 (アカウント申請方法) から承認されるまでの手順まとめ ※2019年8月時点の情報でしっかりまとめていただいているので
割愛致しますので、上記を参考にしてください。
そして、必要な
- api key
- secret
- access token
- access token secret
この4つをメモしておきましょう。
nodeパッケージインストール
プロジェクトフォルダ作成
$ mkdir twitter-bot
$ cd twitter-bot
初期化
$ yarn init
twitter クライアントインストール
$ yarn add twitter
キーなどの処理にdotenvインストール
$ yarn add dotenv
.env ファイルを作成し、
API_KEY=xxxxxxxxxxx
API_SECRET_KEY=xxxxxxxxxxxx
ACCESS_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ACCESS_TOKEN_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxx
こんな感じで、先程メモした内容を記載します
コード
- index.js を作成(ファイル名はなんでも良し)
require('dotenv').config();
var Twitter = require('twitter');
// 初期化
var client = new Twitter({
consumer_key: process.env.API_KEY,
consumer_secret: process.env.API_SECRET_KEY,
access_token_key: process.env.ACCESS_TOKEN,
access_token_secret: process.env.ACCESS_TOKEN_SECRET
});
// 検索ワード設定
var search = "検索したキーワード"
// 検索する
client.get('search/tweets', {q: search, favorited: false})
.then(function (tweets) {
console.log(tweets)
console.log("###############")
// 検索結果の各ツイート
for (tweet of tweets.statuses) {
if (なんか条件 僕はそのユーザーのフォロワー数等チェックしてます ここ省略してもよし) {
// いいねする
client.post('favorites/create', {id: tweet.id_str})
.then(function (tweet) {
console.log("Username `" + tweet.user.name + '"')
console.log("Likes to `" + tweet.text + '"')
console.log("----------------")
})
.catch(function (error) {
console.log(error)
})
}
}
})
.catch(function (error) {
console.log(error)
})
実行
$ node index.js
これで指定したキーワードで検索されたツイートに対し、いいねが実行されます!
※注意 連続でやりすぎると、APIの制限等にかかり、停止、バンされる可能性があるので、自己責任でお願いします。ご注意下さい。
まとめ
せっかくエンジニアなので、エンジニアパワーを使い効率よくフォロワーを増やしたいなと思い、今回励みましたが、 とはいってもTwitter等、SNSは人対人なので、気持ちが大事ですね。
自動化のみで簡単にフォロワーを増やそうとするのはナンセンスかと思うので、 そのきっかけとして、少々アクションを起こす程度にしておくくらいがいいと、個人的には思っています。
質問などあれば、Twitter上で下さいね。
株式会社UKAI 代表取締役CEO。建築を専攻していたが、新卒でYahoo!Japanにエンジニアとして入社。その後、転職、脱サラ、フリーランスエンジニアを経て、田舎へ移住し、ゲストハウスの開業、法人成り。ゲストハウス2軒、焼肉店、カフェ、食品製造業を運営しています。詳細はこちらから