微信群机器人怎么弄的_微信群机器人哪个好用

微信群机器人怎么弄的_微信群机器人哪个好用实战预警,通过机器人实时监控,让你及时感知异常

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

? 创建机器人

  • 选择群右键管理聊天信息添加群机器人
  • 完善机器人基本信息,包括头像、名称等

添加群机器人

添加机器人按钮

完善机器人信息

? 机器人配置说明

  • 创建好的机器人都有一个唯一的 webhook 地址
  • 一定要保护好自己的 webhook 地址,如果一旦泄露,可以通过移除机器人,再重新创建一个去处理
  • 点击 webhook 地址,可以看到文档说明,也可以进行普通的推送消息配置
  • 其中的自定义推送消息,在机器人配置说明栏目里面有详细说明,但是需要自己开发

机器人webhook

机器人配置说明文档

? 机器人信息推送

  • 当前自定义机器人 支持文本(text)、markdown(markdown)、图片(image)、图文(news)四种消息类型
  • 我们只要根据它的文档说明,将指定类型的消息发送给 webhook 地址即可实现消息推送
// 文本消息类型
{
    "msgtype": "text",
    "text": {
        "content": "广州今日天气:29度,大部分多云,降雨概率:60%",
        "mentioned_list":["wangqing","@all"],
        "mentioned_mobile_list":["13800001111","@all"]
    }
}

// markdown消息类型
{
    "msgtype": "markdown",
    "markdown": {
        "content": "实时新增用户反馈<font color="warning">132例</font>,请相关同事注意。\n
         >类型:<font color="comment">用户反馈</font>
         >普通用户反馈:<font color="comment">117例</font>
         >VIP用户反馈:<font color="comment">15例</font>"
    }
}

// 图片消息类型
{
    "msgtype": "image",
    "image": {
        "base64": "DATA",
        "md5": "MD5"
    }
}

// 图文消息类型
{
    "msgtype": "news",
    "news": {
       "articles" : [
           {
               "title" : "中秋节礼品领取",
               "description" : "今年中秋节公司有豪礼相送",
               "url" : "www.qq.com",
               "picurl" : "http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png"
           }
        ]
    }
}

? 错误预警推送

  • 这里以 Thinkphp 框架为例,将错误预警整合到项目中,实现实时错误推送
  • 首先在 config 配置文件添加错误处理类,执行哪个文件来处理错误
  • 配置完成后,项目只要遇到错误,程序都会走指定的文件去处理
  • 然后在该文件中完善错误推送预警逻辑即可,一般错误预警都是用 markdown 类型进行推送
'exception_handle'       => '\app\common\exception\WorkWx',
<?php
namespace app\common\exception;

use Exception;
use itbdw\Ip\IpLocation;
use app\common\util\Helper;
use think\exception\Handle;
use think\exception\HttpException;
use think\exception\ValidateException;

class WorkWx extends Handle
{
    const WEBHOOK = '填写你自己的webhook地址';

    public function render(Exception $e)
    {
        $clientIP = Helper::getClientIp();
        $clientAddress = IpLocation::getLocation($clientIP);
        unset($clientAddress['ip']);
        $ipAddress = implode('-', $clientAddress);

        // 参数验证错误
        if ($e instanceof ValidateException) {
            $data = [
                'msgtype' => 'markdown',
                'markdown' => [
                    'content' => "来自 **<font color="info">天眼</font>** 的温馨提醒,请相关同事注意。
                             >**描述:** <font color="comment">参数验证错误</font>
                             >**端IP:** <font color="comment">{$clientIP}</font>
                             >**地址:** <font color="comment">{$ipAddress}</font>
                             >**状态:** <font color="comment">{$e->getCode()}</font>
                             >**行数:** <font color="comment">{$e->getLine()}</font>
                             >**文件:** <font color="red">{$e->getFile()}</font>
                             >**提示:** <font color="warning">{$e->getError()}</font>
                             >**信息:** <font color="warning">{$e->getMessage()}</font>"
                ]
            ];

            return Helper::postCurl(self::WEBHOOK, json_encode($data));
        }

        // 请求异常
        if ($e instanceof HttpException) {
            $data = [
                'msgtype' => 'markdown',
                'markdown' => [
                    'content' => "来自 **<font color="info">天眼</font>** 的温馨提醒,请相关同事注意。
                             >**描述:** <font color="comment">请求异常</font>
                             >**端IP:** <font color="comment">{$clientIP}</font>
                             >**地址:** <font color="comment">{$ipAddress}</font>
                             >**状态:** <font color="comment">{$e->getCode()}</font>
                             >**行数:** <font color="comment">{$e->getLine()}</font>
                             >**文件:** <font color="red">{$e->getFile()}</font>
                             >**信息:** <font color="warning">{$e->getMessage()}</font>"
                ]
            ];

            return Helper::postCurl(self::WEBHOOK, json_encode($data));
        }


        // 其他错误交给系统处理
        return parent::render($e);
    }
}

错误预警效果预览

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170858.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月16日 上午11:00
下一篇 2022年8月16日 下午7:00


相关推荐

  • webservice有哪些框架_前端主流js框架

    webservice有哪些框架_前端主流js框架Webservice框架CXF最新版本:2.2.2开源服务框架,可以通过API,如JAX-WS,构建和开发服务。服务可以使多种协议的,例如SOAP,XML/HTTP,RESTfulHTTP, CORBA,并可以工作与多种传输协议之上,如HTTP,JMS,JBI。主要特性l 支持Webservice标准:包括SOAP,theBasicProfile,WSDL,WS-Addres…

    2026年2月12日
    8
  • php开源在线客服系统_源码屋

    php开源在线客服系统_源码屋另外,客#服源码也不太适用于小规模的企业通讯场景,用客#服源码往企业通讯场景上套就有点“杀鸡用牛刀”,因为企业通讯更强调功能丰富而非极限性能,与客#服源码的目标不符,所以二者的上层设计也不同。另外,在产品对比章节下,我们也提到了客#服源码项目的缺点供您参考。1、(业务功能完善性)客#服源码支持几乎所有商用即时通讯产品所支持的即时通讯相关功能(甚至还有更多的业务功能),且无业务功能限制,同时也支持一些诸如敏感词过滤(基于双数组Trie的AC自动机算法实现)、消息冷热分离存储等高级IM功能。……….

    2026年2月11日
    17
  • 流媒体服务器搭建亲测有效(srs)

    流媒体服务器搭建亲测有效(srs)流媒体服务器搭建流程第一步去官网下载 srs 的源码文件官网地址 https github com ossrs srs usage 说明 建议下载 4 0 版本 3 0 的需要 flash 的支持 目前谷歌浏览器已经停止了 flash 的使用 第二步按照官网的步骤进行操作 1 进行解压文件包 linux 命令 unzip 文件名 2 进入到解压的文件目录 cdsrs trunk3 执行编译 configure amp amp make4 启动项目 objs srs cconf srs con

    2026年3月17日
    2
  • linux tty 软件包,linux学习之安装ttylinux(世界最小的linux操作系统)(转载)

    linux tty 软件包,linux学习之安装ttylinux(世界最小的linux操作系统)(转载)第一步,用WinRAR解压缩bootcd-i486-8.1.iso.gz,变成,bootcd-i486-8.1.iso镜像文件备用。第二步,在VirtualBox中新建一个虚拟电脑,并指定内存大小和硬盘大小,我们可以设定为内存256M,硬盘512M。第三步,指定虚拟光驱为bootcd-i486-8.1.iso镜像文件,双击新建的虚拟电脑图标启动即可。第四步,用虚拟光驱启动后,进入系统:输入用户名…

    2022年8月12日
    9
  • 用Matlab筛选mirbase,一种基于miRBase数据库的植物有参的miRNA数据分析方法与流程…

    用Matlab筛选mirbase,一种基于miRBase数据库的植物有参的miRNA数据分析方法与流程…本发明涉及转录组测序领域 具体涉及一种在 miRBase 数据库中有参考数据的植物 miRNA 测序的数据分析方法 背景技术 miRNA 是一类由内源基因编码非编码单链 RNA 分子 在动植物中参与转录后基因表达调控 多数 miRNA 以单拷贝 多拷贝或基因簇的形式存在于基因组中 miRNA 在很多物种中被广泛发现 且在进化进程中高度保守 因此研究 miRNA 的确切功能 目的靶基因 以及其作用机制 是转录组学数据分析中

    2026年3月19日
    2
  • Vue子组件向父组件传值(this.$emit()方法)「建议收藏」

    Vue子组件向父组件传值(this.$emit()方法)「建议收藏」子组件使用this.$emit()向父组件传值首先必须在父组件中引用子组件,然后实现传值 第一步在父组件中引入子组件 使用import引入组件importindexImportOrderfrom’./components/indexImportOrder’声明//定义组件components:{indexImportOrder,…

    2022年10月2日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号