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%
注意事项
- API Key需要注册获取
- 免费版有调用次数限制
- 城市名要用中文全称
- 建议加缓存避免重复请求
源码已上传GitHub,欢迎Star。