飞书自定义机器人

似乎是抄钉钉的。sign的生成方法删减了一点

飞书@的是user_id并不是手机号或者邮箱,user_id的获取方法可参考我的这个文章获取飞书的user_id_卖烤冷面的郭师傅的博客-CSDN博客飞书的user_id隐藏的极深。。。找了半天找不到,最后是询问客服后才知道的。1、点击头像——设置——关于飞书:连续点击飞书版本号五次2、点击头像——右键头像——点击copy_user_id即可获得自己的user_id...https://blog.csdn.net/qq_37172634/article/details/123996775

<?php

define('WEBHOOK_URL', "https://open.feishu.cn/open-apis/bot/v2/hook/");

class Feishu
{
    private $config;

    public function __construct($access_token = '', $secret = '')
    {
        if (!empty($access_token) && !empty($secret)) {
            $this->config = array(
                "token" => $access_token,
                "secret" => $secret
            );
        } else {
            $this->config = array(
                "token" => "a259e46c-2c1b-45a2-985e-36f094356451",
                "secret" => "FpB4tOaspHDpf4AnfZdljd"
            );
        }
    }

    public function send($msgtype = 'text', $msg = array(), $isAtAll = false, $atUids = array())
    {
        if (empty($msg)) {
            return "msgtype can't be empty.";
        }
        if ($msgtype == 'text') {
            $at = '';
            if (!empty($atUids)) {
                foreach ($atUids as $v) {
                    $at .= ('<at user_id="' . $v . '">test</at>');
                }
            }
            //如果是atall就都重置掉
            if ($isAtAll) {
                $at = ('<at user_id="all">所有人</at>');
            }
            if(!empty($at)){
                $msg = ($at . " " . $msg);
            }
        }
        $post = array(
            "msg_type" => $msgtype,
            "content" => array(
                $msgtype => $msg
            )
        );
        $post['timestamp'] = time();
        $str = $post['timestamp'] . "\n" . $this->config['secret'];
        $post['sign'] = base64_encode(hash_hmac('sha256', '', $str, true));
        $post_string = json_encode($post);
        return $this->requestByCurl($post_string);
    }

    private function requestByCurl($post_string)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, WEBHOOK_URL . $this->config['token']);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json;charset=utf-8'));
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        $data = curl_exec($ch);
        if (curl_getinfo($ch, CURLINFO_HTTP_CODE) >= 400) {
            return curl_getinfo($ch);
        }
        curl_close($ch);
        return $data;
    }


    public function sendText($msg, $atAll = false, $atUids = array())
    {
        return $this->send("text", $msg, $atAll, $atUids);
    }
}

和钉钉的机器人对比不能说一模一样,只能说完全一致😆😆

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值