diff --git a/.config/ai/scpt b/.config/ai/scpt index 69a235a..7c62782 160000 --- a/.config/ai/scpt +++ b/.config/ai/scpt @@ -1 +1 @@ -Subproject commit 69a235a0aa7c9965de1d76a70f35099fcdcbedf5 +Subproject commit 7c6278292f57410de103fb7b9b0fa92989cab14a diff --git a/src/bot.rs b/src/bot.rs index d8ebdd8..7508287 100644 --- a/src/bot.rs +++ b/src/bot.rs @@ -46,6 +46,7 @@ pub fn c_bot(c: &Context) { cid_root = &n[i].record.reply.as_ref().unwrap().root.cid; uri_root = &n[i].record.reply.as_ref().unwrap().root.uri; } + let check_cid_comment = w_cid(cid_root.to_string(), log_file(&"c1"), false); let mut text = ""; if !n[i].record.text.is_none() { @@ -423,6 +424,34 @@ pub fn c_bot(c: &Context) { .await; println!("{}", str_rep); w_cid(cid.to_string(), log_file(&"n1"), true); + } else if check_cid_comment == true && handle == &admin { + println!("admin:{}", admin); + let output = Command::new(data_scpt(&"ai")) + .arg(&"atproto").arg(&"comment") + .arg(&handle) + .arg(&did) + .arg(&cid) + .arg(&uri) + .arg(&cid_root) + .arg(&uri_root) + .arg(&host) + .arg(&avatar) + .arg(&prompt_sub) + .output() + .expect("zsh"); + let d = String::from_utf8_lossy(&output.stdout); + let d = d.to_string(); + let text_limit = c_char(d); + let str_rep = reply::post_request( + text_limit.to_string(), + cid.to_string(), + uri.to_string(), + cid_root.to_string(), + uri_root.to_string(), + ) + .await; + println!("{}", str_rep); + w_cid(cid.to_string(), log_file(&"n1"), true); } else if { com == "sh" || com == "/sh" } && handle == &admin { println!("admin:{}", admin); let output = Command::new(data_scpt(&"ai")) @@ -565,7 +594,10 @@ pub fn c_bot_feed(c: &Context) { let uri_root = uri; let check_cid = w_cid(cid.to_string(), log_file(&"n1"), false); let check_cid_run = w_cid(cid.to_string(), log_file(&"n2"), false); - + let mut avatar = "".to_string(); + if let Some(v) = &n[i].post.author.avatar { + avatar = v.to_string(); + } let mut text = ""; if !n[i].post.record.text.is_none() { text = &n[i].post.record.text.as_ref().unwrap(); @@ -950,6 +982,35 @@ pub fn c_bot_feed(c: &Context) { .await; println!("{}", str_rep); w_cid(cid.to_string(), log_file(&"n1"), true); + } else if { com == "comment" || com == "/comment" } && handle == &admin { + println!("admin:{}", admin); + let output = Command::new(data_scpt(&"ai")) + .arg(&"atproto").arg(&"comment") + .arg(&handle) + .arg(&did) + .arg(&cid) + .arg(&uri) + .arg(&cid_root) + .arg(&uri_root) + .arg(&host) + .arg(&avatar) + .arg(&prompt_sub) + .output() + .expect("zsh"); + let d = String::from_utf8_lossy(&output.stdout); + let d = d.to_string(); + let text_limit = c_char(d); + let str_rep = reply::post_request( + text_limit.to_string(), + cid.to_string(), + uri.to_string(), + cid_root.to_string(), + uri_root.to_string(), + ) + .await; + println!("{}", str_rep); + w_cid(cid.to_string(), log_file(&"n1"), true); + w_cid(cid_root.to_string(), log_file(&"c1"), true); } else if com == "quiz" || com == "/quiz" { println!("admin:{}", admin); let output = Command::new(data_scpt(&"ai")) diff --git a/src/data.rs b/src/data.rs index 540a36d..c4a8505 100644 --- a/src/data.rs +++ b/src/data.rs @@ -34,6 +34,7 @@ pub fn log_file(s: &str) -> String { match &*s { "n1" => f + &"notify_cid.txt", "n2" => f + &"notify_cid_run.txt", + "c1" => f + &"comment_cid.txt", _ => f + &s, } }