mostro_client/cli/
adm_send_dm.rs1use crate::cli::Context;
2use crate::parser::common::{
3 create_emoji_field_row, create_field_value_header, create_standard_table,
4};
5use crate::util::messaging::get_admin_keys;
6use crate::util::send_admin_gift_wrap_dm;
7use anyhow::Result;
8use nostr_sdk::prelude::*;
9
10pub async fn execute_adm_send_dm(receiver: PublicKey, ctx: &Context, message: &str) -> Result<()> {
11 let admin_keys = get_admin_keys(ctx)?;
13
14 println!("👑 Admin Direct Message");
15 println!("═══════════════════════════════════════");
16 let mut table = create_standard_table();
17 table.set_header(create_field_value_header());
18 table.add_row(create_emoji_field_row(
19 "🔑 ",
20 "Admin Keys",
21 &admin_keys.public_key().to_hex(),
22 ));
23 table.add_row(create_emoji_field_row(
24 "🎯 ",
25 "Recipient",
26 &receiver.to_string(),
27 ));
28 table.add_row(create_emoji_field_row("💬 ", "Message", message));
29 println!("{table}");
30 println!("💡 Sending admin gift wrap message...\n");
31
32 send_admin_gift_wrap_dm(&ctx.client, admin_keys, &receiver, message).await?;
33
34 println!(
35 "✅ Admin gift wrap message sent successfully to {}",
36 receiver
37 );
38
39 Ok(())
40}