首页 php教程 php手册 微信公众平台开发(七) 聊天机器人功能开发

微信公众平台开发(七) 聊天机器人功能开发

Jun 13, 2016 am 11:31 AM
功能 实现 平台 开发 微信 文章 机器人 翻译 聊天

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

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

3.1 API & URL

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

Request URL:http://sandbox.api.simsimi.com/request.p

这里使用免费版测试,付费版的类似,只是URL地址不同。

3.2 请求示例与参数说明

请求示例:

http://sandbox.api.simsimi.com/request.p?key=your_trial_key<span &lc</span>=en<span &ft</span>=1.0<span &text</span>=hi
登录后复制

参数说明:

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

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

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

3.3 返回值分析

result:执行结果返回码

  • 400-Bad Request.
  • 401-Unauthorized.
  • 404-Not found.
  • 500-Server Error.

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

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

4.1 注册simsimi 账号

URL: http://developer.simsimi.com/signUp

4.2 激活账号

4.3 获取API Key

5.1 调用小黄鸡API 实现

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

    <span //</span><span 小黄鸡</span>
    <span public</span> <span function</span> simsim(<span $keyword</span><span ){

        </span><span $key</span>="<span>41250a68-3cb5-43c8-9aa2-d7b3caf519b1</span>"<span ;
        </span><span $url_simsimi</span>="http://sandbox.api.simsimi.com/request.p?key=".<span $key</span>."&lc=ch&ft=0.0&text=".<span $keyword</span><span ;
        
        </span><span $json</span>=<span file_get_contents</span>(<span $url_simsimi</span><span );  <span>// </span><span>把整个文件读入一个字符串中</span>

        </span><span $result</span>=json_decode(<span $json</span>,<span true</span><span );  <span>// </span><span>对JSON 格式的字符串进行编码</span>

        </span><span //</span><span $errorCode=$result['result'];  // 调试用</span>

        <span $response</span>=<span $result</span>['response'<span ];  // 回复的消息

        </span><span if</span>(!<span empty</span>(<span $response</span><span )){
            </span><span return</span> <span $response</span><span ;
        }</span><span else</span><span {
            </span><span $ran</span>=<span rand</span>(1,5<span );
            </span><span switch</span>(<span $ran</span><span ){
                </span><span case</span> 1:
                    <span return</span> "小鸡鸡今天累了,明天再陪你聊天吧。"<span ;
                    </span><span break</span><span ;
                </span><span case</span> 2:
                    <span return</span> "小鸡鸡睡觉喽~~"<span ;
                    </span><span break</span><span ;
                </span><span case</span> 3:
                    <span return</span> "呼呼~~呼呼~~"<span ;
                    </span><span break</span><span ;
                </span><span case</span> 4:
                    <span return</span> "你话好多啊,不跟你聊了"<span ;
                    </span><span break</span><span ;
                </span><span case</span> 5:
                    <span return</span> "感谢您关注【卓锦苏州】"."\n"."微信号:zhuojinsz"."\n"."卓越锦绣,万代不朽"<span ;
                    </span><span break</span><span ;
                </span><span default</span>:
                    <span return</span> "感谢您关注【卓锦苏州】"."\n"."微信号:zhuojinsz"."\n"."卓越锦绣,万代不朽"<span ;
                    </span><span break</span><span ;
            }
        }
    }</span>
登录后复制

说明:

因为有时候小黄鸡不回复,所以在simsim() 函数中加入了一个判断,如果$response 不为空,则返回$response;如果$response 为空,则加了一个小小的代码,让其随机回复自定义的消息,这样就可以做到有求必应了。

5.2 调用小九机器人实现

小九机器人不提供API,故只能通过网页抓取,代码如下:

    <span //</span><span 小九机器人</span>
    <span public</span> <span function</span> xiaojo(<span $keyword</span><span ){

        </span><span $curlPost</span>=<span array</span>("chat"=><span $keyword</span><span );
        </span><span $ch</span> = curl_init();<span //</span><span 初始化curl</span>
        curl_setopt(<span $ch</span>, CURLOPT_URL,'http://www.xiaojo.com/bot/chata.php');<span //</span><span 抓取指定网页</span>
        curl_setopt(<span $ch</span>, CURLOPT_HTTPHEADER, <span $header</span><span );
        curl_setopt(</span><span $ch</span>, CURLOPT_HEADER, 0);<span //</span><span 设置header</span>
        curl_setopt(<span $ch</span>, CURLOPT_RETURNTRANSFER, 1);<span //</span><span 要求结果为字符串且输出到屏幕上</span>
        curl_setopt(<span $ch</span>, CURLOPT_POST, 1);<span //</span><span post提交方式</span>
        curl_setopt(<span $ch</span>, CURLOPT_POSTFIELDS, <span $curlPost</span><span );
        </span><span $data</span> = curl_exec(<span $ch</span>);<span //</span><span 运行curl</span>
        curl_close(<span $ch</span><span );
        </span><span if</span>(!<span empty</span>(<span $data</span><span )){
            </span><span return</span> <span $data</span><span ;
        }</span><span else</span><span {
            </span><span $ran</span>=<span rand</span>(1,5<span );
            </span><span switch</span>(<span $ran</span><span ){
                </span><span case</span> 1:
                    <span return</span> "小鸡鸡今天累了,明天再陪你聊天吧。"<span ;
                    </span><span break</span><span ;
                </span><span case</span> 2:
                    <span return</span> "小鸡鸡睡觉喽~~"<span ;
                    </span><span break</span><span ;
                </span><span case</span> 3:
                    <span return</span> "呼呼~~呼呼~~"<span ;
                    </span><span break</span><span ;
                </span><span case</span> 4:
                    <span return</span> "你话好多啊,不跟你聊了"<span ;
                    </span><span break</span><span ;
                </span><span case</span> 5:
                    <span return</span> "感谢您关注【卓锦苏州】"."\n"."微信号:zhuojinsz"."\n"."卓越锦绣,万代不朽"<span ;
                    </span><span break</span><span ;
                </span><span default</span>:
                    <span return</span> "感谢您关注【卓锦苏州】"."\n"."微信号:zhuojinsz"."\n"."卓越锦绣,万代不朽"<span ;
                    </span><span break</span><span ;
            }
        }
    }</span>
登录后复制

5.3 双龙戏凤

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

    <span //</span><span 双龙戏凤</span>
    <span public</span> <span function</span> chatter(<span $keyword</span><span ){

        </span><span $curlPost</span>=<span array</span>("chat"=><span $keyword</span><span );
        </span><span $ch</span> = curl_init();    <span //</span><span 初始化curl</span>
        curl_setopt(<span $ch</span>, CURLOPT_URL,'http://www.xiaojo.com/bot/chata.php');    <span //</span><span 抓取指定网页</span>
        curl_setopt(<span $ch</span>, CURLOPT_HTTPHEADER, <span $header</span><span );
        curl_setopt(</span><span $ch</span>, CURLOPT_HEADER, 0);    <span //</span><span 设置header</span>
        curl_setopt(<span $ch</span>, CURLOPT_RETURNTRANSFER, 1);    <span //</span><span 要求结果为字符串且输出到屏幕上</span>
        curl_setopt(<span $ch</span>, CURLOPT_POST, 1);    <span //</span><span post提交方式</span>
        curl_setopt(<span $ch</span>, CURLOPT_POSTFIELDS, <span $curlPost</span><span );
        </span><span $data</span> = curl_exec(<span $ch</span>);    <span //</span><span 运行curl</span>
        curl_close(<span $ch</span><span );

        </span><span if</span>(!<span empty</span>(<span $data</span><span )){
            </span><span return</span> <span $data</span>." [/::)小九]"<span ;
        }</span><span else</span><span {
            </span><span return</span> <span $this</span>->simsim(<span $keyword</span>)." [simsim/::D]"<span ;
        }
    }</span>
登录后复制

 

请到QQ群213260412共享里下载使用。

请关注 卓锦苏州 微信公众帐号,卓锦苏州 基于SAE 平台开发,针对于主流的微信功能进行开发测试。

您可以关注 卓锦苏州 公众帐号进行功能测试,以及获取新的应用开发。

1. 登录微信客户端,朋友们 -> 添加朋友 -> 搜号码 -> zhuojinsz,查找并关注。

2. 扫描二维码:

卓锦苏州 菜单功能:

目前菜单具体功能还在开发之中,会陆续更新,敬请期待。。。

 


We Believe, Great People Share Knowledge...

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

传言称'iPhone 16 可能不支持微信”,苹果中国区技术顾问称正与腾讯沟通应用商店抽成事宜 传言称'iPhone 16 可能不支持微信”,苹果中国区技术顾问称正与腾讯沟通应用商店抽成事宜 Sep 02, 2024 pm 10:45 PM

感谢网友情切琛思、HH_KK、石原里美幸福、华南吴彦祖的线索投递!9月2日消息,近期有传言称“iPhone16可能不支持微信”,对此贝壳财经记者致电苹果官方热线,苹果中国区技术顾问回应称,关于iOS系统或苹果设备能否继续使用微信,以及微信能否继续在苹果应用商店上架和下载的问题,需要苹果公司与腾讯之间进行沟通和探讨,才能确定之后的情况。软件应用商店及微信问题说明软件应用商店技术顾问指出,软件在苹果商店上架可能需要开发者支付费用。达到一定下载量后,后续下载需向苹果支付相应费用。苹果正与腾讯积极沟通,

deepseek生成图片教程 deepseek生成图片教程 Feb 19, 2025 pm 04:15 PM

DeepSeek:强大的AI图像生成利器!DeepSeek本身并非图像生成工具,但其强大的核心技术为众多AI绘画工具提供了底层支持。想知道如何利用DeepSeek间接生成图片吗?请继续阅读!利用基于DeepSeek的AI工具生成图像:以下步骤将引导您使用这些工具:启动AI绘画工具:在您的电脑、手机浏览器或微信小程序中搜索并打开一个基于DeepSeek的AI绘画工具(例如,搜索“简单AI”)。选择绘画模式:选择“AI绘图”或类似功能,并根据您的需求选择图片类型,例如“动漫头像”、“风景

gateio中文官方网站 gate.io交易平台网址 gateio中文官方网站 gate.io交易平台网址 Feb 21, 2025 pm 03:06 PM

Gate.io,一家创立于 2013 年的领先加密货币交易平台,为中国用户提供了完整的中文官方网站。该网站提供广泛的服务,包括现货交易、期货交易和借贷,并提供中文界面、丰富的资源和社区支持等特色功能。

gateio交易所app老版本 gateio交易所app老版本下载渠道 gateio交易所app老版本 gateio交易所app老版本下载渠道 Mar 04, 2025 pm 11:36 PM

Gateio 交易所 app 老版本下载渠道,涵盖官方、第三方应用市场、论坛社区等途径,还给出下载注意事项,帮你轻松获取老版本,解决新版本使用不适或设备兼容问题。

欧易交易所app国内下载教程 欧易交易所app国内下载教程 Mar 21, 2025 pm 05:42 PM

本文提供国内安全下载欧易OKX App的详细指南。由于国内应用商店限制,建议用户通过欧易OKX官方网站下载App,或使用官网提供的二维码扫描下载。下载过程中,务必核实官网地址,检查应用权限,安装后进行安全扫描,并启用双重验证。 使用过程中,请遵守当地法律法规,使用安全网络环境,保护账户安全,警惕诈骗,理性投资。 本文仅供参考,不构成投资建议,数字资产交易风险自负。

芝麻开门登录注册入口 gate.io交易所注册官网入口 芝麻开门登录注册入口 gate.io交易所注册官网入口 Mar 04, 2025 pm 04:51 PM

Gate.io(芝麻开门)是全球领先的加密货币交易平台,本文提供Gate.io现货交易完整教程。教程涵盖账户注册登录、KYC认证、法币及数字货币充值、交易对选择、限价/市价交易下单以及订单和交易记录查看等步骤,助您快速上手Gate.io平台进行加密货币交易。 无论是新手还是老手,都能从本教程中获益,轻松掌握Gate.io交易技巧。

如何购买虚拟币入门?2025以太坊虚拟币新手怎么投资指南 如何购买虚拟币入门?2025以太坊虚拟币新手怎么投资指南 Feb 21, 2025 pm 06:54 PM

对于刚接触加密货币世界的投资者来说,了解如何购买虚拟币至关重要。这篇文章旨在为新手提供一个全面的入门指南,涵盖如何选择合适的交易所、注册账户、存入资金以及购买以太坊(ETH)的详细步骤。通过遵循本指南,初学者可以安全、便捷地踏入虚拟币投资之旅,并把握 2025 年及以后的潜在投资机会。

okx交易平台手续费一览 okx交易平台手续费一览 Feb 15, 2025 pm 03:09 PM

OKX 交易平台提供了各种类型的费率,包括交易费用、提款费用和融资费用。对于现货交易,交易费用根据交易量和 VIP 等级而有所不同,采取“做市商模式”,即市场每笔交易收取较低的手续费。此外,OKX 还提供了多种类型的期货合约,包括币本位合约、USDT 合约和交割合约,每种合约的费用结构也有所不同。

See all articles