飞书开发学习笔记(七)-添加机器人及发送webhook消息

这篇具有很好参考价值的文章主要介绍了飞书开发学习笔记(七)-添加机器人及发送webhook消息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

飞书开发学习笔记(七)-添加机器人及发送webhook消息

一.添加飞书机器人

1.1 添加飞书机器人过程

在群的右上角点击折叠按键…选择 设置
飞书webhook,飞书开发学习笔记,JSON,飞书,笔记,python,机器人
群机器人中选择 添加机器人
飞书webhook,飞书开发学习笔记,JSON,飞书,笔记,python,机器人
选择自定义机器人,通过webhook发送消息
飞书webhook,飞书开发学习笔记,JSON,飞书,笔记,python,机器人
弹出的信息中有webhook地址,选择复制。
安全设置后续可以设置,比如将信任的IP地址加入IP白名单。
选择仅群主和添加者可以编辑移除机器人。
飞书webhook,飞书开发学习笔记,JSON,飞书,笔记,python,机器人
至此,群机器人添加成功。

1.2 利用webhook使用群机器人发送消息

机器人概述:机器人概述
发送复杂信息可使用消息卡片,在后续有详细说明,此处只发送简单信息。
简单信息格式

{"msg_type":"text","content":{"text":"request example"}}

windows使用cmd命令行发送:

curl -X POST -H "Content-Type: application/json" -d "{\"msg_type\":\"text\",\"content\":{\"text\":\"request example\"}}" https://open.feishu.cn/open-apis/bot/v2/hook/XXXXXXXXXXXXX

报错了,因此先要安装curl
飞书webhook,飞书开发学习笔记,JSON,飞书,笔记,python,机器人
下载curl,下载地址 https://curl.se/download.html
安装好以后,切换到curl命令目录 重新运行

curl -X POST -H "Content-Type: application/json" -d "{\"msg_type\":\"text\",\"content\":{\"text\":\"request example\"}}" https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxx

群里收到了机器人发来的消息
飞书webhook,飞书开发学习笔记,JSON,飞书,笔记,python,机器人
这只是简单信息,如果复杂一点,则需使用消息卡片搭建工具发送卡片信息。

1.3 python发送webhook消息

  1. 简单格式,只有文本
{"msg_type":"text","content":{"text":"测试简单信息"}}
  1. 富文本格式,支持
{
	"msg_type": "post",
	"content": {
	        "post": {
	                "zh_cn": {
	                        "title": "富文本信息",
	                        "content": [
	                                [{ "tag": "text", "text": "富文本信息: "},
	                                 { "tag": "a", "text": "请查看","href": "http://www.example.com/"},
	                                 {"tag": "at","user_id": "ou_18eac8********17ad4f02e8bbbb"}] 
	                                 ]
	                         }
	                }
	            } 
}

写个简单的Python程序也可以发送webhook消息,注意消息是要json编码的

import requests
import json

msg = {
"msg_type": "text",
"content": {"text": "你好"}
}

webhook_url=" https://open.feishu.cn/open-apis/bot/v2/hook/XXXX"

headers = {
"Content-type": "application/json",
"charset":"utf-8"
}

msg_encode=json.dumps(msg,ensure_ascii=True).encode("utf-8")
reponse=requests.post(url=webhook_url,data=msg_encode,headers=headers)
print(reponse)

发送效果:
简单信息
飞书webhook,飞书开发学习笔记,JSON,飞书,笔记,python,机器人
富文本信息
飞书webhook,飞书开发学习笔记,JSON,飞书,笔记,python,机器人

1.3 安全设置

安全设置中有三个选项。

如果勾选自定义关键词,最多可以同时设置 10 个关键词,多个关键词之间使用回车键间隔。设置后,只有包含至少一个关键词的消息才会被成功发送。
例如,关键词设置了“应用报警”与“项目更新”,则请求 webhook 的信息中至少需要包含“应用报警”或“项目更新”其中一个关键词。

如果勾选设置 IP 白名单,支持添加 IP 地址或地址段,最多可设置 10 个,使用回车键间隔。支持段输入,例如 123.12.1.* 或 123.1.1.1/24。设置后,机器人 webhook 地址只处理来自 IP 白名单范围内的请求。

如果勾选 签名校验,则系统会提供一个密钥,需要利用python等程序制作一个加密算法,生成加密后字符串。
所校验的签名需要通过时间戳与秘钥进行算法加密,即将timestamp + “\n” + 密钥当做签名字符串,使用 HmacSHA256 算法计算签名,再进行 Base64 编码。其中,timestamp是指距当前时间不超过 1 小时(3600 秒)的时间戳,时间单位:s。例如,1599360473。
飞书webhook,飞书开发学习笔记,JSON,飞书,笔记,python,机器人
python的加密算法,返回sign即为加密后消息

import hashlib
import base64
import hmac

def gen_sign(timestamp, secret):
    # 拼接timestamp和secret
    string_to_sign = '{}\n{}'.format(timestamp, secret)
    hmac_code = hmac.new(string_to_sign.encode("utf-8"), digestmod=hashlib.sha256).digest()

    # 对结果进行base64处理
    sign = base64.b64encode(hmac_code).decode('utf-8')

    return sign

二.消息卡片搭建工具

2.1 了解消息卡片搭建工具

消息卡片搭建工具
是飞书的卡片消息格式制作工具,即自定义的消息模板,可以为飞书开发提供丰富的消息格式。
以下为示例格式:
飞书webhook,飞书开发学习笔记,JSON,飞书,笔记,python,机器人

2.2 卡片的超文本格式定义##

elements为卡片的内容:
1.第一部分卡片文字, tag为markdown,内容Content中,文字常用的格式如下(MarkDown格式)

  • 加粗 **张三** 张三
  • 斜体 *斜体* 斜体
  • 斜体加粗 ***张三*** 张三
  • 删除 ~~张三~~ 张三
  • 颜色 <font color=red> 张三<font> 张三
  • 链接 [张三](https://www.feishu.cn) 张三
  1. 第二部分为图片,alt为图片提示,migkey为图片索引,定位到拖动上传的图片
  2. 第三部分为按钮,在actions中定义了按钮文字content,以及按钮类型primary以及跳转地址url
  3. 第四部分为标题header,定义了卡片标题title和模板template
    飞书webhook,飞书开发学习笔记,JSON,飞书,笔记,python,机器人
{
  "config": {
    "wide_screen_mode": true
  },
  "elements": [
    {
      "tag": "markdown",
      "content": "请单件文档查看昨天讨论的方案相关飞书文档,注意作者为 <font color=red> **张三** <font> 版本为 \n*002* ,版本 ~~001~~ 已经删除。文件地址是 [https://www.feishu.cn](https://www.feishu.cn),打开次数:${doc_read_num}次""
    },
    {
      "alt": {
        "content": "图片",
        "tag": "plain_text"
      },
      "img_key": "img_v3_025c41g",
      "tag": "img"
    },
    {
      "tag": "action",
      "actions": [
        {
          "tag": "button",
          "text": {
            "tag": "plain_text",
            "content": "打开文档链接"
          },
          "type": "primary",
          "url": "https://nio.feishu.cn/docx/UM8c1oNxnkh"
        }
      ]
    }
  ],
  "header": {
    "template": "blue",
    "title": {
      "content": "查看讨论的飞书文档",
      "tag": "plain_text"
    }
  }
}

飞书webhook,飞书开发学习笔记,JSON,飞书,笔记,python,机器人
定义完成以后,可以利用"向我发送预览",查看效果。
开发者小助手会将消息推送给作者。
飞书webhook,飞书开发学习笔记,JSON,飞书,笔记,python,机器人

2.3 利用Python程序发送webhook卡片

这里的卡片必须按照下列格式才能用webhook发送。

{
    "msg_type": "interactive",
    "card": {
        "elements": [{
                "tag": "div",
                "text": {
                        "content": "**西湖**,位于浙江省杭州市西湖区龙井路1号,杭州市区西部,景区总面积49平方千米,汇水面积为21.22平方千米,湖面面积为6.38平方千米。",
                        "tag": "lark_md"
                }
        }, {
                "actions": [{
                        "tag": "button",
                        "text": {
                                "content": "更多景点介绍 :玫瑰:",
                                "tag": "lark_md"
                        },
                        "url": "https://www.example.com",
                        "type": "default",
                        "value": {}
                }],
                "tag": "action"
        }],
        "header": {
                "title": {
                        "content": "今日旅游推荐",
                        "tag": "plain_text"
                }
        }
    }
}

再次调用上面的Python程序,将msg改为卡片内容发送:
得到卡片消息效果:
飞书webhook,飞书开发学习笔记,JSON,飞书,笔记,python,机器人
以上,利用python通过机器人发送webhook消息就完成了。文章来源地址https://www.toymoban.com/news/detail-752550.html

到了这里,关于飞书开发学习笔记(七)-添加机器人及发送webhook消息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Postman】调用飞书机器人接口发送消息

    1、进入飞书,新建一个群组,添加机器人 2、点击该机器人,复制webhook地址 3、打开postman,在url中输入该webhook地址,输入需要请求的json内容,点击发送 内容例如: 4、飞书就会收到对应的消息推送了 5、请求内容的格式参见飞书机器人文档 自定义机器人指南

    2024年02月13日
    浏览(59)
  • 企业微信、飞书、钉钉机器人消息发送工具类

    其实你也可以使用RestTemplate,我这里主要是用到了webflux框架,所以需要实例化客户端请求对象

    2024年02月10日
    浏览(53)
  • linux+Jenkins+飞书机器人发送通知(带签名)

    自定义机器人使用指南飞书官网https://open.feishu.cn/document/client-docs/bot-v3/add-custom-bot 我这个设置了签名的,具体怎么设置签名可以查看飞书官方文档 可以看到上传去是没有执行权限的,一定要记得叫上执行权限 chmod +x sendMsg.py 最后一个参数标识 0 开始构建 1 构建完成 /opt/java/scri

    2024年02月15日
    浏览(59)
  • python飞书群机器人通过webhook发送消息

    python飞书群机器人通过webhook发送消息

    2024年02月06日
    浏览(59)
  • 【Jenkins】+【飞书机器人】发送通知(带签名)【Linux】

    自定义机器人使用指南飞书官网https://open.feishu.cn/document/client-docs/bot-v3/add-custom-bot 我这个设置了签名的,具体怎么设置签名可以查看飞书官方文档 可以看到上传去是没有执行权限的,一定要记得叫上执行权限 chmod +x sendMsg.py 最后一个参数标识 0 开始构建 1 构建完成 /opt/java/scri

    2024年02月13日
    浏览(41)
  • 【Linux】+【Jenkins】+【飞书机器人】发送通知(带签名)

    自定义机器人使用指南飞书官网https://open.feishu.cn/document/client-docs/bot-v3/add-custom-bot 我这个设置了签名的,具体怎么设置签名可以查看飞书官方文档 可以看到上传去是没有执行权限的,一定要记得叫上执行权限 chmod +x sendMsg.py 最后一个参数标识 0 开始构建 1 构建完成 /opt/java/scri

    2024年02月14日
    浏览(41)
  • Jenkins+Allure测试报告+飞书机器人发送通知

    本篇讲述在jenkins构建成功后,如何生成测试报告,以及推送飞书(因为我公司用的是飞书,所以是发送到飞书机器人)。 本次实践搞了一天,踩了一些坑,其中有2个坑可参考如下: 1、关于jenkins生成allure报告是空的:https://blog.csdn.net/qq_37159446/article/details/122233467 2、如遇到构

    2024年02月04日
    浏览(37)
  • php对接飞书自定义机器人发送消息功能

    今天收到一个需求,需要定时去监控业务是否正常稳定,并将错误信息发送到飞书,之前接入过钉钉机器人都比较顺利,但是今天接入飞书居然卡了半天,特此分享给大家,避免踩坑 1,首先创建飞书机器人 2.创建完成之后,获取机器人对应的 webhook 地址 格式如下: 3.下面提

    2024年04月09日
    浏览(53)
  • Grafana无法发送告警消息的飞书webhook(机器人)

    Grafana无法向飞书机器人发送报警消息,实测使用Grafana自带的webhook也不好使,对于用飞书办公的程序猿非常不便,后来发现一个报警神器,开源免费,关键是好用 PrometheusAlert PrometheusAlert是一个即装即用的程序,非常好用,具体步骤如下: 进入模板页面 找到grafana-fs进入 测试

    2024年02月03日
    浏览(55)
  • Python实现飞书机器人定时发送文本、图片等群消息

    工作中会经常遇到监控告警相关问题,监控和告警的目的是要在事中及时发现问题并定位系统问题,那么当系统或平台出现问题了,如何及时暴露这些问题给对应的项目开发人员呢? 本文记录了在Python项目中利用飞书的自定义机器人webhook向飞书群推送文本及图片消息~ 飞书群

    2024年01月25日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包