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, $宽, $高, $颜色) 绘制矩形边框
填充矩形(...) 绘制填充矩形
圆(...) 绘制圆形边框
填充圆(...) 绘制填充圆形