必要な知識
- 使いたいプログラムの基礎
ボットを動かすだけであれば、プログラム学習サイトなどで基礎レベルを使えるようになれば十分
必要な環境
少なくとも、以下のどれかの環境が必要になります。
- ローカル仮想サーバー
- レンタルサーバー
- クラウド型ホスティング(PaaSなど)
そして、ボットを動かす条件として
- 使用するプログラム言語が動くこと
- SSLでの通信が可能なこと
以上が最低限必要になります。
※サーバーのopensslのバージョンが古いと、後述の「setwebhook」が上手く通らないことがあります。なかなか気づきにくい部分でしばらくハマったので、ご注意ください。
ローカルで開発する場合
開発環境を構築するのに学習コストがかかりますが、開発中にサーバー代が発生しないので、これから開発しようと考えている方は、一度ローカル開発環境を構築しておくといいと思います。
ドットインストールの「ローカル開発環境の構築」が参考になりました。Windows編、Mac編
ただし、ボットを動かすには外部との通信が必要になるので、オフラインでの動作確認はできないのでご注意ください。(シミュレーターがあればいいのですが今のところ未確認です)
- ローカル開発環境構築
Vagrantなどで環境が作れればOK - ローカル開発環境を外部公開する
ngrokなどを使うことで可能です
レンタルサーバーで開発する場合
既にSSLを使用可能なレンタルサーバーを持っている場合は、こちらの方法が一番簡単にボットを動かせます。
特にエックスサーバーは、2016年6月30日から全サーバープランで独自SSLが無料・無制限に利用可能になったので、導入までのハードルがかなり低くなっていると思います。
クラウド型ホスティングサービスで開発する場合
アクセスの増加などにフレキシブルに対応できるのが、クラウド型ホスティングサービスの強みです。
最近、日本でも情報が広まってきたHerokuなら、月550時間(クレジットカード登録で+450時間)の稼働制限はありますが、無料プランもあるので試しに動かすにはいいと思います。