refactor: apply BaseSlashCommand to all 54 command implementations
- implements SlashCommand -> extends BaseSlashCommand (all 54 files) - Replace CommandUtils.parseArgs/args null checks -> args(args) - Replace agentLoop null checks -> requireAgentLoop(context)/noSession() - Replace context.agentLoop().getToolContext() -> toolCtx(context) - Replace CommandUtils.success/error/header/subtitle/warning/info -> instance methods - Remove unused CommandUtils/AnsiStyle imports where applicable - 87 tests passing, zero compilation errors Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
简单的天气查询脚本
|
||||
使用OpenWeatherMap API
|
||||
"""
|
||||
|
||||
import requests
|
||||
import sys
|
||||
|
||||
def get_weather(api_key, city="Beijing", units="metric"):
|
||||
"""
|
||||
获取指定城市的天气
|
||||
"""
|
||||
url = "http://api.openweathermap.org/data/2.5/weather"
|
||||
|
||||
params = {
|
||||
"q": city,
|
||||
"appid": api_key,
|
||||
"units": units,
|
||||
"lang": "zh_cn"
|
||||
}
|
||||
|
||||
try:
|
||||
response = requests.get(url, params=params, timeout=10)
|
||||
data = response.json()
|
||||
|
||||
if data.get("cod") != 200:
|
||||
print(f"错误: {data.get('message', '未知错误')}")
|
||||
return None
|
||||
|
||||
return data
|
||||
except Exception as e:
|
||||
print(f"请求失败: {e}")
|
||||
return None
|
||||
|
||||
def main():
|
||||
# 请在这里输入您的API密钥
|
||||
API_KEY = "YOUR_API_KEY_HERE"
|
||||
|
||||
if API_KEY == "YOUR_API_KEY_HERE":
|
||||
print("请先获取OpenWeatherMap API密钥:")
|
||||
print("1. 访问 https://openweathermap.org/api")
|
||||
print("2. 注册免费账户")
|
||||
print("3. 获取API密钥并替换代码中的 'YOUR_API_KEY_HERE'")
|
||||
print("\n免费套餐:每天60次调用")
|
||||
return
|
||||
|
||||
# 查询城市(可以修改为您所在的城市)
|
||||
city = input("请输入城市名称(英文,如 Beijing, Shanghai, New York): ").strip()
|
||||
if not city:
|
||||
city = "Beijing"
|
||||
|
||||
print(f"\n正在查询 {city} 的天气...")
|
||||
|
||||
weather_data = get_weather(API_KEY, city)
|
||||
|
||||
if weather_data:
|
||||
print(f"\n=== {weather_data['name']} 天气 ===")
|
||||
print(f"温度: {weather_data['main']['temp']}°C")
|
||||
print(f"体感温度: {weather_data['main']['feels_like']}°C")
|
||||
print(f"天气: {weather_data['weather'][0]['description']}")
|
||||
print(f"湿度: {weather_data['main']['humidity']}%")
|
||||
print(f"风速: {weather_data['wind']['speed']} m/s")
|
||||
print(f"气压: {weather_data['main']['pressure']} hPa")
|
||||
else:
|
||||
print("无法获取天气数据")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user