From e0a1545e0e028d5b06ff9c8cc87a95ce78b148ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=80=A7=E9=A9=8A?= Date: Sat, 7 Nov 2026 00:36:24 +0800 Subject: [PATCH] A step on a skill or a memory says which one MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The phone showed a bare 「刪除技能」 when 新 Bot deleted the test skill; save/use/delete skill, remember and forget now carry the name or the fact. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Uirha2RVfSYmrhqNnqx9Z4 --- src/appctl.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/appctl.rs b/src/appctl.rs index 988d804..ba35341 100644 --- a/src/appctl.rs +++ b/src/appctl.rs @@ -128,6 +128,10 @@ pub fn describe(name: &str, args: &str) -> String { "delete_routine" | "run_routine_now" => format!("#{}", v.get("id").and_then(Value::as_u64).unwrap_or(0)), "message_bot" => format!("給 {}:{}", s("bot"), s("text").chars().take(40).collect::()), "create_bot" | "update_bot" => s("name").to_string() + &s("bot"), + // Which skill (the phone showed a bare 「刪除技能」), and which memory. + "save_skill" | "use_skill" | "delete_skill" => s("name"), + "remember" => s("fact").chars().take(40).collect(), + "forget" => s("what"), n if crate::pages::NAMES.contains(&n) => crate::pages::describe(n, &v), _ => String::new(), } @@ -594,6 +598,14 @@ pub fn apply(state: &mut State, bot_id: u64, name: &str, args: &str) -> Outcome mod tests { use super::*; + #[test] + fn a_step_on_skills_and_memories_names_which() { + assert_eq!(describe("delete_skill", r#"{"name":"本地活動報名"}"#), "本地活動報名"); + assert_eq!(describe("use_skill", r#"{"name":"Threads 發文"}"#), "Threads 發文"); + assert_eq!(describe("remember", r#"{"fact":"之後都用自己的電腦"}"#), "之後都用自己的電腦"); + assert_eq!(describe("forget", r#"{"what":"2"}"#), "2"); + } + #[test] fn chat_sets_up_and_manages_routines() { let mut st = State::samples();