ぬるぬる備忘録

主にシステム系の備忘録とか雑記とかです。備えよう。

ここにきてDiscordのBot作成(Discord4J with Java11)

こんばんは、またしても久しぶりです。
最近プライベートではDiscordを使うことが多いのですが、ふとBotってどう作るんだろうと思ったので作ってみることにしました。 最近はずっとJava触ってましたので、Discord4JというJavaのDiscordライブラリを使いました。 ついでに最近リリースされたのでJDK11でやりました。(11でやる必要ある??)

始める前に

触る前に作ってみた系の記事をいくつか呼んだのですが、ローカルで動かすのがメインの記事が多く全体の動きがよく分からなかったので今のイメージを簡単にまとめました。

f:id:null256:20181008024103p:plain
discord botのイメージ図(手書き)

すごい簡単に書くと上のような仕組みだと思うんですが、合ってます...よね?
Discordの管理画面でbotの登録・トークンの発行をすることで自分で作ったbotのプログラムや、APIにサーバに投げるリクエストが認証通せるようになるという感じですよね、多分。

実際に組んで

正直言うと、下記のQiitaの記事やGitHubのREADME.md

このあたりを読めば簡単に実装できましたので、僕が特筆することもなかったので詰まったところのみ残しておこうかなと思います。(記事書いていただいている方、分かりやすくて助かりました~ありがとうございます!)

MavenでバージョンをJava11指定するとビルドパスが「アンバインド」されてエラー

Discord4J 関係ないやんけ!という感じですが。。
自分でAdoptOpenJDKの11をインストールした上で、設定の「インストール済みJRE」でそのJDKのパスを追加してあげると直りました。
しかし、、IDEはEclipse2018-09のPleiadesを使っていたのですが、この中にもAdoptOpenJDKの11は入っているんですよね、上記の操作でエラーが取れるのはなんか納得行かない。。

感想

f:id:null256:20181008033403p:plain
ハロ―ワールド

思った以上に簡単に出来るんだな~と思いました。あとJavaでやっといてあれですが、この手の処理はスクリプト言語みたいな軽めな言語でやったほうが良さそうだなと思いました。DBに値落とすわけでもないし、イチbotでそこまでデカい実装にもならないんじゃないかなと思ったので。
あと、おすすめの居酒屋とか流してくれるbot作ろうかなと思ってたんですけど、全く同じ発想のものを作ってる人などいて、やっぱ思いつくよなぁ~という感じです。

後追いで、どっかにデプロイしたりもしたいなと思います。ではでは。