企业微信聊天机器人demo

24 篇文章 0 订阅
import java.io.IOException;

import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

import com.test.utils.LogUtil;

/**  
 * <p>Title:QyWxMsgUtil</p>  
 * <p>Description: 企业微信机器人工具类</p> 
 * 
 * @author admin
 * @date 2019年10月8日  
 */
public class QyWxMsgUtil {
    private static final LogUtil logger = LogUtil.getLogUtil(QyWxMsgUtil.class);
    
    public static void main(String[] args) {
        String webHookUrl="聊天机器人的地址";
        Integer titleLevel=0;
        String title="这是标题啊";
        String content="这是内容";
        sendQyWxTextMsg(webHookUrl, titleLevel, title, content);
    }

    
    /**  
     *
     * <p>Title: sendQyWxTextMsg</p>  
     *
     * <p>Description: 发送企业微信机器人文本内容</p>  
     *
     * @param webHookUrl
     * @param titleLevel 标题颜色:默认为green;1为yellow;2为red;
     * @param title
     * @param content
     * @return  
     *
     */
    public static boolean sendQyWxTextMsg(String webHookUrl,Integer titleLevel,String title,String content ){
        boolean result=false;
        String requestData = getRequestData(titleLevel, title, content);
        String resp = post(webHookUrl, requestData);
        logger.info("发送企业微信:返回结果:{0}", resp);
        if (resp!=null && resp.contains("ok")) {
            result=true;
        }
        return result;
        
    }

    /**  
     *
     * <p>Title: getRequestData</p>  
     *
     * <p>Description: 包装请求参数</p>  
     *
     * @param titleLevel
     * @param title
     * @param content
     * @return  
     *
     */
    public static String getRequestData(Integer titleLevel, String title, String content) {
        StringBuilder bd=new StringBuilder();
        String titleLevelStr="info";//green
        if (titleLevel!=null) {
            if (titleLevel==1) {
                titleLevelStr="comment";//yellow
            }else if (titleLevel==2) {
                titleLevelStr="warning";//red
            }
        }
        bd.append("{\r\n"); 
        bd.append("\"msgtype\": \"markdown\",\r\n"); 
        bd.append("\"markdown\": {\r\n");
        bd.append("\"content\": \"<font color='");
        bd.append(titleLevelStr);
        bd.append("'>");
        bd.append(title);
        bd.append("</font>\r\n"); 
        bd.append(content);
        bd.append("\"}\r\n");
        bd.append("}");
        return bd.toString();
    }
    
    /**  
     *
     * <p>Title: post</p>  
     *
     * <p>Description: 发送post请求</p>  
     *
     * @param url
     * @param content
     * @return  
     *
     */
    public static String post(String url, String content) {
        String str = null;
        CloseableHttpClient hc = HttpClients.createDefault();
        try{
            HttpPost req = new HttpPost(url);
            StringEntity entity = new StringEntity(content, "UTF-8");
            req.setEntity(entity);
            CloseableHttpResponse rep = hc.execute(req);
            try{
                str = EntityUtils.toString(rep.getEntity(), "UTF-8");
            }finally{
                rep.close();
            }
        }catch(Exception e){
            logger.error(e, "http post error : url={0},content={1}", url, content);
        }finally{
            try {
                hc.close();
            } catch (IOException e) {
                logger.error(e, "http client close error : url={0},content={1}", url, content);
            }
        }
        return str;
    }
}

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Django中创建一个企业微信聊天机器人,你可以使用企业微信提供的开发接口和Django的功能来实现。以下是一个简单的步骤: 1. 获取企业微信开发凭证:首先,你需要在企业微信开发者平台上注册一个账号,并创建一个企业应用。在创建应用时,你将获得一个CorpID(企业ID)和一个Secret(秘钥),它们将用于后续的认证和访问。 2. 配置企业微信回调URL:在企业微信开发者平台上,配置你的应用的回调URL。这个URL将用于接收企业微信发送的消息和事件。 3. 创建Django应用:使用Django的命令行工具创建一个新的Django应用。你可以运行`python manage.py startapp appname`来创建一个新的应用。"appname"是你给应用起的名称。 4. 编写机器人逻辑:在你创建的Django应用目录中,打开views.py文件,并编写处理企业微信消息和事件的逻辑。你可以使用企业微信提供的API来发送和接收消息,处理事件等。 5. 配置URL路由:打开项目目录下的urls.py文件,配置URL路由以将请求发送到你编写的机器人视图。你可以使用Django的URL路由机制来匹配URL和视图函数。 6. 配置企业微信回调URL验证:在你的Django应用中,编写一个视图函数来处理企业微信的URL验证请求。你需要将企业微信发送的验证参数进行处理,并返回相应的响应。 7. 运行开发服务器:保存你的代码并在命令行中运行`python manage.py runserver`来启动Django的开发服务器。确保你的应用和URL配置正确无误。 8. 部署应用程序:当你测试完成后,你可以将你的Django应用程序部署到生产环境中,以便可以在企业微信中使用你的聊天机器人。 请注意,以上步骤只是一个简单的示例,实际上还有很多其他的细节和功能可以涉及。你需要参考企业微信开发文档和Django文档来了解更多详细信息,并根据你的具体需求进行定制和扩展。希望这对你有所帮助!如果你还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值