以下是基于该框架的通俗易懂示例,涵盖常用功能并附详细注释:
一、基础消息处理
示例1:关键词自动回复
<?php // 收到"你好"时回复问候语 if (消息 == "你好") { 文字("你好!我是群聊小助手~"); } // 收到"时间"时返回当前时间 if (消息 == "时间") { $time = date("Y年m月d日 H:i:s"); // 获取系统时间 文字("当前时间是:".$time); } ?>
效果:用户发送"时间" → 机器人回复精确到秒的时间
二、富媒体消息
示例2:发送带链接的图片
<?php if (消息 == "萌图") { 图片( "https://example.com/cute.jpg", // 图片链接 "点击查看大图" // 可选描述文字 ); } ?>
效果:用户发送"萌图" → 机器人发送带描述的可点击图片
三、交互式按钮
示例3:创建选择按钮
<?php if (消息 == "菜单") { 按钮("1"); // 按钮ID为1 按钮("2"); // 按钮ID为2 } ?>
效果:用户发送"菜单" → 显示两个可点击按钮,后续可通过按钮ID处理不同操作
四、实用工具函数
示例4:调用天气API
<?php if (消息包含("天气")) { $city = 提取关键词("天气"); // 假设提取"北京天气"中的"北京" // 调用天气API(需替换真实API) $weather = curl( "https://api.weather.com?city=".$city, "GET", [], [] ); 文字("北京当前天气:".$weather); } ?>
效果:用户发送"天气 北京" → 机器人返回天气信息
五、数据存储
示例5:记录用户提问
<?php // 将用户问题保存到data.txt $question = "用户:".$用户." 于 ".date("Y-m-d H:i:s")." 提问:".$消息; 写("logs/data.txt", "question", $question); 文字("已记录你的问题,稍后会有回复~"); ?>
效果:每次用户提问都会记录到服务器的data.txt文件中
六、图形验证码生成
示例6:动态生成验证码
<?php $h = new 画布(); $h->创建(120,40); // 创建120x40画布 // 生成随机验证码 $captcha = ''; for($i=0;$i<4;$i++){ $captcha .= rand(0,9); } // 绘制验证码 $h->文字($h->画布, $captcha, 20, 10, 10, "#000000"); $h->输出($h->画布); // 生成PNG图片 // 发送验证码 图片($h->二进制输出($h->画布), "你的验证码"); ?>
效果:用户触发命令后 → 生成并发送带随机数字的验证码图片
七、邮件通知
示例7:新成员入群提醒
<?php // 当有新成员加入时触发 if (消息来源 == "加群") { $subject = "新成员加入通知"; $content = "欢迎新成员:".$用户." 加入本群!"; $mailto = "10001@qq.com"; // 管理员邮箱 邮箱($subject, $content, $mailto, "robot@qq.com", "smtp_qq_auth_code"); } ?>
效果:新成员入群 → 自动发送邮件通知管理员
八、高级画布应用
示例8:生成简易统计图
<?php $h = new 画布(); $h->创建(300,200, "#FFFFFF"); // 绘制柱状图 $data = [15,30,45,20,50]; // 示例数据 $barWidth = 40; $startX = 50; for($i=0;$i<count($data);$i++){ $h->矩形( $startX+$i*100, // X坐标 200 - $data[$i]*2, // Y坐标(高度与数据值相关) $barWidth, // 宽度 $data[$i]*2, // 高度 "#4CAF50" // 绿色 ); } // 添加坐标轴 $h->直线($h->画布, 50, 180, 290, 180, "#000000"); // 横轴 $h->直线($h->画布, 50, 180, 50, 50, "#000000"); // 纵轴 // 输出图片 图片($h->二进制输出($h->画布), "数据统计图"); ?>
效果:用户触发命令 → 生成并发送动态柱状统计图
关键技巧总结
条件嵌套:可组合多个条件实现复杂逻辑
if (消息 == "天气" && 来源 == 10086) { ... } // 仅当消息来自群10086时响应
多元素组合:在画布中混合使用文字、图形
$h->文字(...); $h->圆形(...);
API调用:通过curl对接第三方服务
$data = curl("https://api.example.com", "POST", ["Authorization: token"], ["param1"=>123]);
建议先从简单示例入手,逐步尝试组合不同函数实现复杂功能。遇到具体问题时可参考框架网页或社区案例。
QQ机器人事例
发布于 3 天前 6 次阅读
Comments NOTHING