GelotvBot.Bot (GeloTVBot v0.1.0)

Copy Markdown View Source

Supervised bot instance capable of broadcasting one command/message to many livestream targets concurrently.

Summary

Types

option()

@type option() ::
  {:name, GenServer.name()}
  | {:targets, [GelotvBot.Target.t()]}
  | {:max_concurrency, pos_integer()}
  | {:rate_limiter, GenServer.server()}
  | {:retry, keyword()}
  | {:adapter_opts, keyword()}

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

put_targets(bot, targets)

@spec put_targets(GenServer.server(), [GelotvBot.Target.t()]) :: :ok

send_all(bot, message, opts \\ [])

send_many(bot, messages, opts \\ [])

start_link(opts)

@spec start_link(keyword()) :: GenServer.on_start()

targets(bot)

@spec targets(GenServer.server()) :: [GelotvBot.Target.t()]

via(name)

@spec via(term()) :: GenServer.name()