使用图灵机器人api搭建微信聊天机器人php实现
之前通过hook技术实现了微信pc端发送消息功能,如果在结合图灵机器人就能实现微信聊天机器人。
代码下载:http://blog.yshizi.cn/131.html
逻辑如下:
下面我简单介绍一下步骤。
- 首先,你需要下载我的微信助手,下载地址请参考我的博客文章:
。 - 申请图灵机器人,并认证。,使用api接入并获取apikey(详细请参考图灵机器人官网) 。
-
使用php实现访问图灵机器人api。
php实现代码如下:<?php
class tuling123
{
private $apikey;
private $secret;
private $text;
private $userid = 1;
private $selfinfo = '';public function __construct($apikey, $userid, $selfinfo){
$this->apikey = $apikey; $this->secret = $secret; $this->userid = $userid; $this->selfinfo = $selfinfo;
}
public function tuling($text, $raw = false){
$this->text = $text; $param = [ 'perception' => [ 'inputtext' => [ 'text' => $this->text, ], 'selfinfo' => $this->selfinfo ], 'userinfo' => [ 'apikey' => $this->apikey, 'userid' => $this->userid, ] ]; $result = json_decode('['.$this->post('http://openapi.tuling123.com/openapi/api/v2',json_encode($param)).']',true); return $raw ? $result : $result[0]['results'][0]['values']['text'];
}
private function post($url,$data){
$curl = curl_init(); curl_setopt($curl, curlopt_post, 1); curl_setopt($curl, curlopt_header, 0); curl_setopt($curl, curlopt_postfields, $data); curl_setopt($curl, curlopt_returntransfer, true); curl_setopt($curl, curlopt_timeout, 500); curl_setopt($curl, curlopt_ssl_verifypeer, true); curl_setopt($curl, curlopt_ssl_verifyhost, 2); curl_setopt($curl, curlopt_url, $url); $result = curl_exec($curl); curl_close($curl); return $result;
}
}
?>
tuling.php
这段代码主要是封装图灵机器人api
<?php require __dir__.'/tuling.php'; /** * 获取 post 参数; 在 content_type 为 application/json 时,自动解析 json * @return array */ function initpostdata() { if (empty($_post)) { $content = file_get_contents('php://input'); $post = (array)json_decode($content, true); } else { $post = $_post; } return $post; } $selfinfo = [ 'location' => [ 'city' => '广州' ] ]; header('content-type:application/json'); $post = initpostdata(); $userid=$post['wxid']; $content=$post['content'];
//str_replace("","","$userid") 将去除""的微信id作为图灵机器人的用户id,因为图灵机器人用户id不能含""
$data = new tuling123('您的图灵机器人apikey',str_replace("","","$userid"),$selfinfo);
$result = $data->tuling($content);
$json['wxid'] = $userid; $json['content'] = $result; echo json_encode($json,json_unescaped_unicode); ?>
wechatrobot.php
之前将这两个文件发布服务器。发布之后的wechatrobot.php文件访问地址即使微信助手接口地址。
如我的发布后地址是:http://blog.yshizi.cn/wechatrobot.php
微信助手配置如下:
然后就可撩机器人。
上一篇: Spfa
下一篇: nodejs调取微信收货地址的方法