使用图灵机器人api搭建微信聊天机器人php实现

Posted gracexu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用图灵机器人api搭建微信聊天机器人php实现相关的知识,希望对你有一定的参考价值。

之前通过hook技术实现了微信pc端发送消息功能,如果在结合图灵机器人就能实现微信聊天机器人。

代码下载:http://blog.yshizi.cn/131.html

逻辑如下:
技术图片

下面我简单介绍一下步骤。

  1. 首先,你需要下载我的微信助手,下载地址请参考我的博客文章:
    通过对微信pc hook实现微信助手
  2. 申请图灵机器人,并认证。申请地址,使用api接入并获取apikey(详细请参考图灵机器人官网) 。
  3. 使用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
微信助手配置如下:
技术图片
然后就可撩机器人。
技术图片

以上是关于使用图灵机器人api搭建微信聊天机器人php实现的主要内容,如果未能解决你的问题,请参考以下文章

用wxBot和图灵机器人API实现微信群聊机器人

Python如何使用图灵的API Key搭建聊天机器人?

如何在本地通过weixin4j api和第三方图灵机器人API 搭建java聊天机器人

题目:用python3实现微信聊天机器人

图灵机器人API,适用于微信微博QQ群智能硬件等

微信公众号接入图灵机器人实现自动回复消息