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

This commit is contained in:
2024-04-25 14:25:43 +09:00
parent 840320d0d2
commit bf31cf2a8f
5 changed files with 62 additions and 19 deletions

View File

@ -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_uri_comment = w_cid(uri_root.to_string(), log_file(&"c1"), false);
let mut text = "";
if !n[i].record.text.is_none() {
@ -96,11 +97,6 @@ pub fn c_bot(c: &Context) {
admin = c.string_flag("admin").unwrap();
}
let mut manga_uri = "".to_string();
if c.string_flag("manga_uri").is_ok() {
manga_uri = c.string_flag("manga_uri").unwrap();
}
let mut avatar = "".to_string();
if let Some(v) = &n[i].author.avatar {
avatar = v.to_string();
@ -423,6 +419,34 @@ pub fn c_bot(c: &Context) {
.await;
println!("{}", str_rep);
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 {
println!("admin:{}", admin);
let output = Command::new(data_scpt(&"ai"))
@ -486,10 +510,10 @@ pub fn c_bot(c: &Context) {
println!("{}", str_rep);
w_cid(cid.to_string(), log_file(&"n1"), true);
}
} else if uri_root == &manga_uri {
println!("manga_uri:{}", manga_uri);
} else if { com == "comment" || com == "/comment" } && { handle == &admin || handle == "yui.bsky.social" } && check_uri_comment == false {
println!("admin:{}", admin);
let output = Command::new(data_scpt(&"ai"))
.arg(&"atproto").arg(&"manga")
.arg(&"atproto").arg(&"comment")
.arg(&handle)
.arg(&did)
.arg(&cid)
@ -514,6 +538,7 @@ pub fn c_bot(c: &Context) {
.await;
println!("{}", str_rep);
w_cid(cid.to_string(), log_file(&"n1"), true);
w_cid(uri_root.to_string(), log_file(&"c1"), true);
} else {
// openai
let str_openai = openai::post_request(prompt_chat.to_string()).await;
@ -565,7 +590,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 +978,7 @@ pub fn c_bot_feed(c: &Context) {
.await;
println!("{}", str_rep);
w_cid(cid.to_string(), log_file(&"n1"), true);
} else if com == "quiz" || com == "/quiz" {
println!("admin:{}", admin);
let output = Command::new(data_scpt(&"ai"))