其实所谓的翻译回复,其实本质页还是文本回复,就是根据我们代码控制,如果他是来让我们翻译功能的话,我们就拿到要翻译的内容,然后根据百度翻译接口请求翻译内容,根据接口返回的翻译完后的内容,然后把该内容通过文本回复方式把内容回复给请求者!代码实现如下:
$content = $postObj->Content;
if(strstr($content, '翻译一')){ //翻译一 汉译英
$words = explode('翻译一',$content);
$translateWord = $words[1];
$to = 'en';
$from = 'zh';
$content = '翻译';
}
if(strstr($content, '翻译二')){ //翻译二 英译汉
$words = explode('翻译二',$content);
$translateWord = $words[1];
$from = 'en';
$to = 'zh';
$content = '翻译';
}
$appid = '百度翻译的appid';
$appsecret = '百度翻译的秘钥';
$salt = rand(1000000000,999999999);
$sign = md5($appid.$translateWord.$salt.$appsecret);
$url = 'http://api.fanyi.baidu.com/api/trans/vip/translate?q='.$translateWord.'&from='.$from.'&to='.$to.'&appid='.$appid.'&salt='.$salt.'&sign='.$sign;
$content = file_get_contents($url);
$data = json_decode($content, true);
if($data['trans_result'][0]['dst']){
return $data['trans_result'][0]['dst'];
}else{
return '请求返回太慢了,请重复请求';
}
//return的数据通过文本回复给发送翻译请求的用户