PHP插件功能参考手册
探索各种功能模块,点击任意板块查看详细说明和使用示例
基础发言
各种消息发送方式的基础实现,包括文字、图片、语音等。
文字消息
文卡
图片
语音
视频
文字消息
发送简单的文字回复。
if(消息=="测试文字"){
文字("你好啊,这里是文字效果");
}
文卡
发送格式化的卡片消息。
if(消息=="测试文卡"){
文卡(["text"=>"你好啊,这里是文卡效果"]);
}
图片
发送图片,可以附加文字说明。
if(消息=="测试图片文字"){
图片("http://example.com/image.jpg",
"这里就是文字内容"."\n\n"."当然也可以换行");
}
语音
发送语音消息。
if(消息=="测试语音"){
语音("http://example.com/audio.mp3");
}
视频
发送视频内容,部分需要先获取视频链接。
if(消息=="测试视频"){
$ll="https://example.com/api/video/";
$header=["User-Agent: Mozilla/5.0"];
$ff=curl($ll,"GET",$header,"");
视频($ff);
}
辅助函数
各种实用工具函数,用于字符串处理、文件操作和数值计算。
取后缀
文件读写
数值运算
取指令后缀内容
提取指令后面的附加内容。
if(前缀(消息,"测试取后缀")){
$内容=前缀后(消息,"测试取后缀");
文字($内容);
}
例如发送"测试取后缀abc123",将返回"abc123"
文件读写
读写文件中的键值对数据。
// 写入数据
if(消息=="测试写入"){
写("文件路径/file/1.txt","键","91");
文字("已给“键”写入数值91");
}
// 读取数据
if(消息=="测试读取"){
$目标=读("文件路径/file/1.txt","键","默认值");
文字("文件内容:\n$目标");
}
数值运算
对存储的数值进行加减乘除运算。
// 增加数值
if(消息=="测试增加写入"){
$目标=读("文件路径/file/2.txt","TC",0);
$数值=10;
写("文件路径/file/2.txt","TC",$目标+$数值);
文字("已增加$数值");
}
// 乘法运算
if(消息=="测试内容乘法"){
$目标=读("文件路径/file/3.txt","TC",1000);
$数值=2;
$计算=$目标 * $数值;
写("文件路径/file/3.txt","TC",$计算);
文字("原内容:$目标\n新内容:$计算");
}
基本变量
系统提供的内置变量,用于获取用户信息和消息上下文。
用户ID
来源
消息来源
可用变量
- $用户 - 获取发送者的用户ID
- $来源 - 获取消息来源ID(群聊ID或私聊对象ID)
- $消息来源 - 获取消息来源类型("群聊"或"私聊")
- $消息 - 获取消息的具体内容
使用示例
if(消息=="变量信息"){
$ID=用户;
$laiyuan=来源;
$xxlaiyuan=消息来源;
$yuan=消息;
$返回内容="══════════════
用户ID:$ID
来源:$laiyuan
消息来源:$xxlaiyuan
消息内容:$yuan
══════════════";
文字($返回内容);
}
场景判断
根据消息来源类型执行不同操作。
if(消息=="场景信息"){
$ID=用户;
$laiyuan=来源;
$xxlaiyuan=消息来源;
if($xxlaiyuan=="群聊"){
$返回内容="这是群聊,群ID:$laiyuan";
}else{
$返回内容="这是私聊,对方ID:$laiyuan";
}
文字($返回内容);
}
进阶功能
更高级的功能实现,包括API访问、二维码生成等。
二维码
邮箱发送
延迟消息
API访问
二维码生成
将文本内容生成二维码图片。
if(消息=="测试二维码"){
$s=二维码("你好,这是二维码内容");
图片($s);
}
邮箱发送
通过QQ邮箱发送邮件。
if(消息=="测试邮箱发送"){
$标题="测试标题";
$内容="邮箱内容";
$发送者="发送者的邮箱账号";
$接收者="接受者的邮箱账号";
$授权码="QQ邮箱的授权码";
邮箱($标题,$内容,$接收者,$发送者,$授权码);
文字("已发送邮箱");
}
延迟与撤回
发送延迟消息并撤回。
if(消息=="测试延迟"){
文字("3秒后下一条");
sleep(3);
// 获取消息ID
$k=文字("这条消息会被撤回");
sleep(3);
// 撤回消息
撤回(json_decode($k)->id);
}
API访问
使用curl访问外部API。
if(消息=="访问API"){
$url = "https://api.example.com/data";
$header = ["User-Agent: Mozilla/5.0"];
$result = curl($url, "GET", $header, "");
// 处理API返回结果
文字("API返回: " . $result);
}
JSON取值
解析JSON数据并提取所需信息,支持复杂嵌套结构。
JSON解析
数组访问
嵌套取值
解析JSON数据
从API获取JSON数据并解析提取信息。
if (消息 == "测试取值") {
// 获取JSON数据
$ll = "http://example.com/api/data.json";
$header = ["User-Agent: Mozilla/5.0"];
$ff = curl($ll, "GET", $header, "");
// 解析JSON
$data = json_decode($ff, true);
// 提取信息
$返回内容 = "══════════════
第一个用户
用户ID:{$data['用户列表'][0]['用户ID']}
昵称:{$data['用户列表'][0]['昵称']}
等级:{$data['用户列表'][0]['等级']}
══════════════";
文字($返回内容);
}
示例JSON结构
{
"用户列表": [
{
"用户ID": 1001,
"昵称": "星空旅者",
"等级": 12,
"星羽": 5000,
"当前装备": ["星甲战刃", "光子护盾", "跃迁引擎"]
},
{
"用户ID": 1002,
"昵称": "银河商人",
"等级": 15,
"星羽": 12000,
"当前装备": ["量子贸易终端", "隐形力场", "曲速核心"]
}
]
}
取值方法说明
- 对象属性访问:
{$data['用户列表']}- 获取用户列表数组 - 数组元素访问:
{$data['用户列表'][0]}- 获取第一个用户 - 嵌套属性访问:
{$data['用户列表'][0]['昵称']}- 获取第一个用户的昵称 - 数组内数组访问:
{$data['用户列表'][0]['当前装备'][1]}- 获取第一个用户的第二个装备
画布功能
创建自定义图像,支持绘图、文字、贴图等多种操作。
创建画布
绘制图形
添加文字
贴图
创建自定义画布
创建画布并绘制各种元素。
if(消息=="画布"){
// 创建画布
$长度=1800;
$宽度=1600;
// 定义颜色
$黑色="#000000";
$红色="#FF0000";
$蓝色="#0000FF";
// 画布操作
$h=new 画布();
$画布=$h->创建($长度,$宽度);
// 贴头像
$h->贴图($画布,头像(用户),20,20,150,150);
// 绘制文字
$h->文字($画布,"个人信息",40,180,70,$黑色,"画笔/simhei.ttf");
// 绘制线条
$h->直线($画布,900,0,900,800,$黑色);
// 绘制图形
$h->矩形($画布,50,350,250,450,$红色);
$h->填充圆($画布,350,600,100,100,$蓝色,25);
// 输出图片
$画布=$h->二进制输出($画布);
图片($画布);
$h->销毁($画布);
}
常用画布方法
| 方法 | 描述 |
|---|---|
| 创建($长度,$宽度) | 创建指定尺寸的画布 |
| 贴图($画布, $图片, $x, $y, $宽, $高) | 在指定位置绘制图片 |
| 文字($画布, $内容, $x, $y, $大小, $颜色, $字体) | 在指定位置绘制文字 |
| 直线($画布, $x1, $y1, $x2, $y2, $颜色) | 绘制直线 |
| 矩形($画布, $x, $y, $宽, $高, $颜色) | 绘制矩形边框 |
| 填充矩形(...) | 绘制填充矩形 |
| 圆(...) | 绘制圆形边框 |
| 填充圆(...) | 绘制填充圆形 |