chore: Returns the relays that successfully received the event on NostrClient::send_event_to
Signed-off-by: Awiteb <a@4rs.nl>
This commit is contained in:
@@ -82,14 +82,18 @@ impl NostrClient {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Sends an event to the specified relays.
|
/// Broadcasts an unsigned event to given relays, optionally broadcast the
|
||||||
|
/// relays list event. Returns URLs of relays that successfully received
|
||||||
|
/// the event.
|
||||||
pub async fn send_event_to(
|
pub async fn send_event_to(
|
||||||
&self,
|
&self,
|
||||||
event: UnsignedEvent,
|
mut event: UnsignedEvent,
|
||||||
relays_list: Option<&Event>,
|
relays_list: Option<&Event>,
|
||||||
relays: &[RelayUrl],
|
relays: &[RelayUrl],
|
||||||
) -> N34Result<()> {
|
) -> N34Result<Vec<RelayUrl>> {
|
||||||
|
event.ensure_id();
|
||||||
self.add_relays(relays).await;
|
self.add_relays(relays).await;
|
||||||
|
let event_id = event.id.expect("It's there");
|
||||||
|
|
||||||
if let Some(event) = relays_list {
|
if let Some(event) = relays_list {
|
||||||
let _ = self.client.send_event_to(relays, event).await;
|
let _ = self.client.send_event_to(relays, event).await;
|
||||||
@@ -101,12 +105,13 @@ impl NostrClient {
|
|||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
for relay in &result.success {
|
for relay in &result.success {
|
||||||
tracing::info!(relay = %relay, "Event sent successfully");
|
tracing::info!(event_id = %event_id, relay = %relay, "Event sent successfully");
|
||||||
}
|
}
|
||||||
for (relay, reason) in &result.failed {
|
for (relay, reason) in &result.failed {
|
||||||
tracing::warn!(relay = %relay, reason = %reason, "Failed to send event");
|
tracing::warn!(event_id = %event_id, relay = %relay, reason = %reason, "Failed to send event");
|
||||||
}
|
}
|
||||||
Ok(())
|
|
||||||
|
Ok(result.success.into_iter().collect())
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Try to fetch a repository and returns it
|
/// Try to fetch a repository and returns it
|
||||||
|
|||||||
Reference in New Issue
Block a user