![見出し画像](https://assets.st-note.com/production/uploads/images/47788354/rectangle_large_type_2_21a22c026a8ab37b6f162f8661f669c5.png?width=1200)
Twitter bot「AI小説家」ができるまで②~完結編~
はじめに
Twitter bot「AI小説家」ができるまで①の後半です。
ここでは、webサーバーに、ツイートデータおよび、bot用のコードを上げる作業についてざっくりと説明していきます。
まず、私がサーバー周りを初めて手をつけたとき下のような疑問点を持っていました。
・なぜwebサーバーにアップロードするの?
→ botは24時間常に運用する必要があるため、PCの電源を常時ONにするのは電気代の面などから非効率だから。(Webサーバーの場合、一度動かせば手動で止めるまでひたすら動き続けます。)
・できれば、お金かけたくないんだけど?
→ 無料でも、Twitterのbotを運用できます。
おそらく、みなさんも同じような疑問を抱いているんじゃないかなぁと、思います。
そこで、今回は、お金をかけずにTwitter Bot を運用するフローについて、大雑把に書いていきます。
完成すると、こんな感じになります。
Twitter: @AI_writer77
用意するもの
・botでツイートするデータ(前回のnoteで作成したデータストック)
・Twitter API key
・pythonファイル
・Heroku
・途中であきらめない強い気持ち
毎回のごとく、①のデータ調整が最大の難関です。用意したcsv ファイルを読み込めるように整理する作業を行います。具体的なこととして、
・改行をしない
・空白(スペースを空けない)
・ルビを消す
など、データの調整が大変です。不具合があると、すぐエラーを吐きます。対策として、pythonや Excelで一気に修正するなどして頑張ってください。こればかりは、根気が必要です。
2つ目の「Twitter API key」の入手については、python からTwitterを動かすため、各種APIキーが必要になります。各自、用意してください。
最後に、今回使う「Heroku」です。無料枠で月450時間使えます。また、クレジット登録をすると、月に1000時間までの枠を利用できます。
おすすめとしては、実際にクレジット登録なしで試してみてから判断されるのがいいと思います。
ちなみに24時間×30日で720時間あれば常時運用できます。(つまり、クレジット登録すれば24時間、365日可能)
工程
魔法の言葉:なにかエラーが出たときや、動かないときは、
heroku logs
でエラー原因を探しましょう
① Heroku CLI をダウンロード&インストールします
② Herokuにログイン
③ Heroku上にプロセスを作成し、git経由でファイルを更新します(初回のみ)
heroku create
git add .
git commit -m "**"
git push heroku master
以降の更新の際は、このコマンドでファイルを上書きします。
git add .
git commit -m "**"
git push heroku master
注意する点
Herokuを使う上で、次のファイルが必要になります。
・Procfile
・requirements.txt
・runtime.txt
・csvファイル
・botを動かすpythonプログラム
その中でも、requirements.txt では、ライブラリのバージョンを指定します。(例:tweepy==3.8.0)
このとき、使いたいバージョンがheroku上だと使えない場合もあるので、その時は、都度 ” heroku logs ” でエラーを修正しましょう。
runtime.txt では、(例:python-3.6.13)のように、Pythonのバージョンを指定します。
Procfile では、Heroku上で動かすpythonファイルの指定をします。
その際に、一定時間ごとに、ツイートするpythonファイルを指定しましょう
④ 最後に、Heroku のサイト上から、Resourcesタブから、鉛筆マークのボタンをクリックし、プログラムを稼働させます。(私は、ここで引っ掛かりました)
おわりに
Herokuを使ったTwitter Bot の運用フローをざっくりと書きました。
希望があれば、pythonコードも載せようかと思います。
Webサーバーの知識0の私でも、2~3時間で公開までできたので、もしTwitter Bot の作成に興味のある方は試してみてはどうでしょうか?
では、また。
この記事が気に入ったらサポートをしてみませんか?