Ist es möglich, jedes geladene Modul zu finden, das ein bestimmtes Verhalten angenommen hat?Finden Sie alle Module, die das Verhalten übernommen haben
Ich baue eine sehr einfache Chat-Bot und ich möchte einige coole Befehle machen, aber um das zu erreichen, brauche ich eine Möglichkeit, mehrere Befehle zu implementieren, vorzugsweise ohne sie hart zu codieren.
Jeder Befehl wäre eine Funktion, die drei Parameter (message, author, chat_channel_ref) benötigt und true oder false zurückgibt, egal ob sie übereinstimmt oder nicht.
Wenn ich durch das Elixir-Tutorial stöbere, habe ich Behaviors gefunden, das meinen Bedürfnissen gut entsprechen kann, wenn ich alle Module finden könnte, die sie adoptiert haben. Hat jemand von euch das schon mal gemacht? Was könnte ich noch tun? Ich dachte auch über "Verwendung" nach (im Einsatz würde ich Code ausführen, um das aktuelle Modul zu einer vom Agenten gehaltenen Liste hinzuzufügen).
Wie viele davon werden Sie haben? Vielleicht ist es einfacher, eine Liste von ihnen irgendwo in Ihrem Quellcode zu führen, vielleicht in einer Supervisor-Spezifikation, und dann läuft jeder in einem separaten Prozess. –