目录

1. 关键词触发接口


接口功能

将群里接收的消息(好友/群), 发送至接收地址 (POST方式),然后,接收地址返回规定的消息格式, 可在群里自动回复内容. (支持发文字,文章,图片,视屏,音乐,名片,文件,小程序)

与【开发版】的区别 ( 主动发消息 ):
开发版:被动方式,软件自定义周期性请求url,如果有返回值,则发消息。
web服务版:主动方式,任何人主动请求软件所在服务器url/ip,POST参数,则发消息。

URL

自己的服务器url,用来接受好友/群的消息

接收地址 : 支持 IP ( http://123.123.123.123/ ) , 域名 ( http://www.yourname.com/ ) , 本地 Localhost ( http://localhost/ )

HTTP请求方式

POST

接收到的参数
参数 中文名称 说明
robotid 机器人唯一 ID 扫码机器人的唯一 ID
gusername 群唯一ID 微信群ID
gname 群名称 已经转码为:Unicode编码,格式”\u“,需要在服务器解码
mid 群成员唯一 ID 微信成员ID
nickname 群成员 群内昵称 已经转码为:Unicode编码,格式”\u“,需要在服务器解码
content 消息内容 用户消息触发,带参数时,使用该字段。
已经转码为:Unicode编码,格式”\u“,需要在服务器解
atlist 有成员@多个用户 用户消息@其他用户时,触发。可能含多个用户ID
robotnickname 机器人昵称 用户消息触发,带参数时,使用该字段。已经转码为:Unicode编码,格式”\u“,需要在服务器解码
接口返回 - 待发消息格式 ( 严格按格式返回,非json )
返回参数 返回值 描述
rs 1 正常触发消息
返回例子 1 : {"rs":1,"tip":"发群里消息内容","end":0}
返回例子 2 : {"rs":1,"tip":"发群里消息内容","wxuin":"好友wxid/微信号","wxuin_tip":"同时发好友消息内容","end":0}
rs 11 加当前说话的群成员
返回例子 : {"rs":11,"tip":"这里是返回的内容,可以为空","end":0}
rs 12 发送进群邀请链接
返回例子 : {"rs":12,"tip":"这里是返回的内容,可以为空","end":0}
rs 13 正常触发消息,并将当前发消息的群成员,踢出本群
返回例子 : {"rs":13,"tip":"这里是返回的内容,xxx你被踢了","end":0}
rs 14 正常触发消息,并将返回的群成员昵称/wxid,踢出本群。返回多个昵称用[结束]分割。 ( 附加参数:"nickname")
返回例子 : {"rs":14,"tip":"这里是返回的内容","nickname":"香蕉","end":0}
rs 15 修改当前群名
返回例子 : {"rs":15,"tip":"这里是返回的内容,xxx你被踢了","end":0}
rs 16 退出群
返回例子 : {"rs":16,"tip":"这里是返回的内容,可为空","end":0}

URL返回值格式(严格按格式返回,非json):

格式一,普通回复(直接回复发消息对象):
{"rs":1,"tip":"这里是返回的内容,utf-8格式中文,不需要转码[结束][img]http://www.dijiu.com/upload/2009/2/24/2009022479639361.gif[/img][结束][img]http://www.dijiu.com/upload/2009/2/24/2009022479639361.gif[/img]","end":0}


格式二,扩展回复(直接回复发消息对象,扩展另增加指定对象):
{"rs":1,"tip":"这里是返回的内容,utf-8格式中文,不需要转码[结束][img]http://www.dijiu.com/upload/2009/2/24/2009022479639361.gif[/img][结束][img]http://www.dijiu.com/upload/2009/2/24/2009022479639361.gif[/img]","wxuin":"扩展对象","wxuin_tip":"扩展回复内容","end":0}

群内图片/语音获取

1. 说明:当群内有人发图片(非表情)或语音(暂时支持20秒以内) , 软件会自动单独调用接口 , 将文件内容以 BASE64 加密 POST 至接口 ( 创建的应用关键词必须留空才会触发 )
2. 图片参数 : pngfile
3. 语音参数 : mp3file
4. 接口获取到文件后, 请先 BASE64 解密内容, 再存储为对应的文件格式. ( pngfile 参数保存文件为 .png , mp3file 参数保存文件为 .mp3 )
php获取图片例子:
if($_POST['pngfile']){$a = file_put_contents('./tttttt/test.png', base64_decode(str_replace(' ', '+', $_POST['pngfile'])));}

2. 重要:
在BASE64编码解码的时候,出现的+号,在通过Html由后台 ( 如: php->get ) 读取时, 会被自动替换为空格, 造成图片内容解码失败的情况.
解决办法 : 先将空格批量替换为 + 号, 然后再解码

Unicode解码函数-php版(建议php版本5.4, 过高有可能不支持)
function unicode_decode($str) {
    //Unicode解码 linux UCS-2BE,windows UCS-2LE
    $t = preg_replace("#\\\u([0-9a-f]{4})#ie", "iconv('UCS-2BE', 'UTF-8', pack('H4', '\\1'))", $str);
    return $t;
}
Unicode解码函数-php版(建议php版本高于5.4)
function unicode_decode($str) {
    return preg_replace_callback('/\\\\u([0-9a-f]{4})/i',
        create_function(
            '$matches',
            'return mb_convert_encoding(pack("H*", $matches[1]), "UTF-8", "UCS-2BE");'
        ),
    $str);
}
可发送特殊格式:

1:网络图片:[结束][img]https://www.baidu.com/img/baidu_jgylogo3.gif[/img]

2:本地图片:[结束][localimg]D:\demo.jpg[/localimg]

3:发 文 章 :[结束][url][title=百度],[des=百度一下],[url=http://www.baidu.com/],[img=https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png][/url]

4:发小程序 :[结束][app][title=标题],[appnickname=小程序名称],[pagepath=小程序路径],[username=gh_xxxxxxx@app],[img=缩略图本地路径][/app]
【重要】必须pcwx2.7.1.82版及以上支持
小程序路径(可不填),具体内容在收到小程序后,软件日志中获取 <pagepath>小程序路径</pagepath>
gh_xxxxxxx@app(必填),具体内容在收到小程序后,软件日志中获取 <username>gh_xxxxxxx@app</username>

5:发 名 片 :[结束][card]好友微信号,好友昵称[/card]

6:发 视 频 :[结束][file]D:\demo.mp4[/file]

7:发 文 件 :[结束][file]本地文件路径[/file]

8:发 音 乐 :[结束][music][title=这里填写标题],[des=这里是描述],[url=这里是点击打开网址],[musicurl=这里是音频文件网址][/music]

9:@某人 :#@wxid_xxx#内容 (1.多个wxid用英文逗号; 2.[内容]中必须包含@, 只要@多少个成员, 内容中就必须包含多少个@符号,可以在任意位置)

10:发 公 告 :[notice]公告内容[/notice] (注: 机器人必须是群主)

11:图片+文字:这里是返回的内容[结束]这里是第二条消息[结束][img]https://www.baidu.com/logo.gif[/img][结束][img]https://www.baidu.com/logo.gif[/img][结束]分割

12:多条消息:用 [结束] 分割

13:随机消息:用 | 符号

14:随机代码:[随机表情] , [随机字母]