2020-04-17 更新
15号机器人自动退群了,hook可能是qq的测试功能,emmm
今天看见群友发了个这玩意,觉得新鲜就拿来瞧瞧了,虽然说是官方机器人,但是还不是很好用,没有获取信息(或信息推送)接口,拿不到信息,只能发信息....
https://web.qun.qq.com/qunrobot/data.html?robot_uin=2854196399&_wwv=128&_wv=3
点开后添加到群聊,手机打开群->群机器人->HOO!K->推送消息->生成。就可以看到webhook地址了,下面还有官方的调用示例。
附上Hook机器人API的PHP类
来源:权那他
地址:https://krait.cn/major/2025.html
<?php
/**
* Class HOOK_ROBOT
* author 权那他
* date 2020/04/09
* update 2020/04/12
*/
class HOOK_ROBOT
{
public static $_instance;
public static $httpApi;
public static $message;
/**
* @param $array
*/
public static function setApi($array)
{
//hookrobot_api build
self::$httpApi = $array["api"] . "?" . http_build_query($array["query"]);
self::init();
}
/**
* 初始化
* 看腾讯hookrobot后续会新加啥
*/
public static function init()
{
//这样是为了兼容后续腾讯hookrobot会增加参数
self::$message = array(
"content" => array()
);
}
/**
* 设置单实例
* @param HOOK_ROBOT $hook
*/
public static function set(HOOK_ROBOT $hook)
{
self::$_instance = $hook;
}
/**
* 获取单实例
* @return HOOK_ROBOT
*/
public static function get()
{
if (empty(self::$_instance)) {
die("Exception: Single instance is not set");
}
return self::$_instance;
}
/**
* @param $msg
* @param int $type 目前是0,可能后续腾讯hookrobot会有新增加
*/
public static function setMsg($msg, $type = 0)
{
self::$message["content"][] = array(
"type" => $type,
"data" => $msg
);
}
/**
* 发送
* 第一个是http代号,测试出一直是500
* 第二个是api返回的内容,现在一直是null
* @return array
*/
public static function send()
{
$json = json_encode(self::$message);
// encode 后,就初始化msg
self::init();
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, self::$httpApi);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER,
array(
'Content-Type: application/json; charset=utf-8',
'Content-Length: ' . strlen($json)
)
);
ob_start();
curl_exec($ch);
$return_content = ob_get_contents();
ob_end_clean();
return array(
curl_getinfo($ch, CURLINFO_HTTP_CODE),
$return_content
);
}
}
// hookrobot new 对象,set 单实例
$hook = new HOOK_ROBOT();
$hook->setApi(
array(
//hookrobot_api
"api" => "https://app.qun.qq.com/cgi-bin/api/hookrobot_send",
//这样做是为了后续腾讯hookrobot更新的新参数
"query" => array(
// 这里是 key,自己改成自己群hook的key
"key" => "13256478748454846856496768"
)
)
);
HOOK_ROBOT::set($hook);
//调用方法 1
//这里添加消息内容 可以多次调用
HOOK_ROBOT::setMsg("test 1");
HOOK_ROBOT::setMsg("test 2");
// 最后,添加消息完后,发送
HOOK_ROBOT::send();
//或则 打印返回的内容
var_dump(HOOK_ROBOT::send());
//调用方法 2
// 可以获取hookrobot单实例,类比上面的set
$hook = HOOK_ROBOT::get();
$hook->setMsg("get test 1");
$hook->setMsg("get test 2");
$hook->send();
本文作者:风雪,转载时请注明本文出处:https://www.fxnetw.com/72.html
Qicloud
2020-04-16 Windows10 / Chrome 回复
这个好像凉了
风雪作者
2020-04-17 Windows10 / Chrome 回复
15号机器人就自动退群了...
七年
2020-04-22 Windows10 / Chrome 回复
::(捂嘴笑)我才写完易语言的 就凉了