Herokuでは、ここ2年ほどで無料のdynoに関して変遷がありましたが、今はアカウント毎に毎月所定の時間のdyno hourを割り当てるということに落ち着いたようです。
Twitterでリプライやフォローバックをリアルタイムで自動でしようと思うと、Streaming APIを利用するのが効率的ですが、Streaming APIを毎日24時間モニタするには24時間*31日のdyno hourをworkerで消費します。
無料分でやろうと思うと1つが限度ですね。
でも、もしもボットがCPUもメモリもそれほど食わないなら、フリーのdynoには512MBのメモリと4core-8threadのCPUが味方ですから、複数のボットを1つのdynoで動かせるはずです。
その方法をご紹介します。
使用言語はPythonを仮定しました。
1. PythonのForemanクローン、honchoを使う。
Herokuアプリの基本になるProcfileは以下のようになります。
worker: honcho -f ProcfileHoncho start
(*ProfileHochoは任意のファイル名です)
2. 続いてProcfileHonchoに動かしたいボットアプリを記述します。
mimiaka1846: python3 mimiaka/stream.py retweet_ramen: python3 retweet_ramen/retweeter.py
(*注
mimiaka1846は私が運営している耳赤サイト用アカウントmimiaka1846の自動フォローバックアプリです。
retweet_ramenは私が運営しているラーメンなう。(@retweet_ramen)の自動リツイートアプリです。)
Python3を使いましたのでruntime.txtは以下の通りです。
python-3.6.0
後は、それぞれのアプリをコーディングして、使用したパッケージ情報まとめたrequirements.txtを用意すれば完了です。
CPUパワーとメモリが許す限り、ProcfileHonchoに何個アプリを追加しても、消費する無料dyno hourは変わりません。