ICCMO微信公众账号开发系列(2)打造微信聊天机器人

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

昨天我们已经成功的接入了微信公众账号。今天咱们来做一个微信聊天机器人。这个就需要一点点PHP的知识了。如果你不懂PHP呢,没关系,跟着一步一步做也 可以做出来。
这是在昨天的基础上做的,如果你还不会接入微信公众账号的话,请看昨天的博客,ICC微信公众账号开发系列(1)接入微信公众平台

咱们这个机器人有什么功能呢?
1.娱乐
聊天 笑话 故事 成语接龙 吉凶 新闻 星座

2.查询
百科问答 图片天气 菜谱 快递 计算日期

3.出行
飞机 列车

这么牛逼的机器人,咱们能写出来吗?
下面来我们说说聊天机器人实现的原理。
咱们不是真的写一个机器人程序,而是调用别人写好的接口(不重复造轮子嘛,哈哈)。如果你真的对机器人感兴趣,可以自己去研究。废话不多说了。
继续说原理
1.接口是什么?
官方的说法是这么说的,接口:是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。通俗的讲就是一段url地址。
2.怎么调用接口?
这就是这个咱们这个微信机器人实现的关键了。这里用到了PHP的一个神奇的函数file_get_contents。(或者用curl也可以)什么简单咱们用什么,之后的博客我们会讲CURL的应用。CURL在微信开发应用很广泛。
怎么调用呢?
直接在file_get_contens()传入你的API就可以了。具体实现待会说。
好了,原理就是这么简单。

下面开始动手打造咱们的微信智能机器人。

一.申请接口
上面的原理讲到要调用接口,首先我们得有接口啊。所以第一步首先去申请一个接口。去哪里申请呢?现在网上有很多开放的接口,比如小黄鸡啊图灵啊。今天咱们用的是图灵的接口(学计算机的应该都知道图灵,那个牛逼哄哄的人物,但咱们今天说的不是他)。
①注册一个图灵机器人官网的账号
注册地址:图灵机器人官网
点击进入图灵机器人的官网,在右上角找到注册按钮,点击注册,
注册
注册成功之后登陆咱们的邮箱点击验证链接跳转到咱们的个人中心,你会看如下页面:
个人中心

API KEY:这是我们调用接口需要用到的key。
把它复制下来。
9d208e0c64d9a7b13295b770b932f927
不是复制下面的微信地址哦。注意。
AIP等级:一般用户可以每天调用5000次,如果你玩得不过瘾的话,可以按照下面的方式升级。升级很简单,你只要复制下面的链接,通过下面的链接自己再注册一个就好了。就是给他拉人头嘛。
好,到这里咱们的接口就拿到手了。就是这么简单。
②调用接口
咱们先在电脑上玩一玩这个接口。
这玩意怎么调用呢。咱们新建一个test.php文件。我假设你有PHP基础,没有也没关系。看看就行了。咱们这里主要是原理弄明白。
调用方式:AIP地址+key+info info就是微信发送的消息
具体的url形式是:$url=$apiURL."?key=".$apiKey."&info=".$reqInfo;
以get方式请求.

<?php
$apiKey = "9d208e0c64d9a7b13295b770b932f927"; //这是刚才咱们复制的key
$apiURL = "http://www.tuling123.com/openapi/api";//这个是咱们要之前说的接口,就是一段url地址嘛

// 这句话的意思是设置请求的编码,图灵要求用urf-8编码
header("Content-type: text/html; charset=utf-8"); 
$reqInfo = "你好"; //这是我们模拟微信发的一条信息,跟机器人问个好
//现在咱们把这个请的接口拼接起来
$url=$apiURL."?key=".$apiKey."&info=".$reqInfo;
     $res =file_get_contents($url);//调用接口
     echo $res; 

咱们来运行一把,看看它给我们返回的是什么.
返回结果
看到没,它给咱们返回了下面这一串。
这是一段JSON格式的代码json是一种键值对的数据格式。里面的code是返回的状态码,text是文本信息,这就是咱们想要的东西。
下面这张图是状态码对应的信息:
状态码
好,到这里咱们也学会了怎么调用接口了。
咱们把接口调用封装成一个函数,待会给微信调用。
这是咱们的index.php文件。

<?php



     function tulingAPI($keyword) {

        $apiURL = "http://www.tuling123.com/openapi/api";//接口地址
        $apiKey = "9d208e0c64d9a7b13295b770b932f927"; //这是刚才咱们复制的key
        $api_url =  $apiURL. "?key=" .$apiKey  . "&info=" . $keyword;
        header("Content-type: text/html; charset=utf-8"); 
        $result = file_get_contents ( $api_url );//调用图灵接口

        $result = json_decode ( $result, true );//这是PHP解析JSON数据格式的一个函数,得到的是数组

        return  $result ['text'];
    }

二.微信调用图灵接口
这一步咱们就把封装好的函数给微信调用
直接上代码

<?php
/**
  * 微信机器人
  */

//define your token
include "robot.php"//引入咱们的图灵机器人函数
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
if (isset($_GET['echostr'])) {
    $wechatObj->valid();
}else{
  $wechatObj->responseMsg();  
}


class wechatCallbackapiTest
{
    public function valid()
    {
        $echoStr = $_GET["echostr"];

        //valid signature , option
        if($this->checkSignature()){
            header('content-type:text');
            echo $echoStr;
            exit;
        }
    }

    public function responseMsg()
    {
        //get post data, May be due to the different environments
        $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

        //extract post data
        if (!empty($postStr)){
                /* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,
                   the best way is to check the validity of xml by yourself */
                libxml_disable_entity_loader(true);
                $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                $fromUsername = $postObj->FromUserName;
                $toUsername = $postObj->ToUserName;
                $keyword = trim($postObj->Content);
                $time = time();
                $textTpl = "<xml>
                            <ToUserName><![CDATA[%s]]></ToUserName>
                            <FromUserName><![CDATA[%s]]></FromUserName>
                            <CreateTime>%s</CreateTime>
                            <MsgType><![CDATA[%s]]></MsgType>
                            <Content><![CDATA[%s]]></Content>
                            <FuncFlag>0</FuncFlag>
                            </xml>";             
                if(!empty( $keyword ))
                {
                    $msgType = "text";
                    $contentStr = tulingAPI($keyword);//调用图灵机器人
                    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                    echo $resultStr;
                }else{
                    echo "Input something...";
                }

        }else {
            echo "";
            exit;
        }
    }

    private function checkSignature()
    {
        // you must define TOKEN by yourself
        if (!defined("TOKEN")) {
            throw new Exception('TOKEN is not defined!');
        }

        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];

        $token = TOKEN;
        $tmpArr = array($token, $timestamp, $nonce);
        // use SORT_STRING rule
        sort($tmpArr, SORT_STRING);
        $tmpStr = implode( $tmpArr );
        $tmpStr = sha1( $tmpStr );

        if( $tmpStr == $signature ){
            return true;
        }else{
            return false;
        }
    }
}

?>

好,把这两个文件上传到SAE。到这里咱们微信聊天的机器人就打造好了。打开微信咱们的微信玩一把。
这里写图片描述

如果你觉得你的机器人不够聪明的话,你可以在这里调教它。
调教
今天就写到这里了。有什么问题留言或者QQ:309062037|备注iccmo,交流QQ群:429207338
完整代码下载包:点击下载

wechat_robot, 微信聊天机器人(个人账号,非订阅号).zip wechat_robot, 微信聊天机器人(个人账号,非订阅号) 立即下载

相关推荐

Ascend C 算子开发遇到的问题及解决方法

在学习Ascend C算子开发进阶课程的时候,进行Ascend C自定义算子工程、算子调用等实验,在开发环境中遇到了一些问题,在这里记录一下。首先如果在启智社区CANN版本为6.3 ,要进行Ascend C算子开发,需要更新CANN版本。

qq_45257495的博客 5075

手把手搭建微信机器人,帮你雇一个24小时在线的个人 AI 助理(上)

动手捏一个基于 LLM 的微信机器人,有手就能做

u010522887的专栏 1万+

【异常】XXL-job触发调度:address:http://192.168.x.x:x/ code:500 msg:xxl-rpc remoting error(connect timed out)

XXL-JOB调度任务失败分析:调度中心(10.254.234.80)与执行器(192.168.x.x)连接超时,返回500错误。主要原因是网络不通或执行器异常:1.网络不通可能由防火墙或网段隔离导致;2.执行器未启动或端口未监听;3.地址配置错误。解决方案:1.关闭代理使用内网;2.测试网络连通性和端口可用性;3.检查执行器进程状态和端口监听情况;4.核对执行器地址配置;5.必要时配置防火墙规则放行端口。

奶爸的编程之路,也就一周冷个三天 373

微信群聊微信机器人实现流程

请注意,为了遵守微信的使用规则,确保使用微信机器人账号时不违反相关规定,例如不发送广告、垃圾信息,以及遵守用户隐私等。遵循微信的使用规则是非常重要的,以免账号被封禁或受到其他限制。流程1:使用微信公众号接口:通过开发微信公众号,可以使用微信提供的开发接口与群成员进行交互。以上两种流程都需要开发者具备一定的编程知识和经验,以及对微信接口和聊天机器人API的理解。要使用一个微信机器人账号来实现在微信群聊中的自动回复功能,你需要注册一个专门用于机器人微信账号

还在活水泥的未来包工头 2万+

搭建微信 AI 机器人

1.公众号申请 首先进入微信公众号平台,然后注册一个账号,类型选择订阅号,然后根据相应的提示完成信息的填写和验证 2.后台服务器的搭建 首先执行以下命令 sudo su 下载最新的稳定版 v6.10.3 到本地 wget https://nodejs.org/dist/v6.10.3/node-v6.10.3-linux-x64.tar.xz 下载完成后, 将其解压 tar

蓝星花 1万+

微信AI机器人使用说明-2024最新版

2024年最新稳定的本地部署AI微信机器人使用方法

唯有热爱 可抵万难 4352

微信个人号机器人

前段时间公司需求开发一套自定义的微信机器人,需求是可以自批量添加好友,自动聊天,自动回复,发朋友圈,转发语音,以及定时群发等,还可以提取聊天内容,进行数据汇总,what ????微信还可以这样做!!调研开发了3个月,3个月啊!!!(主要被各种技术走偏路),终于成功了,都是走过的心酸泪,分享给大家,大家学习完,记得给我点个赞!!! 大家一般需求点无非是以下几个需求: 1.开发个人微信营销系统 2.开发自定义的微信机器人, 3.开发微信智能聊天客服系统 4.定制行业内的群数据分析 功能需求很

webot123456的博客 1619

Python创建微信机器人

微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地,今天我们要将便是如何用Python来生成一个微信机器人,突然想起鲁迅先生曾经说过的一句话:因为是微信机器人系列的第一篇文章,所以猪哥会特别详细的讲解每一地方,尽量使每一位想学习的同学都能顺顺利利的开始,下面就让我们一起来做些有趣的事吧! 一、项目介绍 1.微信库选...

weixin_30485799的博客 9854

js版微信聊天机器人——wechat-robot

Github: https://github.com/doterlin/wechat-robot 基于phantomjs和web端微信开发聊天机器人。使用的微信账号(即充当机器人账号)为个人账号,可自定义指令。 效果 可以指定一个微信账号: 自定义指令不会交给AI处理: 独乐乐不如众乐乐,可以指定到群聊上: 在后台程序查看log: ...

weixin_34218890的博客 1195

大规模机器人集群空地协同决策仿真指挥台 —— 项目总结报告

异构无人集群(巡飞无人机 × 自爆机器狗)在城市/林区想定下对连级防御阵地的分布式任务分配与协同打击仿真平台交付形态:单文件纯前端 HTML,双击即运行,无需任何服务器与依赖版本:v12(通信网络分析)· 代码规模约 3400 行(sim.js 1931 / app.js 1060 / style.css 296 / index.html 114)

qq_32454557的博客 399

Figure机器人零样本做家务,Claude已主导Anthropic四分之一研发

9月19日AI领域三重突破:Figure Helix 2.5在30个陌生家庭零样本做家务成功56%(提升522%);Anthropic披露Claude主导26%内部研发(2月不足1%);智谱完成50亿美元融资,FlashX达200 tokens/s。机器人进家+AI自研+国产加速,变化速度比感知快得多。给普通人3条建议:关注具身智能产业、学会用全模态AI工具、理解RSI递归自我改进。

evendy_te的博客 146

Triplet2Track:让机器人在长时序任务中知道“做到哪一步、接下来做什么”

这支持了它的数据效率主张:人类视频不能完全代替机器人控制数据,但能承担任务结构和运动先验学习,从而降低对大规模机器人动作采集的依赖。

jxwd的博客 388

智能客服机器人多轮对话与上下文管理:NLU、DST与对话状态机技术实现

本文拆解智能客服机器人多轮对话与上下文管理技术,涵盖NLU、DST、DM、NLG架构,指代消解、槽位更新、上下文压缩、人机切换与RAG知识库,并给出性能优化与评估指标。

Seoyoneh的博客 183

应付对账总卡壳?财务机器人在采购到付款环节能做什么

一到月底,财务部门总有几件事挤在一起:催发票、核对流水、追审批、补报表。听说财务机器人能减轻负担,真到选产品时,又容易犯难:能识别发票的,能顺便做账吗?能自动出报表的,能处理账实不符吗?“财务机器人”这个名字,确实容易让人以为买回来就能接手一整套工作。实际选型时,不妨先按业务分成五类:票据报销、应付处理、应收对账、资金操作,以及报表与税务辅助。这是一种方便梳理需求的分法,并非统一的行业标准,同一个产品也可能覆盖多类流程。先找出每天最费时间的那一步,再看产品能不能接住它,通常比先比较功能数量更有用。

yuenineon的博客 326

复合机器人一键标定技术|告别繁琐调试,实现快速部署投产|富唯智能

工业复合机器人调试难、标定慢怎么办?详解富唯智能一键标定技术优势,简化多系统协同标定流程,大幅缩短现场调试与换线部署周期。

FWZN0818的博客 110

Haption Virtuose,为遥操作机器人提供精准力反馈

而Virtuose系列从底层打通了软硬件协同逻辑,不仅可以直接对接主流CAD软件完成虚拟装配仿真,还能无缝适配各类3D引擎搭建沉浸式遥操作环境,搭配同体系的TREX遥操作框架后,整套系统可以快速完成部署,无需复杂的二次开发,操作员经过短时间培训就能上手使用。操作员无需亲临危险现场,就能通过力反馈设备精准操控远端机器人,在处理辐射环境下的精密部件拆装、高压线路的细微检修等任务时,实时传回的力感信息能让操作者像在现场亲手操作一样,精准控制施力大小,既避免了人员暴露在风险中,又把远程作业的精度提升到了新的层级。

2301_81438894的博客 236

机器人上岗之后:视觉系统从 demo 到产线的四道坎

四道坎有一个共同点:全是「环境」问题,不是「模型」问题。光照、节拍、标定、成本,没有一道能靠换更大的模型解决——这正是视觉与运动控制的本质差异:运动控制面对可精确建模的封闭物理世界,视觉面对不肯配合的开放真实世界。谁把「看」这件事工程化得越彻底,谁就掌握机器人应用的落地速度。视觉正在从产业的配件,变成定价权本身。朗锐创新(loongray.com)聚焦智能视觉与具身AI,深度相机与智能相机产品线;深度相机覆盖双目相机、结构光、ToF、多光融合等主流技术路线;智能相机应用场景为机器人、无人机;

gunser的博客 36

《ROS 机器人程序设计》课程习题资料-2026-lyrical

ROS2 Lyrical版本聚焦具身机器人实时性与工程化,新增PriorityExecutor优先级调度、TopicStatistics通信诊断工具、rosbag2分片压缩增强及launch事件驱动能力,提升系统稳定性与可维护性。通过intra-process零拷贝通信、Component组件化架构与AsyncParametersClient等特性,优化多线程安全与模块动态加载。强化ros2-control硬件抽象与MockHardware仿真支持,实现仿真与实体无缝切换。结合Nav2行为树、MoveIt2

zhangrelay的专栏 263

机器人梯控异常停靠检测与安全告警状态机设计

异常告警的核心不是写更多报警规则,而是建立“任务预期—实际状态—异常确认—动作冻结—告警—恢复验证”的闭环。尤其在可能涉及人员安全的场景中,系统应该明确区分“检测到异常停靠”和“确认人员被困”,避免用有限的状态数据做超出能力范围的结论。电梯途中停止怎么办?更可靠的设计是把楼层、运行方向、停止、平层、门状态和机器人任务阶段放进同一状态机,通过状态一致性判断异常,再决定暂停、重试还是告警。具体持续时间不能写成一个适用于所有电梯的固定数字,应根据电梯运行特性、楼层距离、数据采样周期和项目要求进行标定。

Robustel的博客 158

启元机器人接入腾讯 WorkBuddy 具身智能打通虚实服务新

据了解,腾讯WorkBuddy是腾讯云打造的高阶智能体平台,拥有强大的自然语言理解、逻辑推理、自主决策能力,搭载上万种成熟生态Skill技能,可适配办公、生活、服务等多元场景的智能化需求,是当下云端AI智能服务的核心载体。未来,启元机器人将持续深化与腾讯云的生态合作,持续适配迭代WorkBuddy各类技能应用,不断丰富场景服务内容,依托技术融合优势,为家庭、职场等多场景提供更智能、更高效、更贴合用户需求的具身智能服务,助力全民智慧生活生态加速成型。

luoxianxu的博客 143
上一篇: ICCMO微信公众账号开发系列(1)接入微信公众账号
下一篇: ICCMO微信公众账号开发系列(3)CURL模拟登陆教务系统查成绩
Iccmo
博客等级 码龄11年 3粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值