接上篇文章,笔者在写上篇文章时对青龙面板的消息通知功能感兴趣,遂实验之,于是有了这篇文章。
首先参考这篇文章在群聊中引入一个机器人,此时可以获得该机器人的webhook。在青龙面板的通知设置中有larkKey一项,填入webhook的最后一个/后面的内容(这也是飞书为每个机器人生成的特异性字段)。
生成的webhook可以通过post请求将内容转发到对应的群聊中,这一点与直接使用飞书创建机器人编写Event的方法不同,不需要一台可以公网访问的服务器,也即将服务器部署在局域网中即可。
可以通过下面的代码访问该webhook(xxxxxx内容需要替换为自己的内容):
curl -X POST -H "Content-Type: application/json" \
-d '{"msg_type":"text","content":{"text":"helloworld, this is 中国"}}' \
https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxx
现有版本(v2.17.4)存在一个问题,点击保存按钮之后只会发送一条测试消息,但此时青龙面板中部署的代码仍然不能正确发送通知,查询代码之后发现需要通过配置名为FSKEY的环境变量,才能正确启动发送逻辑。
可以通过下面的脚本测试:
// test.js
const axios = require('axios');
const url = 'https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxx';
const postData = {
msg_type: "text",
content: {
text: "helloworld, this is 中国"
}
};
axios.post(url, postData, {
headers: {
'Content-Type': 'application/json'
}
}).then(response => {
console.log('Response:', response.data);
}).catch(error => {
console.error('Error:', error);
});
可以通过“脚本管理”页面调试运行查看结果,也可以通过添加一个定时任务来运行脚本。添加方式见下图: