欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

weiphp中无法使用图灵机器人功能的解决办法 有大用

shiping1 的头像
在weiphp中启用智能聊天插件后,发现微信客户发送内容后,回复的都是weiphp中内设的内容,无法使用图灵机器人的智能聊天功能,这是怎么回事呢,下文给出的解决方案经过测试是可行的。

工具/原料

  • weiphp, 图灵机器人
  • 微信公众平台

方法/步骤

  1. 首先确认在图灵机器人官网申请的KEY是否正确

    weiphp中无法使用图灵机器人功能的解决办法
  2. 其次确认调用API是否正确,注意了这里不是官网说的微信API哦

    weiphp中无法使用图灵机器人功能的解决办法
  3. 在weiphp的源码中Addnos\Chat\Model\WeixinAddonModel.class.php中有一片Bug, 4000~40007的错误码,10000以上的为正确返回的信息,如果按照代码来处理,正确信息也会返回失败

    weiphp中无法使用图灵机器人功能的解决办法
  4. 进入应用管理界面, 找到“代码管理”

    weiphp中无法使用图灵机器人功能的解决办法
  5. 使用在线编辑,将那段代码改成下图所示的代码即可

    weiphp中无法使用图灵机器人功能的解决办法
  6. 6

    如果weiphp的版本为2.0的话,下面的代码中会有两段相同的代码,可以删除一段

    weiphp中无法使用图灵机器人功能的解决办法
     

来自 http://jingyan.baidu.com/article/60ccbceb60bc2c64cab197b8.html

解决WEIPHP图灵机器人KEY填写正确却始终报错的问题


因为社团的缘故,和师兄一起做微信开发,其中要用到WEIPHP这个开源框架,在使用图灵机器人的过程中发现填写的key明明是正确的却始终无法正常返回信息,当我直接在浏览器输入

返回信息:

这段代码的时候,返回的信息是正常的 再看返回的代码 100000 是十万,我就想到了可能不是图灵官方的问题,因为JSON数据是正常显示的,只能是weiphp框架自身对图灵机器人返回的代码错误的处理才导致无法正常使用的,然后我就想到检查图灵机器人的代码,果然,发现了一处逻辑错误还有一个switch-case的重复错误,我在图灵机器人中 找到如下这段代码

文件路径为:Addons/Chat/Model/WeixinAddonModel.class.php

下载文件往下拉,找到图灵机器人的功能代码

weiphp2.0中的原版代码如下

观察代码可以发现,这里对返回码的处理是

如果返回码大于40000(4万) 则进入判断 是否小于40008 是则返回相应错误信息 到这里是没问题的 但是 这边不小于40008的时候 居然是返回错误,看到这里我都醉了

看看图灵官网的返回码列表,所有正确消息的返回码都是大于10万的 你这里一下就把大于10万的归类为错误了,这还怎么返回信息呢是吧,所以,我们要把这个else语句给去掉。

再看第二个错误,case 200000有两个,重复了,这个错误没啥好说的,删掉我截图框中下面两个中的任意一个即可,修改后的代码如下,可以直接复制粘贴到对应位置,不要弄错位置了!

个人原因微信开发已转移阵地,并未再使用框架 而是自己根据官方接口开发,所以该公众号暂时无法提供测试。




来自  https://www.deboy.cn/archives/805.html



 

WeiPHP使用图灵机器人没效果

图灵机器人的插件有问题
定位到:AddonschatModelWeixinAddonModel.class.php
找到
if ($result [‘code’] < 40008) {
一直到……
switch ($result [‘code’]) {

改成
if ($result [‘code’] < 40008) { if ($result [‘code’] > 40000 && ! empty ( $result [‘text’] )) {
$this->replyText ( ‘图灵机器人请你注意:’ . $result [‘text’] );
} else {
//$this->replyText ( $api_url );
return false;
}
}
switch ($result [‘code’]) {

此条目发表在技术分类目录,贴了

来自 http://www.kuizi.com/?p=2489


基于weiphp的微信开发,接入图灵机器人的问题,急急急!!!!

2014-11-23 18:08feixing231 | 浏览 1065 次  悬赏:15
小弟新手开发,想做个基于weiphp的图灵机器人接口,我申请了图灵机器人key,也看了其接口文档,也在网上查了应该如何引入,我也照着做了,但是微信就是运行不出来,我把这个网址http://www.tuling123.com/openapi/api?key=$api_key&info=$req_info直接粘到浏览器上都能返回值,微信上死活不行,我是真不懂了,哪位高手给解决下,感激不尽呢
 $req_info = $key;
			  $api_key = "1111111111111111111111111111111"; 
			  $api_url = "http://www.tuling123.com/openapi/api?key=$api_key&info=$req_info";			  
			  // 设置报文头, 构建请求报文 
			  header("Content-type: text/html; charset=utf-8"); 
			  $rep_contents =file_get_contents($api_url); //就这句话不对,搞不明白,服了                        
			  $reply = json_decode($rep_contents, 1);
 if ($reply['code'] == 100000)
{
   $msg = $reply['text'];
  }
else
{
       $msg = '呵呵';
  } 
			  $res = D('Weixin')->replyText ($msg."为什么".$reply['text']);
			  return $res;
对了说一下,我的weiphp不是最新版本的,是2.0版本之前的,而且结果测试,我发现就是这句话不对$rep_contents =file_get_contents($api_url); 帮忙解决下,谢谢各位了
 
  • 您的回答被采纳后将获得:
  • 系统奖励20(财富值+经验值)+难题奖励10(财富值+经验值)+提问者悬赏15(财富值+经验值)
我有更好的答案
 
2015-03-13 01:20jiang_jianglu | 五级
百度搜索“weiphp中无法使用图灵机器人功能的解决办法”,这个我已经解决了
评论 | 0 0
2015-01-16 23:44ma_yongsong | 三级 最快回答
我也是这问题,不知道楼主解决了没有啊?求分享啊


来自 http://zhidao.baidu.com/link?url=VZwxt2VEb7YsKLcPFUAZIrxBFDUBlTFINqAKOerUqQi5ssHbZgxn9DIUeO76b_kUJS6...

普通分类: