1. 소개
이전 기사에서는 중국어, 영어를 구현하는 WeChat 공개 플랫폼의 번역 기능 개발에 대해 소개했습니다. , 일본어 번역은 실생활에서도 사용할 수 있습니다. 다음 글에서는 심심할 때 당신과 대화하고 행복하게 해줄 수 있는 챗봇이라는 좀 더 흥미로운 기능을 완성해보겠습니다.
2. 아이디어 분석
이 실험에서는 공식 Little Yellow Chicken(www.The simsimi.com/에서 제공하는 API와 Xiaojiu 로봇(www.xiaojo.com/)의 웹페이지 크롤링이 결합되어 서로 보완됩니다. 심심이는 유료이지만 7일간 테스트해볼 수 있고 매일 100개의 답글을 무료로 사용할 수 있다. 샤오지우 로봇은 공식적으로 차단되지 않은 경우에만 제한 없이 사용할 수 있다.
3. Little Yellow Chicken API 분석
3.1 API 및 URL
공식 API 주소:developer.simsimi.com/api
요청 URL: sandbox.api.simsimi.com/request.p
여기서는 무료 버전을 사용하여 테스트하고 있으며, 유료버전은 비슷하고, URL주소만 다릅니다.
3.2 요청 예시 및 매개변수 설명
요청 예시:
sandbox.api.simsimi.com/request.p?key=your_trial_key&lc=en&ft=1.0&text=hi
매개변수 설명:
key: 적용된 API 키
lc: 언어 코드, 지원 언어. 중국어 간체는 ch, 중국어 번체는 zh, 영어는 en을 사용하세요. 자세한 내용은 개발자.simsimi.com/lclist
ft를 참조하세요. 필터링 장치 설정 여부,
0.0: Unfiltered(욕설, 성적인 내용 포함)
1.0: 야만적인 단어 필터링(현재 한국어만 지원)
text: 요청됨 text
3.3 반환 값 분석
결과: 실행 결과 반환 코드
100-OK.
400-잘못된 요청.
401- 승인되지 않음
404-찾을 수 없음
500-서버 오류
id : 답글의 메시지 ID(결과=100인 경우에만 사용 가능한 항목)
response: 답글의 메시지 ID(결과=100인 경우에만 사용 가능한 항목)
msg : 실행 결과 반환 코드에 해당하는 상태
4. Little Yellow Chicken API Key 획득
4.1 심시미 계정 등록
URL:developer.simsimi.com/signUp
4.2 계정 활성화
4.3 API 키 얻기
5. 구체적인 구현
5.1 Little Yellow Chicken API 구현 호출
심심($keyword) 호출 "귀하의 API 키"를 적용된 API 키로 처리하고 교체하는 기능입니다.
//小黄鸡 public function simsim($keyword){ $key="41250a68-3cb5-43c8-9aa2-d7b3caf519b1"; $url_simsimi="http://sandbox.api.simsimi.com/request.p?key=".$key."&lc=ch&ft=0.0&text=".$keyword; $json=file_get_contents($url_simsimi); // 把整个文件读入一个字符串中 $result=json_decode($json,true); // 对JSON 格式的字符串进行编码 //$errorCode=$result['result']; // 调试用 $response=$result['response']; // 回复的消息 if(!empty($response)){ return $response; }else{ $ran=rand(1,5); switch($ran){ case 1: return "小鸡鸡今天累了,明天再陪你聊天吧。"; break; case 2: return "小鸡鸡睡觉喽~~"; break; case 3: return "呼呼~~呼呼~~"; break; case 4: return "你话好多啊,不跟你聊了"; break; case 5: return "感谢您关注【卓锦苏州】"."\n"."微信号:zhuojinsz"."\n"."卓越锦绣,万代不朽"; break; default: return "感谢您关注【卓锦苏州】"."\n"."微信号:zhuojinsz"."\n"."卓越锦绣,万代不朽"; break; } } }
참고:
때때로 작은 노란색 닭이 응답하지 않기 때문에 $인 경우 simsim() 함수에 판단이 추가됩니다. response가 비어 있지 않으면 $response가 반환됩니다. $response가 비어 있으면 요청에 응답할 수 있도록 사용자 지정 메시지로 무작위로 응답할 수 있는 작은 코드가 추가됩니다.
5.2 Xiaojiu Robot을 호출하여 구현
Xiaojiu Robot은 API를 제공하지 않으므로 웹 페이지를 통해서만 크롤링할 수 있습니다.
//小九机器人 public function xiaojo($keyword){ $curlPost=array("chat"=>$keyword); $ch = curl_init();//初始化curl curl_setopt($ch, CURLOPT_URL,'http://www.xiaojo.com/bot/chata.php');//抓取指定网页 curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_HEADER, 0);//设置header curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上 curl_setopt($ch, CURLOPT_POST, 1);//post提交方式 curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost); $data = curl_exec($ch);//运行curl curl_close($ch); if(!empty($data)){ return $data; }else{ $ran=rand(1,5); switch($ran){ case 1: return "小鸡鸡今天累了,明天再陪你聊天吧。"; break; case 2: return "小鸡鸡睡觉喽~~"; break; case 3: return "呼呼~~呼呼~~"; break; case 4: return "你话好多啊,不跟你聊了"; break; case 5: return "感谢您关注【卓锦苏州】"."\n"."微信号:zhuojinsz"."\n"."卓越锦绣,万代不朽"; break; default: return "感谢您关注【卓锦苏州】"."\n"."微信号:zhuojinsz"."\n"."卓越锦绣,万代不朽"; break; } } }
5.3 Double Dragon Playing with Phoenix
위의 작은 노란색 닭과 Xiaojiu 로봇을 통합할 수도 있습니다. 구체적인 코드는 다음과 같습니다.
//双龙戏凤 public function chatter($keyword){ $curlPost=array("chat"=>$keyword); $ch = curl_init(); //初始化curl curl_setopt($ch, CURLOPT_URL,'http://www.xiaojo.com/bot/chata.php'); //抓取指定网页 curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_HEADER, 0); //设置header curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //要求结果为字符串且输出到屏幕上 curl_setopt($ch, CURLOPT_POST, 1); //post提交方式 curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost); $data = curl_exec($ch); //运行curl curl_close($ch); if(!empty($data)){ return $data." [/::)小九]"; }else{ return $this->simsim($keyword)." [simsim/::D]"; } }
6. 테스트
[관련 추천]
1. WeChat 공개 계정 플랫폼 소스 코드 다운로드
위 내용은 WeChat 공개 플랫폼에서 개발한 Little Yellow Chicken API의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!