Skip to content

Commit ca9fdeb

Browse files
committed
added request all events
1 parent d7932b0 commit ca9fdeb

File tree

3 files changed

+32
-4
lines changed

3 files changed

+32
-4
lines changed

lib/examples/nostr_app/server.ex

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,14 @@ defmodule NostrApp.Server do
2121
{:ok, supervisor_pid} <- Nostr.Client.start_link() do
2222
connect_to_relays(relays)
2323

24+
{:ok, file} = File.open("/Users/roo/notes.json", [:write])
25+
2426
{
2527
:ok,
2628
%{args | private_key: binary_private_key}
2729
|> Map.put(:supervisor_pid, supervisor_pid)
2830
|> Map.put(:public_key, public_key)
31+
|> Map.put(:file, file)
2932
}
3033
else
3134
{:error, message} ->
@@ -202,7 +205,7 @@ defmodule NostrApp.Server do
202205

203206
@impl true
204207
def handle_cast({:global_notes}, socket) do
205-
Subscribe.to_kinds([1])
208+
Subscribe.to_kinds([0, 1, 3, 4, 6, 7, 9735])
206209

207210
{:noreply, socket}
208211
end
@@ -295,7 +298,22 @@ defmodule NostrApp.Server do
295298
end
296299

297300
@impl true
298-
def handle_info(event, socket) do
301+
def handle_info({_relay, _sub, event}, %{file: file} = socket) do
302+
# credo:disable-for-next-line
303+
contents =
304+
event
305+
|> Jason.encode!()
306+
307+
IO.binwrite(file, contents)
308+
IO.binwrite(file, "\n")
309+
310+
{:noreply, socket}
311+
end
312+
313+
@impl true
314+
def handle_info(%NostrBasics.Event{kind: 4, content: content} = event, socket) do
315+
# credo:disable-for-next-line
316+
# IO.puts("from #{relay}")
299317
# credo:disable-for-next-line
300318
IO.inspect(event)
301319

lib/nostr/client/relays/relay_socket/server.ex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,8 @@ defmodule Nostr.Client.Relays.RelaySocket.Server do
111111
end
112112

113113
@impl true
114-
def handle_call({:kinds, pubkeys, limit, subscriber}, _from, state) do
115-
{subscription_id, json} = Nostr.Client.Request.kinds(pubkeys, limit)
114+
def handle_call({:kinds, kinds, limit, subscriber}, _from, state) do
115+
{subscription_id, json} = Nostr.Client.Request.kinds(kinds, limit)
116116

117117
send(self(), {:subscription_request, state, subscription_id, json, subscriber})
118118

lib/nostr/client/request.ex

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,16 @@ defmodule Nostr.Client.Request do
3030
get_by_ids([id], @text_kind)
3131
end
3232

33+
def all(limit \\ 10) do
34+
request_id = generate_random_id()
35+
filter = %{limit: limit}
36+
json = request(request_id, filter)
37+
38+
atom_request_id = String.to_atom(request_id)
39+
40+
{atom_request_id, json}
41+
end
42+
3343
def kinds(kinds, limit \\ 10) when is_list(kinds) do
3444
request_id = generate_random_id()
3545
filter = %{kinds: kinds, limit: limit}

0 commit comments

Comments
 (0)