Elixir ATProtocol firehose & subscription listener
at main 773 B view raw
1defmodule PostDeleteConsumer do 2 use Drinkup.RecordConsumer, collections: ["app.bsky.feed.post"] 3 4 def handle_delete(record) do 5 IO.inspect(record, label: "update") 6 end 7end 8 9defmodule IdentityConsumer do 10 @behaviour Drinkup.Consumer 11 12 def handle_event(%Drinkup.Event.Identity{} = event) do 13 IO.inspect(event, label: "identity event") 14 end 15 16 def handle_event(_), do: :noop 17end 18 19defmodule ExampleSupervisor do 20 use Supervisor 21 22 def start_link(arg \\ []) do 23 Supervisor.start_link(__MODULE__, arg, name: __MODULE__) 24 end 25 26 @impl true 27 def init(_) do 28 children = [ 29 {Drinkup, %{consumer: PostDeleteConsumer}}, 30 {Drinkup, %{consumer: IdentityConsumer, name: :identities}} 31 ] 32 33 Supervisor.init(children, strategy: :one_for_one) 34 end 35end