• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信小程序 > 微信公众平台开发之小黄鸡API

微信公众平台开发之小黄鸡API

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-11-30

匿名通过本文主要向大家介绍了微信开发,小黄鸡API等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
一、简介

上一篇文章介绍了微信公众平台翻译功能的开发,实现了中、英、日语言互译,在实际生活中也能使用到。在接下来的这一篇文章中,我们将完成一个比较有趣的功能,那就是聊天机器人,可以在你无聊的时候陪你聊天逗你开心。

二、思路分析

在这个实验中,我们将调取小黄鸡官方(www.simsimi.com/)提供的API,结合抓取小九机器人(www.xiaojo.com/)的网页,互相补充。Simsimi 是收费的,但你可以尝试7天测试,每天可以免费使用100条回复;小九机器人可以无限制使用,但前提是官方不屏蔽。

三、小黄鸡API 分析

3.1 API & URL

官方API 地址:developer.simsimi.com/api

Request 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 Key

lc: Language code,支持的语言,简体中文用ch,繁体中文用zh,英文用en,详细请参考:developer.simsimi.com/lclist

ft: 是否设置过滤器,

  0.0:未过滤(包含诅咒,性内容);

  1.0:过滤不文明字句(暂时只支持韩文)

text: 请求的文本

3.3 返回值分析

result:执行结果返回码


    • 100-OK.

    • 400-Bad Request.

    • 401-Unauthorized.

    • 404-Not found.

    • 500-Server Error.

id:回复的消息id(只有result=100 时才会有此项)

response:回复的消息(只有result=100 时才会有此项)

msg:执行结果返回码对应的状态

四、获取小黄鸡API Key

4.1 注册simsimi 账号

URL: developer.simsimi.com/signUp

4.2 激活账号

4.3 获取API Key

五、具体实现

5.1 调用小黄鸡API 实现

调用simsim($keyword) 函数处理,将其中的“Your API Key” 换成申请到的API Key。

    //小黄鸡
    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 调用小九机器人实现

小九机器人不提供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 双龙戏凤

我们还可以将上面的小黄鸡和小九机器人进行整合,具体代码如下:

    //双龙戏凤
    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]";
        }
    }

六、测试

【相关推荐】

1.微信公众号平台源码下载

2.阿狸子订单

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 微信小程序开发:在Gulp的基础上构建的工作流程
  • 微信小程序开发:企业开发小程序的必要性
  • 微信小程序开发之页面跳转方式
  • 微信小程序开发之animation动画实现
  • 关于微信开发小程序的一点个人总结
  • 开发微信服务器接口的实例教程
  • 微信开发之录音功能
  • 微信开发之开发者模式
  • 微信公众平台开发之小黄鸡API
  • 小程序开发不可或缺的Flex布局模式

相关文章

  • 2018-11-30微信小程序 使用canvas制作K线实例详解
  • 2018-11-30小程序实现类似于苹果AssistiveTouch功能(附代码)
  • 2018-11-30分享一个本人的小程序开发心得
  • 2018-11-30微信小程序 Nginx环境配置
  • 2018-11-30微信小程序如何获取循环元素id与wx.login登录操作的实例
  • 2018-11-30微信小程序之页面传值详解
  • 2018-11-30微信小程序 scroll-view实现上拉加载与下拉刷新的实例
  • 2018-11-30微信小程序开发小程序架构篇图解
  • 2018-11-30艺龙微信小程序框架组件实例代码
  • 2018-11-30小程序中多滑块的实现代码

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 微信小程序视图容器 movable-area
    • 微信小程序 教程之模板
    • 微信小程序中实现摇一摇功能的方法介绍
    • 微信小程序开发之不能使用eval函数的问题
    • 微信小程序:组件的基本使用
    • 小程序中页面布局和绝对定位以及按钮代码
    • php如何实现微信小程序支付及退款
    • 四大微信小程序开发工具测评结果出炉
    • 小程序开发之基础篇滑动操作(10)
    • 关于微信小程序的动态传参

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有