Das ist soweit korrekt.
Allerdings läuft command.run nicht asynchron, so dass getMessageList erst nach Ende des Kommandos ein Ergebnis bringt.
Ggf. musst du eben vorher per getServerJob den Job ermitteln um dann auf das Joblog dieses Job's zuzugreifen.

Auch liefert getMessageList nicht alle Nachrichten. Du musst da vorher die Anzahl festlegen.

Da du aber asynchron die Nachrichten auslesen willst, musst du in einem anderen Thread auf dein Command-Objekt zugreifen.
Ob das threadsicher ist, musst du probieren.