当前位置: 首页 > article >正文

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

?>

http://www.kler.cn/a/536924.html

相关文章:

  • 【DeepSeek论文精读】3. DeepSeekMoE:迈向混合专家语言模型的终极专业化
  • 从 .NET Framework 升级到 .NET 8 后 SignalR 问题处理与解决方案
  • 自动化测试、压力测试、持续集成
  • 如何利用Python爬虫获取商品销量详情:应对eBay反爬策略的实战指南与代码示例
  • 复制粘贴小工具——Ditto
  • 如何在Arduino上使用NodeMCU
  • 【vscode源码】如何编译运行vscode及过程中问题解决
  • 在 Java 中使用 JDBC 连接数据库时,DriverManager 的主要作用是什么?请简要描述其工作原理。
  • Linux在x86环境下制作ARM镜像包
  • git代理设置
  • 65.棋盘 C#例子 WPF例子
  • 计算机考研复试上机02
  • 网安三剑客:DNS、CDN、VPN
  • 一文讲解Spring中事务的传播机制
  • vue组件间的数据传递:自定义输入组件(v-model/defineModel)
  • Android显示原理
  • SqlServer查看锁表与解锁
  • 零基础构建开源项目OpenIM桌面应用和pc web- Electron篇
  • 备赛蓝桥杯之第十五届职业院校组省赛第四题:多表单校验
  • Android开发签名校验
  • 新能源产业的质量革命:六西格玛培训如何重塑制造竞争力
  • uniapp实现人脸识别(不使用三方插件)
  • ISP代理与住宅代理的区别
  • MySQL——数据库的操作
  • 【重新认识C语言----文件管理篇】
  • 【面试场景】MySQL分布式主键选取