之前通過hook技術實現了微信pc端發送消息功能,如果在結合圖靈機器人就能實現微信聊天機器人。 代碼下載:http://blog.yshizi.cn/131.html 邏輯如下: ![捕獲.jpg][1] 下麵我簡單介紹一下步驟。 1. 首先,你需要下載我的微信助手,下載地址請參考我的博客文章: [ ...
之前通過hook技術實現了微信pc端發送消息功能,如果在結合圖靈機器人就能實現微信聊天機器人。
代碼下載:http://blog.yshizi.cn/131.html
邏輯如下:
下麵我簡單介紹一下步驟。
- 首先,你需要下載我的微信助手,下載地址請參考我的博客文章:
通過對微信pc hook實現微信助手。 - 申請圖靈機器人,並認證。申請地址,使用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
微信助手配置如下:
然後就可撩機器人。