diff --git a/handlers/__init__.py b/handlers/__init__.py
index 639ecc3..78cdbbd 100644
--- a/handlers/__init__.py
+++ b/handlers/__init__.py
@@ -100,7 +100,7 @@ def wrap_handler(handler: T, bot: TeleBot) -> T:
     def wrapper(message: Message, *args: Any, **kwargs: Any) -> None:
         try:
             m = ""
-            if message.text == "/answer_it":
+            if message.text.find("answer_it") != -1:
                 # for answer_it no args
                 return handler(message, *args, **kwargs)
             elif message.text is not None:
diff --git a/handlers/useful.py b/handlers/useful.py
index e2b30f8..6becd86 100644
--- a/handlers/useful.py
+++ b/handlers/useful.py
@@ -66,7 +66,13 @@ def md_handler(message: Message, bot: TeleBot):
 def latest_handle_messages(message: Message, bot: TeleBot):
     """ignore"""
     chat_id = message.chat.id
-    chat_message_dict[chat_id] = message
+    # if is bot command, ignore
+    if message.text.startswith("/"):
+        return
+    elif message.text.startswith(("md", "chatgpt", "gemini", "qwen", "map", "github", "claude", "llama", "dify", "tts", "sd", "map", "yi")):
+        return
+    else:
+        chat_message_dict[chat_id] = message
 
 
 def answer_it_handler(message: Message, bot: TeleBot):