defmodule NostrApp.Subscribe do
require Logger
alias Nostr.Client
def to_profile(public_key) do
case Client.subscribe_profile(public_key) do
{:ok, _} -> Logger.info("Subscribed to #{inspect(public_key)}'s profile")
{:error, message} -> Logger.warn(message)
end
end
def to_contacts(public_key) do
case Client.subscribe_contacts(public_key) do
{:ok, _} -> Logger.info("Subscribed to #{inspect(public_key)}'s contact list")
{:error, message} -> Logger.warn(message)
end
end
def to_note(note_id) do
case Client.subscribe_note(note_id) do
{:ok, _} -> Logger.info("Subscribed to this note: #{inspect(note_id)}")
{:error, message} -> Logger.warn(message)
end
end
def to_notes(public_keys) do
case Client.subscribe_notes(public_keys) do
{:ok, _} -> Logger.info("Subscribed to notes from: #{inspect(public_keys)}")
{:error, message} -> Logger.warn("#{inspect(message)}")
end
end
def to_encrypted_direct_messages(private_key) do
case Client.encrypted_direct_messages(private_key) do
{:ok, _} -> Logger.info("Subscribed to #{inspect(private_key)}'s encrypted messages")
{:error, message} -> Logger.warn("#{inspect(message)}")
end
end
def to_reactions(public_keys) do
case Client.subscribe_reactions(public_keys) do
{:ok, _} -> Logger.info("Subscribed to #{inspect(public_keys)}'s reactions")
{:error, message} -> Logger.warn("#{inspect(message)}")
end
end
def to_deletions(public_keys) do
case Client.subscribe_deletions(public_keys) do
{:ok, _} -> Logger.info("Subscribed to #{inspect(public_keys)}'s deletions")
{:error, message} -> Logger.warn("#{inspect(message)}")
end
end
def to_reposts(public_keys) do
case Client.subscribe_reposts(public_keys) do
{:ok, _} -> Logger.info("Subscribed to #{inspect(public_keys)}'s reposts")
{:error, message} -> Logger.warn("#{inspect(message)}")
end
end
end