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

接上篇文章,笔者在写上篇文章时对青龙面板的消息通知功能感兴趣,遂实验之,于是有了这篇文章。
首先参考这篇文章在群聊中引入一个机器人,此时可以获得该机器人的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);
});

可以通过“脚本管理”页面调试运行查看结果,也可以通过添加一个定时任务来运行脚本。添加方式见下图:
在这里插入图片描述

上一篇:Electron 对 SQLite 进行加密


下一篇:14_Scala面向对象编程_属性