自定义飞书Webhook机器人api接口

自定义飞书Webhook机器人api接口

使用方法:

在网站目录新建一个名为api.php的文件,将以上代码粘贴进去即可

然后访问域名/api.php?title=洛小柒 - QQ沐编程&content=小柒祝大家新年快乐!&url=www.qqmu.com&type=1

title是标题

content是主体内容,支持html代码

url是点击按钮链接

type是卡片颜色,1是绿色,2是橙色,3是红色,没有值是黑色

效果截图

代码如下

php 复制代码
<?php
    function sendFeishuCardMessage($type,$title,$content) {
    // 飞书机器人的Webhook URL
    $webhookUrl = 'https://open.feishu.cn/open-apis/bot/v2/hook/405a03ae-8355-43ca-9422-a53181215ed6';
    // 示例调用
    $title = $_GET['title'] ?? '测试标题';// 标题
    $content = $_GET['content'] ?? '测试内容';// 内容
    $url = $_GET['url'] ?? '0';//按钮地址
    $type = $_GET['type']; // 可以是 'failure', 'warning', 'success'
    
    // 根据type变量设置卡片颜色和标题
    switch ($type) {
        case '3':
            $color = 'red';//红色
            $cardTitle = $title;
            break;
        case '2':
            $color = 'orange';//橙色
            $cardTitle = $title;
            break;
        case '1':
            $color = 'green';//绿色
            $cardTitle = $title;
            break;
        default:
            $color = 'grey';
            $cardTitle = $title;
            break;
    }

    // 构建卡片消息的JSON数据
    $data = [
        'msg_type' => 'interactive',
        'card' => [
            'config' => [
                'wide_screen_mode' => true,
                'enable_forward' => true
            ],
            'elements' => [
                [
                    'tag' => 'div',
                    'text' => [
                        'content' => $content,
                        'tag' => 'lark_md'
                    ]
                ],
                [
                    'tag' => 'action',
                    'actions' => [
                        [
                            'tag' => 'button',
                            'text' => [
                                'content' => '点击查看详情',//按钮文字
                                'tag' => 'plain_text'
                            ],
                            'type' => 'primary', // 按钮样式:primary(蓝色)、default(灰色)、danger(红色)
                            'url' => $url // 按钮点击后跳转的链接
                        ]
                    ]
                ]
            ],
            'header' => [
                'title' => [
                    'content' => $cardTitle,
                    'tag' => 'plain_text'
                ],
                'template' => $color
            ]
        ]
    ];

    // 发送HTTP POST请求
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $webhookUrl);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $response = curl_exec($ch);
    curl_close($ch);

    return $response;
}

$response = sendFeishuCardMessage($type, $title, $content);
echo $response;

?>
相关推荐
JMchen1233 小时前
Android UDP编程:实现高效实时通信的全面指南
android·经验分享·网络协议·udp·kotlin
落笔画忧愁e3 小时前
腾讯云轻量服务器 + OpenClaw 部署全攻略:从购买到飞书接入
服务器·飞书·腾讯云
黄林晴4 小时前
Android 17 再曝猛料:通知栏和快捷设置终于分家了,这操作等了十年
android
有位神秘人4 小时前
Android获取设备中本地音频
android·音视频
JMchen1234 小时前
Android网络安全实战:从HTTPS到双向认证
android·经验分享·网络协议·安全·web安全·https·kotlin
CS创新实验室4 小时前
Pandas 3 的新功能
android·ide·pandas
ujainu4 小时前
护眼又美观:Flutter + OpenHarmony 鸿蒙记事本一键切换夜间模式(四)
android·flutter·harmonyos
三少爷的鞋5 小时前
为什么我不在 Android ViewModel 中直接处理异常?
android
草莓熊Lotso6 小时前
Linux 文件描述符与重定向实战:从原理到 minishell 实现
android·linux·运维·服务器·数据库·c++·人工智能
恋猫de小郭6 小时前
Flutter Zero 是什么?它的出现有什么意义?为什么你需要了解下?
android·前端·flutter