(LARGE COMMIT) refactored until no errors

This commit is contained in:
2026-03-01 14:15:55 +01:00
parent df7583263a
commit ed8904e26c
28 changed files with 322 additions and 289 deletions
+15 -24
View File
@@ -1,5 +1,7 @@
use crate::messages::send_dm;
use crate::{errln, lang, rs_println, Args};
use crate::db::env_vars::AssistantEnv;
use crate::db::terminal_args::Args;
use crate::messages::send_dm_min;
use crate::{errln, lang, rs_println};
use std::fs;
use std::ffi::CString;
@@ -9,7 +11,7 @@ use pyo3::prelude::*;
use pyo3::types::PyList;
pub async fn start(args: Args, lang_name: String) -> PyResult<()> {
pub async fn start(args: Args, lang_name: String, env_vars: AssistantEnv) -> PyResult<()> {
rs_println!("Running Python program...");
let args_str = serde_json::to_string(&args).expect("Error serializing args to JSON");
@@ -23,15 +25,12 @@ pub async fn start(args: Args, lang_name: String) -> PyResult<()> {
let py_args = args_str.replace(":true", ":True").replace(":false", ":False");
let app_path: CString;
unsafe {
app_path = CString::new(
format!("args = {}\nlang_name = \"{}\"\n{}",
py_args,
lang_name.clone(),
code
)
).unwrap();
}
app_path = CString::new(format!(
"args = {}\nlang_name = \"{}\"\n{}",
py_args,
lang_name,
code
)).unwrap();
let mut traceback: String = String::new();
let mut is_error = false;
@@ -57,19 +56,11 @@ pub async fn start(args: Args, lang_name: String) -> PyResult<()> {
});
if is_error {
let own_env = std::env::var("ASSISTANT_OWNERS").unwrap_or("0".to_string());
let own_vec_str: Vec<String> = own_env.split(",").map(String::from).collect();
let own_vec_u64: Vec<u64> = own_vec_str
.iter()
.map(|s| s.parse::<u64>().expect("Failed to parse ASSISTANT_OWNERS. Invalid syntax."))
.collect();
send_dm(
lang!("dc_msg_dm_python_err", format!("{}", traceback)),
args,
own_vec_u64
send_dm_min(
lang!("dc_msg_dm_python_err", traceback),
env_vars.token.clone(),
env_vars.bot_owners.clone()
).await;
errln!("pyO3: {}", traceback);
}