添加飞书机器人及发送webhook消息
发送消息内容结构 - 服务端 API - 开发文档 - 飞书开放平台
卡片 JSON 结构 - 开发指南 - 开发文档 - 飞书开放平台
富文本(Markdown) - 开发指南 - 开发文档 - 飞书开放平台
飞书开发学习笔记(七)-添加机器人及发送webhook消息_飞书webhook推送-CSDN博客
Python实现飞书机器人定时发送文本、图片等群消息_飞书机器人发送图片-CSDN博客
import json from datetime import datetime import requests from config import report_url, report_port, mantis_ip, feishu_robot_webhook from data import get_issues_group_by_project from sqlite_utils import SqliteUtils date = datetime.now().strftime('%Y-%m-%d') def send_rich_text_message(): yesterday_unconfirmed = {} res1 = eval(SqliteUtils().get_issues(datetime.now().strftime('%Y-%m-%d'), 'yesterday_unconfirmed')[0][2]) longTime_unconfirmed = {} res2 = eval(SqliteUtils().get_issues(datetime.now().strftime('%Y-%m-%d'), 'longTime_unconfirmed')[0][2]) confirmed_unresolved = {} res3 = eval(SqliteUtils().get_issues(datetime.now().strftime('%Y-%m-%d'), 'confirmed_unresolved')[0][2]) for k, v in {'yesterday_unconfirmed': res1, 'longTime_unconfirmed': res2, 'confirmed_unresolved': res3}.items(): for k2, v2 in v.items(): eval(k)[f"{k2}({str(len(v2))})"] = [] for _ in v2: eval(k)[f"{k2}({str(len(v2))})"].append(f"http://{mantis_ip}/bt/view.php?id={_}") # print(yesterday_unconfirmed) # print(longTime_unconfirmed) # print(confirmed_unresolved) # for items in [yesterday_unconfirmed, longTime_unconfirmed, confirmed_unresolved]: for items in [{'昨天未确认issues': yesterday_unconfirmed}, {'超48小时未确认issues': longTime_unconfirmed}, {'已分配未解决issues': confirmed_unresolved}]: for k, v in items.items(): content = [] for k2, v2 in v.items(): lst = [] lst.append({"tag": "text", "text": k2}) for _ in v2: lst.append({"tag": "a", "text": f"{_.split('=')[1]}、", "href": _}) content.append(lst) # print(content) # 测试群 # url = '' url = feishu_robot_webhook headers = { "Content-Type": "application/json; charset=utf-8", } payload_message = { "msg_type": "post", "content": { "post": { "zh_cn": { "title": k, "content": content, } } } } response = requests.post(url=url, data=json.dumps(payload_message), headers=headers) print(response) # print(response.text) # print(response.json()) if __name__ == '__main__': send_rich_text_message()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)