欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-28 19:10:51
之前通过hook技术实现了微信pc端发送消息功能,如果在结合图灵机器人就能实现微信聊天机器人。 代码下载:http://blog.yshizi.cn/131.html 逻辑如下: ![捕获.jpg][1] 下面我简单介绍一下步骤。 1. 首先,你需要下载我的微信助手,下载地址请参考我的博客文章: [ ......

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

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

逻辑如下:
使用图灵机器人api搭建微信聊天机器人php实现

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

  1. 首先,你需要下载我的微信助手,下载地址请参考我的博客文章:
  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实现
然后就可撩机器人。
使用图灵机器人api搭建微信聊天机器人php实现