# 笋丁网页机器人自定义接口配置教程 **Repository Path**: cnm-sb/sd-web-bot-api ## Basic Information - **Project Name**: 笋丁网页机器人自定义接口配置教程 - **Description**: 笋丁网页机器人自定义接口配置教程 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-10-30 - **Last Updated**: 2024-10-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 笋丁网页机器人自定义接口配置教程 ## 写在前面 使用自定义接口功能请务必认真阅读此教程,此功能需要对json类型数据结构和接口请求响应有一定的了解,可先尝试阅读下方教程,如有疑问再联系笋丁。 ## 接口支持 截止到目前,自定义接口支持的类型如下: 1. 请求类型: 1. GET请求,query方式传参,即参数在url中携带,例如:http://get.example.com?name=网页机器人&id=2&key=qazwsxedcrfv&author=笋丁 1. POST请求,请求体raw json格式传参,例如:接口地址为:http://post.example.com,参数为:{"name":"网页机器人","id":"2","key":"qazwsxedcrfv","author":"笋丁"},参数值只能为字符串类型。 1. 响应类型: 1. 支持json格式数据,文本,图片,音频,视频。 ## 传参说明 1. 接口指令支持四种触发方式: 1. 完全匹配(无需参数):用户发送内容后,机器人匹配到指令后触发,例如指令为【随机小姐姐】,发送随机小姐姐即可。此方式匹配规则为完全匹配,发送内容和指令必须完全一致才能触发。 1. 完全匹配(表单参数):此方式匹配规则也为完全匹配,发送内容和指令完全一致触发,机器人会给出参数的填写表单,点击表单的提交按钮,执行调用接口。 1. 子串匹配(唯一参数):用户发送的内容中包含指令字符串时触发,例如指令为【教程】,发送内容为使用教程,教程,教程地址等包含教程二字的内容均可触发。 1. 前缀匹配(文本参数):用户发送的内容以指令开头时触发,例如指令为【绘画】,发送内容为绘画狗子,绘画小猫,这种以绘画开头的内容均可触发。 1. 四种方式的参数值传递方式: 1. 完全匹配(无需参数):此方式无参数传递,触发之后直接请求接口响应内容。 1. 完全匹配(表单参数):此方式支持传递6个参数,例如接口地址和参数示例为:https://get.example.com?key=qazwsxedcrfv&name=笋丁,参数key的值为固定不变的,直接在接口地址中拼接即可,参数name的值笋丁是用户提交的内容,每次的值不一样,参数一键名填name即可,接口地址填https://example.com?key=qazwsxedcrfv。用户在表单输入之后,机器人会自动将输入的内容拼接到接口中,最后实际请求即为https://example.com?key=qazwsxedcrfv&name=用户输入的值。 1. 子串匹配(唯一参数):此方式仅支持传递1个参数,用户发送的整个内容即为参数一的值。某音某手等短视频平台无水印解析功能使用此方式较为方便,用户无需输入指令,粘贴分享链接发送即可执行解析。 1. 前缀匹配(文本参数):此方式支持传递6个参数,参数键名的填写方式同第二步一致。例如指令为【绘画】,用户发送绘画#狗子,则参数一的值为狗子,当参数数量为一个时,参数一前面的分隔符#可以省略,直接发送绘画狗子也可。当参数为多个时,除了参数一,其他参数前面的分隔符#均不能省略,例如绘画#狗子#古风#黑白色,则参数一的值为狗子,参数二的值为古风,参数三的值为黑白色。 ## 接口响应取值 ### 文本,图片,音频,视频类型的无需配置 1. 接口响应类型为此方式的,无需配置,系统自动处理。重定向类型接口,例如随机小姐姐,前端收到的值为重定向后的链接,无需担心接口暴露。 ### JSON类型取值 1. 对象类型的,直接使用{{.键名}}取值,多层嵌套的对象,使用{{.键名.键名.键名.键名.键名}},例如:json响应为{"code":200,"msg":"成功","data":{"video_url":"https://sunding.cn/example.mp4"}},如果需要取msg的值,即为{{.msg}}。取video_url的值,则为{{.data.video_url}}。 1. 图片数组类型的,直接使用{{.图片数组键名}},填入多图数组输入框 1. 对象数组类型的较复杂,明天写