QQ机器人天气查询插件开发教程

教你写一个简单的天气查询插件,群友发"天气 北京"就能查。

功能说明

  • 支持全国城市天气查询
  • 返回温度、天气、风力等信息
  • 支持未来3天预报

开发思路

// 插件入口
function 天气插件($消息) {
    $内容 = $消息->内容;

    // 解析命令:天气 城市名
    if (preg_match('/^天气\s+(.+)$/u', $内容, $匹配)) {
        $城市 = $匹配[1];
        $结果 = 获取天气($城市);
        $消息->群($结果);
    }
}

获取天气数据

使用和风天气API,免费版够用。

function 获取天气($城市) {
    $apiKey = '你的API Key';
    $url = "https://api.qweather.com/v7/weather/now?location={$城市}&key={$apiKey}";

    $响应 = file_get_contents($url);
    $数据 = json_decode($响应, true);

    if ($数据['code'] == '200') {
        $现在 = $数据['now'];
        return "🌤 {$城市}天气\n" .
               "温度:{$现在['temp']}℃\n" .
               "天气:{$现在['text']}\n" .
               "风力:{$现在['windDir']} {$现在['windScale']}级\n" .
               "湿度:{$现在['humidity']}%";
    }

    return "未找到该城市天气信息";
}

注册插件

在框架配置中注册你的插件:

{
    "plugins": {
        "天气查询": {
            "enabled": true,
            "prefix": "天气",
            "description": "查询指定城市天气"
        }
    }
}

效果展示

群友发送:

天气 北京

机器人回复:

🌤 北京天气
温度:28℃
天气:晴
风力:南风 2级
湿度:45%

注意事项

  1. API Key需要注册获取
  2. 免费版有调用次数限制
  3. 城市名要用中文全称
  4. 建议加缓存避免重复请求

源码已上传GitHub,欢迎Star。