钉钉群聊机器人

使用自定义钉钉机器人进行消息推送
一、下载钉钉客户端(电脑版)

https://page.dingtalk.com/wow/dingtalk/act/download?spm=a213l2.13146415.4929779444.74.7f1521c9mAY6yf

设置自定义机器人需要电脑版的客户端进行设置权限问题手机无法设置;

二、设置电脑机器人
步骤一:【电脑钉钉 】-【群聊】-【群设置】-【智能群助手】-【添加更多】-【添加机器人】-【自定义】-【添加】,编辑机器人名称和选择添加的群组。完成必要的安全设置(至少选择一种),勾选 我已阅读并同意《自定义机器人服务及免责条款》,点击“完成”即可。
这里需要添加安全设置本人选择的是加签的方式。后续给出对应的api方案

在这里插入图片描述
步骤二:复制出机器人的Webhook地址(格式如下截图),可用于向这个群发送消息。并点击【完成】,自定义机器人就添加成功了。
在这里插入图片描述
三、加签方式的对接
在这里插入图片描述
如上图所示选择安全为加签的方式需要加签运算附上说明文档地址

获取机器人的加签的地址(webhook+加签验证组成)
 /**
     * **获取认证的sign地址(webhook+加签验证组成)**
     * timestamp
     * 当前时间戳,单位是毫秒,与请求调用时间误差不能超过1小时
     *
     * secret
     * 密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串
     * 把 timestamp和第一步得到的签名值拼接到URL中。
     * https://oapi.dingtalk.com/robot/send?access_token=XXXXXX&timestamp=XXX&sign=XXX
     *
     * 参考https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq
     * @return
     * @throws Exception
     */
    public static String sign() throws Exception{
        Long timestamp = System.currentTimeMillis();
        String secret = "SEC0e2560d92a402e84bb6343b82bf4fe7283f2c1b7e72e5a516d83271******";

        String stringToSign = timestamp + "\n" + secret;
        Mac mac = Mac.getInstance("HmacSHA256");
        mac.init(new SecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA256"));
        byte[] signData = mac.doFinal(stringToSign.getBytes("UTF-8"));
        String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)),"UTF-8");
        String signUrl = URL+"&timestamp="+timestamp+"&sign="+sign;
        return  signUrl;
    }
/**
     * 发送钉钉机器人消息
     * @param body
     * @return
     * @throws Exception
     */
    private static String post(Map body) throws Exception{

        String returnString = null;

        try {
            returnString = Request.Post(sign()).connectTimeout(3000)
                    .bodyString(JSON.toJSONString(body), ContentType.APPLICATION_JSON).execute().returnContent().asString();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return returnString;

    }
    
    //测试调用机器人发送消息
    public static void main(String[] args) throws Exception{
        Long begin = System.currentTimeMillis();

        MapFactory mapFactory = new MapFactory();
        mapFactory.put("msgtype", "markdown")
                .put("markdown", new MapFactory().put("text", "![马化腾](https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1374801086,2403386933&fm=27&gp=0.jpg)").put("title", "马化腾给您发消息了").getMap())
                .put("at", new MapFactory().put("atMobiles", new String[]{"1", "2"}).getMap())
                .put("isAtAll", false);
        Long end = System.currentTimeMillis();

        post(mapFactory.getMap());
        System.out.println((end - begin) + "ms");
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
avbot 连通 IRC、XMPP 和 QQ群, 并作为 AVIM 群机器人实现 AVIM 群聊功能. 能实时记录聊天信息。每日自动生成新的日志文件。使用方法和介绍参考 社区维基的avbot介绍编译请参考 社区维基的avbot编译指导For Windows 编译注意windows 版本有自动编译版,请到 ftp://ci.avplayer.org 下载。想了解 avbot 最重要的子模块 libwebqq 请点开 libwebqq 目录查看其 README.md支持的系统cmake >= 3.0GCC 系centos >= 7ubuntu >= 14.04debian >= 7和其他一些 gcc >= 4.8 的系统。MSVC 系VisutalStudio 2013 (支持 Vista 以上系统)VisutalStudio 2013 - vc120_xp toolset (支持 Windows XP 以上系统)启用步骤cmake -G "VisualStudio 12 2013 Win64" -T "vc120_xp"icc 系icc >= 14clang 系clang >= 3.4编译注意事项请不要在源码文件夹里直接执行 cmake. 务必创建一个专用的文件夹存放编译中间文件,如建立个 build 文件夹。 然后在 build 文件夹里执行 cmake PATH_TO_AVBOT因为 cmake 有很多时候,需要删除 build 文件夹重新执行,而在源码内部直接 cmake ,则因为文件夹混乱,不好清除中间文件boost 相关boost 需要至少 1.57 版本。boost 请静态编译, gentoo 用户注意 USE=static-libs emerge boostwin 下, boost 请使用 link=static runtime-link=static 执行静态编译 (包括 mingw 下)。linux 下如果必须自己编译 boost 的话,请使用参数 link=static runtime-link=shared --layout=system variant=release --prefix=/usr 执行编译。link=static 表示编译为静态库, runtime-link=static 则表示,应用程序最终会使用静态链接的 C 运行时。这个在 windows 平台是必须的要求。因为 VC 的 C 和 C 运行时打包起来非常麻烦。(mingw 的也一样)linux 那边 runtime-link=shared 表示使用动态链接的 libstdc .so, libstdc .so 无需静态链接,不是么 ;)添加 --layout=system variant=release 才能编译出 libbosot_context.a 这样的不带各种后缀的库版本。MSVC 相关理论上 2012 版本也是支持的,不过没有测试过。cmake 生成好 VC 工程然后打开 avbot.sln 即可。如果 boost 在 c:/boost 则无需额外设置 如果不是,需要设定 BOOST_ROOT, 可以在 cmake-gui 里点 configure 按钮前,通过 "Add Enytry" 按钮添加。关于历史avbot 的历史剧烈膨胀, 达到 127MB 之巨, 已经严重影响到国内用户执行 git clone 了. 正好 avbot 经历了一次重构, 因此重构后 avbot 丢弃全部历史轻装上阵. 当然历史并非真的丢弃, 已经有一份完整的历史在 https://github.com/microcai/avbot 备份了.关于商业开发avbot 提供一份商业授权. 因为 avbot 对 XMPP 协议的支持是使用的 gloox, gloox 是个GPL授权的库. 因此 xmpp 支持会被禁用. 除非你同时购买了 gloox 的商业授权.购买商业授权后, 您可以:1. 修改avbot的代码并无需公开自己的修改 2. 获得为期一年的技术支持 (可续) 3. 将 avbot 集成到自己的商业产品中 标签:avbot  聊天机器人  avplayer

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值