core-lightning/plugins/examples/cln-subscribe-wildcard.rs

36 lines
808 B
Rust
Raw Normal View History

/// This plug-in subscribes to the wildcard-notifications
/// and creates a corresponding log-entry
use anyhow::Result;
use cln_plugin::{Builder, Plugin};
#[tokio::main]
async fn main() -> Result<()> {
let state = ();
let configured = Builder::new(tokio::io::stdin(), tokio::io::stdout())
.subscribe("*", handle_wildcard_notification)
.start(state)
.await?;
match configured {
Some(p) => p.join().await?,
None => return Ok(()) // cln was started with --help
};
Ok(())
}
async fn handle_wildcard_notification(_plugin: Plugin<()>, value : serde_json::Value) -> Result<()> {
let notification_type : String = value
.as_object()
.unwrap()
.keys()
.next()
.unwrap()
.into();
log::info!("Received notification {}", notification_type);
Ok(())
}