Elixir ATProtocol firehose & subscription listener
1defmodule ExampleRecordConsumer do 2 use Drinkup.RecordConsumer, collections: [~r/app\.bsky\.graph\..+/, "app.bsky.feed.post"] 3 4 def handle_create(record) do 5 IO.inspect(record, label: "create") 6 end 7 8 def handle_update(record) do 9 IO.inspect(record, label: "update") 10 end 11 12 def handle_delete(record) do 13 IO.inspect(record, label: "delete") 14 end 15end 16 17defmodule ExampleSupervisor do 18 use Supervisor 19 20 def start_link(arg \\ []) do 21 Supervisor.start_link(__MODULE__, arg, name: __MODULE__) 22 end 23 24 @impl true 25 def init(_) do 26 children = [ 27 {Drinkup, %{consumer: ExampleRecordConsumer}} 28 ] 29 30 Supervisor.init(children, strategy: :one_for_one) 31 end 32end