こんにちは。ひぃです。
discordjsもある程度理解できたということで書き始めた「discord botの作り方」の第6回です。
今回は最終回ということで、作ったbotを今後改修していく時のアイディアやコツなんかを書いていきます。
◇環境
node: 16.13.2
discordjs: 14.7.1
- 第1回「botの登録」
- 第2回「Replitでbotを起動する」
- 第3回「スラッシュコマンドの実装」
- 第4回「新機能の設計と下準備(リアクションハンドラの作成)」
- 第5回「inviteコマンドの実装」
- 第6回「24時間運用していくために」
6.24時間運用していくために
改善点を整理する
めっちゃ大事なポイントです。
新機能の開発でも既存機能の改修でも、『どういうことをしたいのか』を明確にしましょう。
やはりまずは『24時間起動していて、いつでも使えるbot』にすることが多いかなと思います。
他にも、自分のサーバで不便な所があってそれをサポートしてくれる機能が欲しい!という人もいるでしょう。
自分がそうだったように、サーバで運用してみると自分で「この辺り不便だな」と感じる所があったり、メンバーから「こういう機能があるともっと便利だと思う!」とフィードバックがあるかもしれません。
まずはこの『何がしたいか』をちゃんと言語化できるレベルまで整理しましょう。
目的を達成する為の手段を考える
目的ができたら、今度はその為の手段を考えましょう。
プログラマ的に言うなら『設計』ですね。
第4回では目指したい具体像があった上での設計でしたが、自分で全てやる時は手段が沢山あるんじゃないかと思います。
色んな手段を検討して、それぞれの手段のメリットやデメリットを整理して、自分にあった手段を詰めていきましょう!
それこそ24時間運用する為の手段は沢山あるんじゃないかなと思います。
24時間運用する為に必要なこと
本題ですね。
24時間運用……つまりは常時稼働する為に必要なのは、botを動かし続けるサーバです。
サーバにbotのソースコードを置いて稼働させることを『デプロイ』と言います。
正確には設置するだけを指してた気もしますが、現在では設置すると自動で起動してくれる所が殆どじゃないでしょうか。
そして、そのサーバを探す所がメインの作業になるんじゃないでしょうか。
これらのサービスのことをPaaSとかSaaSって言います。
どちらもXXX as a Serviceの略称で、どこまでやってくれるのか(≒どこまで自分がやらなきゃいけないのか)によって呼称が変わります。
もちろん、既に自分のサーバを持ってる人はそこでOKです。 自分のサーバ持ってるような人はこの記事読んでない気もしますが。
先日までHerokuというサービスが無料で使えて、初心者にもわかりやすくて、DBまで無料で使えちゃう最強サービスだったんですけどね。
2022年11月末で無料プランの提供が終了してしまいました。
僕もそうでしたが、趣味プログラマはもう阿鼻叫喚。
逆に言えば、『Heroku 代替』とかでググるとオススメPaaSサービス紹介!みたいな記事も出てくるんじゃないでしょうか。
そういう所を見ながら、自分にあったサービスを探しましょう。
極論、月額15$くらい払う余裕があるならHerokuでいいと思います。
自分はFly.ioというサービスを使っています。
Herokuから移行した時の記事もあるので、良かったら参考にしてください。
Discordjsで作ったbotをHerokuからFly.ioに移行した話 - ひぃの雑多書き
最後に
趣味でプログラミングを続ける最大のポイントは、『とにかく楽しくやる!』ことと『Google検索力を上げる!』ことだと思ってます。
やっぱり自分一人じゃわからないことって沢山あると思うんですね。
そういうことに出会った時に、色々ググって正解を引っ張ってこれる力はとにかく大事です。
あとは、どうしてもわかんない時はコミュニティで訊くとか。
でも、コミュニティで訊く場合は『何をしたいか』『現状どうなってるのか』『どこまで調べたのか』を明確にしておきましょう。
「募集コマンド作りたいんですけど、何かよくわかんないエラーが出ます!助けて!」とか最悪ですね。
最終的には諦めることも大事だったりします。
時間が経つことで、例えば新たなサービスが出てきて解決見込めたり、他の実装してるうちに自分の技術力が上がってわかるようになったりするかも。
とにかく楽しく続けられれば、自然と技術力は上がっていくと思います!
所謂『講座』というレベルで丁寧な記事は書かないと思いますが、自分もお手製botのソースコードを整理がてら公開していこうと思ってます。良ければ参考にしてください!
それでは、楽しいdiscordjsライフを!