java微信自动回复机器人开发(java微信开发学习笔记3)

本文介绍了如何使用Java开发微信自动回复机器人,通过获取用户消息并调用茉莉机器人的API来实现回复功能。详细讲解了代码实现,包括文本处理、API调用和必要的依赖库。
摘要由CSDN通过智能技术生成

微信自动回复机器人原理很简单,获取用户发送到后台的数据,然后调用机器人的api进行回复即可。我使用的茉莉机器人,官网地址如下:
http://www.itpk.cn/
茉莉机器人的api:http://www.itpk.cn/robot.php
接口比较简单,看看就会,我直接上源代码
下面代码同样基于之前的微博,需要的可以去看一下:
http://blog.csdn.net/zxxz5201314/article/details/76917107
首先对用户发送的文本进行处理,特殊字段分别处理,同样Post请求:

@SuppressWarnings("rawtypes")
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    // TODO Auto-generated method stub
    req.setCharacterEncoding("UTF-8");
    resp.setCharacterEncoding("UTF-8");
    PrintWriter writer = resp.getWriter();
    try {
        Map<String, String> map = MessageUtil.xmlToMap(req);
        String toUserName = map.get("ToUserName");
        String fromUserName = map.get("FromUserName");
        String msgType = map.get("MsgType");
        String content = map.get("Content");
        System.out.println(toUserName+fromUserName+msgType+content);
        String text = null;
        if ("text".equals(msgType)) {
            switch (content) {
            case "笑话":
                Map maps1 = (Map)JSON.parse(ITPK.itpk("笑话"));
                StringBuffer sb1 = new StringBuffer();
                sb1.append("标题:"+maps1.get("title")+"\n");
                sb1.append("内容:"+maps1.get("content"));
                text = MessageUtil.replyByKeyWord(toUserName, fromUserName, MessageUtil.Message_Text, sb1.toString());
                break;
            case "观音灵签":
                Map maps2 = (Map)JSON.parse(ITPK.itpk("观音灵签"));
                StringBuffer sb2 = new StringBuffer();
                sb2.append("您抽取的是第"+maps2.get("number2")+"签\n");
                sb2.append("签位:"+maps2.get("haohua")+"\n");
                sb2.append("签语:"+maps2.get("qianyu")+"\n");
                sb2.append("诗意:"+maps2.get("shiyi")+"\n");
                sb2.append("解签:"+maps2.get("jieqian"));
                text = MessageUtil.replyByKeyWord(t
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值