Java Discord Listener実装〜コマンドを好きなだけ追加しよう〜

イントロダクション

前回は「ping」と入力したら「pong」と返事するアプリケーションを作成しました。ので今回は「test」と入力したら「Hello World」という返事をするものにしました。

ポイント

前回は、リスナークラスをメインメソッド上で作成しましたが、これだとクラスを追加するたびにメインメソッドを修正する必要があるので良いコードとは言えません。※「保守性に欠ける」なんて言います。

保守性のアップ方法その1※今回はこれだけです。

クラスファイルを別に作成し別にする。
つまり、作成したクラスを単純に追加する。

/** 作成したクラス */
public class FirstCommand implements MessageCreateListener {
    public void onMessageCreate(DiscordAPI api, Message message) {
        // check the content of the message
        if (message.getContent().equalsIgnoreCase("test")) {
            // reply to the message
            message.reply("Hello World!");
        }
    }
}
// MessageListenerインターフェースを実装したクラスを追加
api.registerListener(new FirstCommand());

実行結果は下の様になりました。ソースはこちら

今回作成したリポジトリは以下です。

https://github.com/ZenryokuService/DiscordPrg.git

上記のリンクで Gitに飛ぶことができ、リポジトリからソースをチェックアウトできます。(Pullすると言います。)


Git関連

  1. Java Git clone in Eclipse 〜サンプルの取得〜
  2. Eclipse Gitリポジトリの取得 GitからソースをPullしよう〜
  3. IntelliJ IDEA GitGitリポジトリからクローン〜

関連ページ一覧

Eclipse セットアップ

  1. Java Install Eclipse〜開発ツールのインストール〜
  2. TensorFlow C++環境〜EclipseCDTをインストール〜
  3. Setup OpenGL with JavaJOGLを使う準備 for Eclipse
  4. Eclipse Meven 開発手順〜プロジェクトの作成〜
  5. Java OpenCV 環境セットアップ(on Mac)
  6. Eclipse SceneBuilderを追加する
  7. JavaFX SceneBuilder EclipseSceneBuilder連携~

Java Basic一覧

  1. Java Basic Level 1 〜Hello Java〜
  2. Java Basic Level2 〜Arithmetic Calculate〜
  3. Java Basic Level3 〜About String class〜
  4. Java Basic Level 4〜Boolean〜
  5. Java Basic Level 5〜If Statement〜
  6. Java Basic Summary from Level1 to 5
  7. Java Basic Level 6 〜Traning of If statement〜
  8. Java Basic Level8 〜How to use for statement〜
  9. Java Basic Level 8.5 〜Array〜
  10. Java Basic Level 9〜Training of for statement〜
  11. Java Basic Level 10 〜While statement 〜
  12. Java Basic Swing〜オブジェクト指向〜
  13. Java Basic Swing Level 2〜オブジェクト指向2〜
  14. サンプル実装〜コンソールゲーム〜
  15. Java Basic インターフェース・抽象クラスの作り方
  16. Java Basic クラスとは〜Step2_1〜
  17. Java Basic JUnit 〜テストスイートの作り方〜

投稿者:

takunoji

音響、イベント会場設営業界からIT業界へ転身。現在はJava屋としてサラリーマンをやっている。自称ガテン系プログラマー(笑) Javaプログラミングを布教したい、ラスパイとJavaの相性が良いことに気が付く。 Spring framework, Struts, Seaser, Hibernate, Playframework, JavaEE6, JavaEE7などの現場経験あり。 SQL, VBA, PL/SQL, コマンドプロント, Shellなどもやります。

コメントを残す