1
0

add bot comment system
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s

This commit is contained in:
syui 2024-04-25 14:25:43 +09:00
parent 840320d0d2
commit f9092134af
Signed by: syui
GPG Key ID: 5417CFEBAD92DF56
3 changed files with 65 additions and 2 deletions

@ -1 +1 @@
Subproject commit 69a235a0aa7c9965de1d76a70f35099fcdcbedf5 Subproject commit 4d90d5a9d155f13ae0b09cc825bdeb468406bf9b

View File

@ -46,6 +46,7 @@ pub fn c_bot(c: &Context) {
cid_root = &n[i].record.reply.as_ref().unwrap().root.cid; cid_root = &n[i].record.reply.as_ref().unwrap().root.cid;
uri_root = &n[i].record.reply.as_ref().unwrap().root.uri; uri_root = &n[i].record.reply.as_ref().unwrap().root.uri;
} }
let check_uri_comment = w_cid(uri_root.to_string(), log_file(&"c1"), false);
let mut text = ""; let mut text = "";
if !n[i].record.text.is_none() { if !n[i].record.text.is_none() {
@ -423,6 +424,34 @@ pub fn c_bot(c: &Context) {
.await; .await;
println!("{}", str_rep); println!("{}", str_rep);
w_cid(cid.to_string(), log_file(&"n1"), true); w_cid(cid.to_string(), log_file(&"n1"), true);
} else if check_uri_comment == true {
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_chat)
.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 { } else if { com == "sh" || com == "/sh" } && handle == &admin {
println!("admin:{}", admin); println!("admin:{}", admin);
let output = Command::new(data_scpt(&"ai")) let output = Command::new(data_scpt(&"ai"))
@ -514,6 +543,35 @@ pub fn c_bot(c: &Context) {
.await; .await;
println!("{}", str_rep); println!("{}", str_rep);
w_cid(cid.to_string(), log_file(&"n1"), true); w_cid(cid.to_string(), log_file(&"n1"), true);
} else if { com == "comment" || com == "/comment" } && handle == &admin && check_uri_comment == false {
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_chat)
.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(uri_root.to_string(), log_file(&"c1"), true);
} else { } else {
// openai // openai
let str_openai = openai::post_request(prompt_chat.to_string()).await; let str_openai = openai::post_request(prompt_chat.to_string()).await;
@ -565,7 +623,10 @@ pub fn c_bot_feed(c: &Context) {
let uri_root = uri; let uri_root = uri;
let check_cid = w_cid(cid.to_string(), log_file(&"n1"), false); 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 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 = ""; let mut text = "";
if !n[i].post.record.text.is_none() { if !n[i].post.record.text.is_none() {
text = &n[i].post.record.text.as_ref().unwrap(); text = &n[i].post.record.text.as_ref().unwrap();
@ -950,6 +1011,7 @@ pub fn c_bot_feed(c: &Context) {
.await; .await;
println!("{}", str_rep); println!("{}", str_rep);
w_cid(cid.to_string(), log_file(&"n1"), true); w_cid(cid.to_string(), log_file(&"n1"), true);
} else if com == "quiz" || com == "/quiz" { } else if com == "quiz" || com == "/quiz" {
println!("admin:{}", admin); println!("admin:{}", admin);
let output = Command::new(data_scpt(&"ai")) let output = Command::new(data_scpt(&"ai"))

View File

@ -34,6 +34,7 @@ pub fn log_file(s: &str) -> String {
match &*s { match &*s {
"n1" => f + &"notify_cid.txt", "n1" => f + &"notify_cid.txt",
"n2" => f + &"notify_cid_run.txt", "n2" => f + &"notify_cid_run.txt",
"c1" => f + &"comment_cid.txt",
_ => f + &s, _ => f + &s,
} }
} }