個人開発で作成したアプリを手っ取り早く無料で認知拡大させるには、やっぱりTwitterですよね。とはいえ毎日ツイートを考えて投稿するのはなかなか骨が折れると思います。ということで、投稿の自動化をすべく今回はbotを作ってみました。 ※本記事で利用するツールは一部利用料金がかかる可能性があります。次章で公式へのURL付きで簡単に説明しています。
今回はTwitter API v2とHerokuを使った方法をご紹介しますが、残念ながらTwitter API v2では以前利用できた機能が一部有料版の機能となったり、Herokuについては月額利用料金がかかってしまったりで、そのまま使えないかもしれませんが詳しくは公式情報参考にしつつその点だけご留意いただいた上でご覧ください。
以前は無料版で多くの機能が使えましたが、現行の無料版では基本的には投稿・削除機能のみが利用可能で、投稿上限は1,500ツイート/月となっています。詳しくは公式でご確認ください。
Herokuも無料で使えることから個人開発者の間で重宝されてきましたが、現在ではローエンドのプランも有料となってしまいました。こちらも詳しくは公式をご確認ください。
ということで幸先が良いスタートではありませんが、botを公開するまでの手順については大きく以下の通りです。
今回はPythonでbotを作成しますが、Rust、PHP、JavaScript等でも作成可能です。
そもそもTwitter APIとは、ですが「Twitterアプリケーションを使うことなく、ツイート・いいね・リツイート等の情報を取得・投稿できるサービス」です。なお、API利用にともないv1とv2の2種類がありますが、v1は非推奨となりました。また、v2についても、これまでEssential, Elevated, Academic Reseachの3種類がありましたが、こちらも非推奨となりましたのでこの記事は無料で利用可能なv2(Free)の利用について解説します。ちなみに、Freeの他にはBasicとEnterpriseがいずれも有料です。
pip install tweepy
.env
ファイル等用意しておいた方が良いと思います。tweepy.Client()
にキーを入れ、client
変数に格納します。これで認証させる感じです。tweet
関数を作ります。create_tweet
メソッドの引数に投稿したい文字列を入力します。それでは実行してみましょう。
鳴きましたね。
最後に作成したPythonファイルをHerokuにデプロイします。上のようにPythonファイルを作っただけではローカルからしか投稿ないので、Herokuが提供しているHeroku SchedulerというAdd-on機能を利用して定期的にPythonファイルを実行(自動投稿)する仕組みを作りましょう。
tweet_sample.py
ファイルがアクセスできる状態にしておく必要があります。そのために、HerokuとGitHubが同期されている必要がありますがその設定方法はこちらの記事でまとめていますので別途確認ください。実行コマンドまで入力が完了したらこれで「Job」の設定は完了です。v2 Freeの投稿上限は1,500ツイート/月のため、1時間毎のツイートであれば上限値に引っかからなそうですね。Tweepyを使えばとても簡単にbotを作ることができますね。ただし、短いスパンで同じ内容を繰り返し投稿しようとすると、Twitter側にはねられる可能性があるようです。無料枠の範囲内でプログラム側でランダムにorユニークな投稿をする仕組みを工夫して作ってみてください。
よろしければこちらの記事も参考にしてみてください。
Loading...