【开发记录】青龙面板设置飞书机器人

接上篇文章,笔者在写上篇文章时对青龙面板的消息通知功能感兴趣,遂实验之,于是有了这篇文章。

首先参考这篇文章在群聊中引入一个机器人,此时可以获得该机器人的webhook。在青龙面板的通知设置中有larkKey一项,填入webhook的最后一个/后面的内容(这也是飞书为每个机器人生成的特异性字段)。

生成的webhook可以通过post请求将内容转发到对应的群聊中,这一点与直接使用飞书创建机器人编写Event的方法不同,不需要一台可以公网访问的服务器,也即将服务器部署在局域网中即可。

可以通过下面的代码访问该webhook(xxxxxx内容需要替换为自己的内容):

bash 复制代码
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的环境变量,才能正确启动发送逻辑。

可以通过下面的脚本测试:

javascript 复制代码
// 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);
});

可以通过"脚本管理"页面调试运行查看结果,也可以通过添加一个定时任务来运行脚本。添加方式见下图:

相关推荐
それども5 小时前
Gradle 构建疑难杂症 Could not find netty-transport-native-epoll-linux-aarch_64.ja
java·服务器·gradle·maven
NightReader6 小时前
CPU 高使用率,怎么降下来
运维·服务器
开开心心就好7 小时前
免费流畅的远程控制实用工具
linux·运维·服务器·网络·智能手机·excel
代码熬夜敲Q9 小时前
ENSP 网络工程实验
linux·运维·服务器
銳昊城9 小时前
项目七: 配置与管理Web服务器(2) C2
运维·服务器
Muyuan19989 小时前
30.通过Claude code做项目系统测试
运维·服务器·人工智能·fastapi
yyuuuzz9 小时前
aws的核心概念与常见使用场景
运维·服务器·网络·云计算·aws
赵药师9 小时前
dpkg: warning: files list file for package ‘libselinux1:amd64‘ missing;
linux·运维·服务器
zt1985q9 小时前
本地部署开源内容管理系统 Typemill 并实现外部访问
运维·服务器·开源
ElevenS_it18810 小时前
网络没完全断但业务已经受影响:「灰色故障」排查的完整方法论
运维·服务器·网络