环境下载
进入可爱猫机器人官网下载运行环境
特点:需要桌面环境运行,同时需要登录PC版微信
接受消息回调API
接口参数如下
参数 |
类型 |
描述 |
type |
int |
事件类型[见下方事件类型表] |
from_wxid |
String |
1级来源id(比如发消息的人的id) |
from_name |
String |
1级来源昵称(比如发消息的人昵称) |
final_from_wxid |
String |
2级来源id(群消息事件下,1级来源为群id,2级来源为发消息的成员id,私聊事件下都一样) |
final_nickname |
String |
2级来源昵称 |
robot_wxid |
String |
当前登录的账号(机器人)标识id |
msg |
String |
消息内容 |
parameters |
String |
附加参数(暂未用到,请忽略) |
time |
int |
请求时间(时间戳10位版本) |
[事件类型表]
事件类型type数值 |
描述 |
100 |
私聊消息 |
200 |
群聊消息 |
300 |
暂无 |
400 |
群成员增加 |
410 |
群成员减少 |
500 |
收到好友请求 |
600 |
二维码收款 |
700 |
收到转账 |
800 |
软件开始启动 |
900 |
新的账号登录完成 |
910 |
账号下线 |
发送指令API
URL: http://127.0.0.1:8073/send
发送文本消息
参数 |
描述 |
type |
100 |
msg |
发送内容 |
to_wxid |
对方id |
robot_wxid |
账户id,用哪个账号去发送这条消息 |
发送群消息并艾特某人
参数 |
描述 |
type |
102 |
robwxid |
账户id,用哪个账号去发送这条消息 |
to_wxid |
群id |
at_wxid |
艾特的id,群成员的id |
at_name |
艾特的昵称,群成员的昵称 |
msg |
消息内容 |
发送图片消息
参数 |
描述 |
type |
103 |
robwxid |
登录账号id,用哪个账号去发送这条消息 |
to_wxid |
对方的id,可以是群或者好友id |
path |
图片的绝对路径 |
发送视频消息
参数 |
描述 |
type |
104 |
robwxid |
账户id,用哪个账号去发送这条消息 |
to_wxid |
对方的id,可以是群或者好友id |
path |
视频的绝对路径 |
发送文件消息
参数 |
描述 |
type |
105 |
robwxid |
账户id,用哪个账号去发送这条消息 |
to_wxid |
对方的id,可以是群或者好友id |
path |
文件的绝对路径 |
发送动态表情
参数 |
描述 |
type |
106 |
robwxid |
账户id,用哪个账号去发送这条消息 |
to_wxid |
对方的id,可以是群或者好友id |
path |
动态表情文件(通常是gif)的绝对路径 |
发送分享链接
参数 |
描述 |
type |
107 |
robwxid |
账户id,用哪个账号去发送这条消息 |
to_wxid |
对方的id,可以是群或者好友id |
msg |
{“title”:”链接标题”,”text”:”链接内容”,”url”:”跳转链接”,”pic”:”图片链接”} |
发送音乐消息
参数 |
描述 |
type |
108 |
robwxid |
账户id,用哪个账号去发送这条消息 |
to_wxid |
对方的id,可以是群或者好友id |
name |
歌曲名字 |
取指定登录账号的昵称
参数 |
描述 |
type |
201 |
robwxid |
账户id |
取指定登录账号的头像
参数 |
描述 |
type |
202 |
robwxid |
账户id |
取登录账号列表
取好友列表
参数 |
描述 |
type |
204 |
robwxid |
账户id |
is_refresh |
是否刷新 |
取群聊列表
参数 |
描述 |
type |
205 |
robwxid |
账户id |
is_refresh |
是否刷新 |
取群成员资料
参数 |
描述 |
type |
206 |
robwxid |
账户id |
group_wxid |
群id |
is_refresh |
是否刷新 |
取群成员列表
参数 |
描述 |
type |
207 |
robwxid |
账户id |
group_wxid |
群id |
member_wxid |
群成员id |
接收好友转账
参数 |
描述 |
type |
301 |
robwxid |
账户id |
friend_wxid |
朋友id |
json_string |
转账事件原消息 |
同意群聊邀请
参数 |
描述 |
type |
302 |
robwxid |
账户id |
json_string |
同步消息事件中群聊邀请原消息 |
同意好友请求
参数 |
描述 |
type |
303 |
robwxid |
账户id |
json_string |
好友请求事件中原消息 |
修改好友备注
参数 |
描述 |
type |
304 |
robwxid |
账户id |
friend_wxid |
好友id |
note |
新备注(空字符串则是删除备注) |
删除好友
参数 |
描述 |
type |
305 |
robwxid |
账户id |
friend_wxid |
好友id |
踢出群成员
参数 |
描述 |
type |
306 |
robwxid |
账户id |
group_wxid |
群id |
member_wxid |
群成员id |
修改群名称
参数 |
描述 |
type |
307 |
robwxid |
账户id |
group_wxid |
群id |
group_name |
新群名 |
修改群公告
参数 |
描述 |
type |
308 |
robwxid |
账户id |
group_wxid |
群id |
notice |
新公告 |
建立新群
参数 |
描述 |
type |
309 |
robwxid |
账户id |
friends |
三个人及以上的好友id数组,[‘wxid_1xxx’, ‘wxid_2xxx’, ‘wxid_3xxx’, ‘wxid_4xxx’] |
退出群聊
参数 |
描述 |
type |
310 |
robwxid |
账户id |
group_wxid |
群id |
邀请加入群聊
参数 |
描述 |
type |
311 |
robwxid |
账户id |
group_wxid |
群id |
friend_wxid |
好友id |
java调用示例
*笔者使用的是htmlunit工具,maven引入如下
1 2 3 4 5
| <dependency> <groupId>net.sourceforge.htmlunit</groupId> <artifactId>htmlunit</artifactId> <version>2.33</version> </dependency>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| import com.gargoylesoftware.htmlunit.HttpMethod; import com.gargoylesoftware.htmlunit.Page; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.WebRequest; import net.sf.json.JSONObject; import java.net.URL; import java.net.URLEncoder;
public class KeAImao {
public static JSONObject sendCatPOST(JSONObject body) throws Exception{ WebClient webClient = new WebClient(); WebRequest webRequest = new WebRequest(new URL("http://127.0.0.1:8073/send"), HttpMethod.POST); webRequest.setRequestBody(body.toString()); Page page = webClient.getPage(webRequest); JSONObject JSON = JSONObject.fromObject(page.getWebResponse().getContentAsString()); return JSON; }
public static void main(String[] args) throws Exception{ String msg = URLEncoder.encode("abcABC\n测试","utf-8"); JSONObject jsonBody = new JSONObject(); jsonBody.put("type", "100"); jsonBody.put("msg", msg); jsonBody.put("to_wxid", "wxid_*************"); jsonBody.put("robot_wxid", "wxid_*************"); KeAImao.sendCatPOST(jsonBody); } }
|