DanConwayDev on Nostr: Just one: ```rust fn get_first_proposal_event_id() -> Result<nostr::EventId> { // get ...
Just one:
```rust
fn get_first_proposal_event_id() -> Result<nostr::EventId> {
// get proposal id of first
let client = Client::default();
Handle::current().block_on(client.add_relay("ws://localhost:8055"))?;
Handle::current().block_on(client.connect_relay("ws://localhost:8055"))?;
let proposals = Handle::current().block_on(client.get_events_of(
vec![
nostr::Filter::default()
.kind(nostr::Kind::GitPatch)
.custom_tag(
nostr::SingleLetterTag::lowercase(nostr::Alphabet::T),
vec!["root"],
),
],
nostr_sdk::EventSource::relays(Some(Duration::from_millis(1000))),
))?;
Handle::current().block_on(client.disconnect())?;
let proposal_1_id = proposals
.iter()
.find(|e| {
e.tags
.iter()
.any(|t| t.as_vec()[1].eq(&FEATURE_BRANCH_NAME_1))
})
.unwrap()
.id;
Ok(proposal_1_id)
}
```
Published at
2024-08-28 18:13:06Event JSON
{
"id": "d834ad96552edef5f622bb5e77c51879fec9d93965a743008714528444973712",
"pubkey": "a008def15796fba9a0d6fab04e8fd57089285d9fd505da5a83fe8aad57a3564d",
"created_at": 1724868786,
"kind": 1,
"tags": [
[
"e",
"114fa5d71f1d504833f880f5e16f83a7c915aceb04744007987842205382dd1d",
"",
"root"
],
[
"e",
"3894e7d9d14fd452a6089e2b9afc88e6f597212a5fc42b02c789c2144abb9d9e"
],
[
"e",
"7d0332c94d163b8bf3cd85a0dda4c4ff54eea4136db723cc77204d5c5114cb14",
"",
"reply"
],
[
"p",
"a008def15796fba9a0d6fab04e8fd57089285d9fd505da5a83fe8aad57a3564d"
],
[
"p",
"68d81165918100b7da43fc28f7d1fc12554466e1115886b9e7bb326f65ec4272"
],
[
"a",
"30617:68d81165918100b7da43fc28f7d1fc12554466e1115886b9e7bb326f65ec4272:rust-nostr"
],
[
"r",
"e.tags"
],
[
"r",
"t.as"
]
],
"content": "Just one:\n```rust\n\nfn get_first_proposal_event_id() -\u003e Result\u003cnostr::EventId\u003e {\n // get proposal id of first\n let client = Client::default();\n Handle::current().block_on(client.add_relay(\"ws://localhost:8055\"))?;\n Handle::current().block_on(client.connect_relay(\"ws://localhost:8055\"))?;\n let proposals = Handle::current().block_on(client.get_events_of(\n vec![\n nostr::Filter::default()\n .kind(nostr::Kind::GitPatch)\n .custom_tag(\n nostr::SingleLetterTag::lowercase(nostr::Alphabet::T),\n vec![\"root\"],\n ),\n ],\n nostr_sdk::EventSource::relays(Some(Duration::from_millis(1000))),\n ))?;\n Handle::current().block_on(client.disconnect())?;\n\n let proposal_1_id = proposals\n .iter()\n .find(|e| {\n e.tags\n .iter()\n .any(|t| t.as_vec()[1].eq(\u0026FEATURE_BRANCH_NAME_1))\n })\n .unwrap()\n .id;\n Ok(proposal_1_id)\n}\n```",
"sig": "d74c1d002d6404c04de91709de2fd37cd6ecc649cfeb41058d1d206e730342ca891dec9da65f5c9a09c804ce242270425e72214079295cfc26f0f4a40b10f37e"
}