from src.do_tool.tool_can_use.base_tool import BaseTool
from src.common.logger import get_module_logger
from typing import Dict, Any
from datetime import datetime

logger = get_module_logger("get_time_date")


class GetCurrentDateTimeTool(BaseTool):
    """获取当前时间、日期、年份和星期的工具"""

    name = "get_current_date_time"
    description = "当有人询问或者涉及到具体时间或者日期的时候，必须使用这个工具"
    parameters = {
        "type": "object",
        "properties": {},
        "required": [],
    }

    async def execute(self, function_args: Dict[str, Any], message_txt: str = "") -> Dict[str, Any]:
        """执行获取当前时间、日期、年份和星期

        Args:
            function_args: 工具参数（此工具不使用）
            message_txt: 原始消息文本（此工具不使用）

        Returns:
            Dict: 工具执行结果
        """
        current_time = datetime.now().strftime("%H:%M:%S")
        current_date = datetime.now().strftime("%Y-%m-%d")
        current_year = datetime.now().strftime("%Y")
        current_weekday = datetime.now().strftime("%A")

        return {
            "name": "get_current_date_time",
            "content": f"当前时间: {current_time}, 日期: {current_date}, 年份: {current_year}, 星期: {current_weekday}",
        }
