diff options
Diffstat (limited to 'lib/nola/plugins.ex')
-rw-r--r-- | lib/nola/plugins.ex | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/lib/nola/plugins.ex b/lib/nola/plugins.ex index b0c3ce3..7872cd6 100644 --- a/lib/nola/plugins.ex +++ b/lib/nola/plugins.ex @@ -1,6 +1,38 @@ defmodule Nola.Plugins do require Logger + @builtins [ + Nola.Plugins.Account, + Nola.Plugins.Alcoolog, + Nola.Plugins.AlcoologAnnouncer, + Nola.Plugins.Base, + Nola.Plugins.Boursorama, + Nola.Plugins.Buffer, + Nola.Plugins.Calc, + Nola.Plugins.Coronavirus, + Nola.Plugins.Correction, + Nola.Plugins.Dice, + Nola.Plugins.Finance, + Nola.Plugins.Gpt, + Nola.Plugins.KickRoulette, + Nola.Plugins.LastFm, + Nola.Plugins.Link, + Nola.PLugins.Logger, + Nola.Plugins.Preums, + Nola.Plugins.QuatreCentVingt, + Nola.Plugins.RadioFrance, + Nola.Plugins.Say, + Nola.Plugins.Script, + Nola.Plugins.Seen, + Nola.Plugins.Sms, + Nola.Plugins.Tell, + Nola.Plugins.Txt, + Nola.Plugins.Untappd, + Nola.Plugins.UserMention, + Nola.Plugins.WolframAlpha, + Nola.Plugins.YouTube, + ] + defmodule Supervisor do use DynamicSupervisor require Logger @@ -11,7 +43,7 @@ defmodule Nola.Plugins do def start_child(module, opts \\ []) do Logger.info("Starting #{module}") - spec = %{id: {__MODULE__,module}, start: {__MODULE__, :start_link, [module, opts]}, name: module, restart: :transient} + spec = %{id: {Nola.Plugins,module}, start: {Nola.Plugins, :start_link, [module, opts]}, name: module, restart: :transient} case DynamicSupervisor.start_child(__MODULE__, spec) do {:ok, _} = res -> res :ignore -> @@ -58,6 +90,10 @@ defmodule Nola.Plugins do end end + def declare_all_builtins do + for b <- @builtins, do: declare(b) + end + def start(module, opts \\ []) do __MODULE__.Supervisor.start_child(module) end |