27 lines
543 B
Elixir
Executable File
27 lines
543 B
Elixir
Executable File
defmodule Discordirc do
|
|
@moduledoc """
|
|
Entrypoint
|
|
"""
|
|
use Application
|
|
|
|
alias Discordirc.IRC
|
|
|
|
def start(_type, _args) do
|
|
import Supervisor.Spec
|
|
|
|
ircnets =
|
|
Application.get_env(:discordirc, :networks)
|
|
|> Enum.map(fn net -> worker(IRC, [net], id: net.network) end)
|
|
|
|
children =
|
|
ircnets ++
|
|
[
|
|
Discordirc.DiscordHandler,
|
|
Discordirc.WebhookService
|
|
]
|
|
|
|
options = [strategy: :one_for_one, name: Discordirc.Supervisor]
|
|
Supervisor.start_link(children, options)
|
|
end
|
|
end
|