ホームページ  >  記事  >  バックエンド開発  >  PHP WeChat開発自動返信

PHP WeChat開発自動返信

不言
不言オリジナル
2018-04-19 09:48:494458ブラウズ

この記事の内容は、PHP WeChat 開発の自動返信に関するもので、必要な友達と共有します。

まず、キーワード返信テキストの内容です。 LaneWeChat/core/aes/wechatrequest.lib.php の下の text() メソッドにいくつかの変更を加える必要があります。コードは次のとおりです:

public static function text(&$request){
        // $content = '收到文本消息';
        // return ResponsePassive::text($request['fromusername'], $request['tousername'], $content);
        $mpid = $_GET['id'];
        $content = $request['content'];
        $where['mp_id'] = $mpid;
        $where['keyword'] = $content;
        $data = M('mp_reply_rule')->where($where)->find();
        if ($data) {
            $reply_id = $data['reply_id'];
            $type = $data['type'];
            if ($type == "text") {
                $reply = M('mp_reply_text')->find($reply_id);
                $reply_text = $reply['content'];
                return ResponsePassive::text($request['fromusername'],$request['tousername'],$reply_text);
            }else if($type == "image"){
                $reply = M('mp_reply_image')->find($reply_id);
                $media_id=$reply['media_id'];
                return ResponsePassive::image($request['fromusername'],$request['tousername'],$media_id);
            }else if($type == "news"){
                $reply = M('mp_reply_news')->find($reply_id);
                $item[] = ResponsePassive::newsItem($reply['title'],$reply['descrpition'],$reply['picurl'],$reply['url']);
                return ResponsePassive::news($request['fromusername'],$request['tousername'],$item);
            }
        }else{
            return 'success';
        }
    }

次に、バックエンド PHP コードの作成を開始します

public function replytext(){	
  	if(IS_GET){
  		$this->display();
  	}else{	
  		$content=I('post.content');
  		$keyword=I('post.keyword');
  		$data['content']=$content;
  		$reply_id=M('mp_reply_text')->add($data);
      if(isset($reply_id)){
        $mp=getCurrentMp();
        $data['mp_id']=$mp['id'];   
        $data['keyword']=$keyword; 
        $data['type']='text';                   
        $data['reply_id']=$reply_id;
                     // print_r($data);
                     // exit;
        M('mp_reply_rule')->add($data);
        $this->ajaxReturn(array('msg'=>'上传成功'));                        
      }else{
        $this->ajaxReturn(array('msg'=>'上传失败'));
      }
    }
  }

キーワードを入力し、フロントページに従ってコンテンツを返信できます

2. キーワードに基づいて画像に自動的に返信できます

LaneWeChat/core/aes/wechatrequest.lib.php の text() のメソッドに従って、返信のタイプを自動的に決定できます。そのタイプのみを PHP バックグラウンドで取得する必要があります。画像に自動的に返信するには、PHP で次のコードを記述します。

public function replyimage(){
  if(IS_GET){
      $this->display(); 
   }else{
    $url=I('post.url');//图片在本地服务器上的路径  
    $file=realpath('.' .$url);// 相对路径换位结对路径      
    $accessToken=getAccess_token();
    include APP_PATH .'LaneWeChat/lanewechat.php';
    $url="https://api.weixin.qq.com/cgi-bin/material/add_material?accessaccessToken&type=image";
    $data['media']='@' .$file;
    $ret=Curl::callWebServer($url,$data,'post',true,false);
    if(isset($ret['media_id'])){
         $mp=getCurrentMp();
         $data['url']=$url;
         $data['media_id']=$ret['media_id'];       
         $reply_id=M('mp_reply_image')->add($data);
         $keyword=I('post.keyword');
         if(isset($reply_id)){
           $mp=getCurrentMp();
           $data['mp_id']=$mp['id'];   
           $data['keyword']=$keyword; 
           $data['type']='image';                   
           $data['reply_id']=$reply_id;
           M('mp_reply_rule')->add($data);  
         $this->ajaxReturn(array('msg'=>'上传成功'));
      }else{
        $this->ajaxReturn(array('msg'=>'上传失败'));
      }
    }else{
        $this->ajaxReturn(array('msg'=>'上传失败')); 
      }
  }         
}

ただし、画像に返信するときは、返信する画像を事前にデータテーブルに格納しておく必要があるため、upload()メソッドもPHPで記述する必要があります。

3. キーワード

に基づいてテキストや画像のメッセージに返信することは、有効なフィールドを取得するために同じ方法でテキストや画像に返信することと同じです。

関連おすすめ:


PHP WeChat 開発 テキスト自動返信

PHP WeChat 開発 翻訳機能

PHP WeChat 開発 WeChat で選択された記事を取得

以上がPHP WeChat開発自動返信の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。