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

?>
相关推荐
执明wa13 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio
404_coder13 小时前
源码视角下的 Android 开机流程:从 Zygote、SystemServer 到 Launcher
android
二流小码农14 小时前
鸿蒙开发:以登录案例了解代码架构MVVM
android·ios·harmonyos
用户693717500138414 小时前
从代码生产者到 AI 协作者:软件工程师的角色重构
android·前端·后端
GitLqr15 小时前
别在 Flutter 的 main() 里乱锁屏幕方向,小心 iPad 分屏功能被你搞没了
android·flutter·ios
sg_knight15 小时前
MySQL 存储过程详解:从入门到实战
android·数据库·mysql·database·dba·关系型数据库·db
爱笑鱼15 小时前
Binder(四):ioctl(BINDER_WRITE_READ) 之后,事务怎样到达目标进程?
android
AFinalStone15 小时前
Android 7系统休眠唤醒(二)开机全链路—BootROM到Launcher
android·电源管理·休眠唤醒
Mr YiRan15 小时前
Android NDK开发之统计到未被回收的图片
android