自定义飞书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;

?>
相关推荐
mmsx1 小时前
Android 本地优先的三级语义理解降级链
android·数码相机·策略模式
朱涛的自习室1 小时前
我让 Gemini 4 当高管、DeepSeek 当员工,开了一家软件公司(Day 1)
android·前端·人工智能
事圆则缓1 小时前
Android 中的 Socket 和 WebSocket:从一条聊天消息看清区别
android·websocket·网络协议
mmsx3 小时前
Android 流式对话实现:分层门面与 SSE 手工解析
android·github·sse
墨狂之逸才3 小时前
Android扫码异常排查小白教程
android
恋猫de小郭3 小时前
Kotlin 2.5 的 Companion 改造,对 KMP 的重要升级
android·前端·flutter
Kapaseker4 小时前
写了这么久 Kotlin,你真的理解 in、out 和 * 吗?
android·kotlin
小七在进步5 小时前
C++内存管理:new/delete vs malloc/free深度解析
android·java·c++
geovindu18 小时前
sql:Search-Optimized SQL Queries using mysql 9.0
android·数据库·sql·mysql·数据库开发·数据库架构
知之则吱吱20 小时前
Android 开发者验证机制迎来新变化:核心要求、实施时间与开发者应对指南
android·google