电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Python調(diào)用飛書發(fā)送消息的示例

瀏覽:86日期:2022-07-05 18:40:20

一、創(chuàng)建飛書機(jī)器人  

自定義飛書機(jī)器人操作步驟,具體詳見飛書官方文檔:《機(jī)器人 | 如何在群聊中使用機(jī)器人?》

二、調(diào)用飛書發(fā)送消息

自定義機(jī)器人添加完成后,就能向其 webhook 地址發(fā)送 POST 請求,從而在群聊中推送消息了。支持推送的消息格式有文本、富文本、圖片消息,也可以分享群名片等。

參數(shù)msg_type代表消息類型,可傳入:text(文本)/ post(富文本)/ image(圖片)/ share_chat(分享群名片)/ interactive(消息卡片),可參照飛書接口文檔:https://open.feishu.cn/document/ukTMukTMukTM/uUjNz4SN2MjL1YzM發(fā)送文本消息請求的消息體示例:

{'open_id':'ou_5ad573a6411d72b8305fda3a9c15c70e','root_id':'om_40eb06e7b84dc71c03e009ad3c754195','chat_id':'oc_5ad11d72b830411d72b836c20','user_id': '92e39a99','email':'fanlv@gmail.com','msg_type':'text','content':{'text':'text content<at user_id='ou_88a56e7e8e9f680b682f6905cc09098e'>test</at>'}}

Curl 請求 Demo

curl -X POST https://open.feishu.cn/open-apis/message/v4/send/ -H ’Authorization: Bearer t-fee42159a366c575f2cd2b2acde2ed1e94c89d5f’ -H ’Content-Type: application/json’ -d ’{ 'chat_id': 'oc_f5b1a7eb27ae2c7b6adc2a74faf339ff', 'msg_type': 'text', 'content': { 'text': 'text content<at user_id='ou_88a56e7e8e9f680b682f6905cc09098e'>test</at>' }}’

使用Python封裝飛書請求

接下來我們以發(fā)送文本格式消息類型,進(jìn)行以下封裝,上代碼:

# -*- coding:utf-8 -*-’’’@File : feiShuTalk.py @Time : 2020/11/9 11:45 @Author : DY@Version : V1.0.0@Desciption: ’’’import requestsimport jsonimport loggingimport timeimport urllibimport urllib3urllib3.disable_warnings()try: JSONDecodeError = json.decoder.JSONDecodeErrorexcept AttributeError: JSONDecodeError = ValueErrordef is_not_null_and_blank_str(content): ''' 非空字符串 :param content: 字符串 :return: 非空 - True,空 - False ''' if content and content.strip(): return True else: return Falseclass FeiShutalkChatbot(object): def __init__(self, webhook, secret=None, pc_slide=False, fail_notice=False): ’’’ 機(jī)器人初始化 :param webhook: 飛書群自定義機(jī)器人webhook地址 :param secret: 機(jī)器人安全設(shè)置頁面勾選“加簽”時(shí)需要傳入的密鑰 :param pc_slide: 消息鏈接打開方式,默認(rèn)False為瀏覽器打開,設(shè)置為True時(shí)為PC端側(cè)邊欄打開 :param fail_notice: 消息發(fā)送失敗提醒,默認(rèn)為False不提醒,開發(fā)者可以根據(jù)返回的消息發(fā)送結(jié)果自行判斷和處理 ’’’ super(FeiShutalkChatbot, self).__init__() self.headers = {’Content-Type’: ’application/json; charset=utf-8’} self.webhook = webhook self.secret = secret self.pc_slide = pc_slide self.fail_notice = fail_notice def send_text(self, msg, open_id=[]): ''' 消息類型為text類型 :param msg: 消息內(nèi)容 :return: 返回消息發(fā)送結(jié)果 ''' data = {'msg_type': 'text', 'at': {}} if is_not_null_and_blank_str(msg): # 傳入msg非空 data['content'] = {'text': msg} else: logging.error('text類型,消息內(nèi)容不能為空!') raise ValueError('text類型,消息內(nèi)容不能為空!') logging.debug(’text類型:%s’ % data) return self.post(data) def post(self, data): ''' 發(fā)送消息(內(nèi)容UTF-8編碼) :param data: 消息數(shù)據(jù)(字典) :return: 返回消息發(fā)送結(jié)果 ''' try: post_data = json.dumps(data) response = requests.post(self.webhook, headers=self.headers, data=post_data, verify=False) except requests.exceptions.HTTPError as exc: logging.error('消息發(fā)送失敗, HTTP error: %d, reason: %s' % (exc.response.status_code, exc.response.reason)) raise except requests.exceptions.ConnectionError: logging.error('消息發(fā)送失敗,HTTP connection error!') raise except requests.exceptions.Timeout: logging.error('消息發(fā)送失敗,Timeout error!') raise except requests.exceptions.RequestException: logging.error('消息發(fā)送失敗, Request Exception!') raise else: try:result = response.json() except JSONDecodeError:logging.error('服務(wù)器響應(yīng)異常,狀態(tài)碼:%s,響應(yīng)內(nèi)容:%s' % (response.status_code, response.text))return {’errcode’: 500, ’errmsg’: ’服務(wù)器響應(yīng)異常’} else:logging.debug(’發(fā)送結(jié)果:%s’ % result)# 消息發(fā)送失敗提醒(errcode 不為 0,表示消息發(fā)送異常),默認(rèn)不提醒,開發(fā)者可以根據(jù)返回的消息發(fā)送結(jié)果自行判斷和處理if self.fail_notice and result.get(’errcode’, True): time_now = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) error_data = { 'msgtype': 'text', 'text': { 'content': '[注意-自動通知]飛書機(jī)器人消息發(fā)送失敗,時(shí)間:%s,原因:%s,請及時(shí)跟進(jìn),謝謝!' % (time_now, result[’errmsg’] if result.get(’errmsg’, False) else ’未知異常’) }, 'at': { 'isAtAll': False } } logging.error('消息發(fā)送失敗,自動通知:%s' % error_data) requests.post(self.webhook, headers=self.headers, data=json.dumps(error_data))return result

封裝后我們就可以直接調(diào)用封裝的類,進(jìn)行消息代碼發(fā)送;執(zhí)行以下代碼后,就可以使用飛書發(fā)送消息咯,是不是很簡單。

webhook = 'https://open.feishu.cn/open-apis/bot/v2/hook/1d7b5d0c-03a5-44a9-8d7a-4d09b24bfea1' feishu = FeiShutalkChatbot(webhook) feishu.send_text('重慶百貨-新世紀(jì)魚胡路店內(nèi)商品’1000800370-牛心白 約1kg’在商詳[8]和榜單[7]中排名不一致')

以上就是Python調(diào)用飛書發(fā)送消息的示例的詳細(xì)內(nèi)容,更多關(guān)于python 飛書發(fā)送信息的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 智能型高压核相仪-自动开口闪点测试仪-QJ41A电雷管测试仪|上海妙定 | 陶瓷加热器,履带式加热器-吴江市兴达电热设备厂 | 广西教师资格网-广西教师资格证考试网 | 航空铝型材,7系铝型材挤压,硬质阳*氧化-余润铝制品 | 电磁流量计厂家_涡街流量计厂家_热式气体流量计-青天伟业仪器仪表有限公司 | 石英陶瓷,石英坩埚,二氧化硅陶瓷-淄博百特高新材料有限公司 | 金现代信息产业股份有限公司--数字化解决方案供应商 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | 济南展厅设计施工_数字化展厅策划设计施工公司_山东锐尚文化传播有限公司 | 上海logo设计| 桥架-槽式电缆桥架-镀锌桥架-托盘式桥架 - 上海亮族电缆桥架制造有限公司 | 好看的韩国漫画_韩漫在线免费阅读-汗汗漫画 | 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | 不锈钢电动球阀_气动高压闸阀_旋塞疏水调节阀_全立阀门-来自温州工业阀门巨头企业 | 垃圾处理设备_餐厨垃圾处理设备_厨余垃圾处理设备_果蔬垃圾处理设备-深圳市三盛环保科技有限公司 | 中医治疗皮肤病_潍坊银康医院「山东」重症皮肤病救治平台 | 民用音响-拉杆音响-家用音响-ktv专用音响-万昌科技 | CE认证_FCC认证_CCC认证_MFI认证_UN38.3认证-微测检测 CNAS实验室 | 搅拌磨|搅拌球磨机|循环磨|循环球磨机-无锡市少宏粉体科技有限公司 | 云南标线|昆明划线|道路标线|交通标线-就选云南云路施工公司-云南云路科技有限公司 | 聚合氯化铝-碱式氯化铝-聚合硫酸铁-聚氯化铝铁生产厂家多少钱一吨-聚丙烯酰胺价格_河南浩博净水材料有限公司 | 上海道勤塑化有限公司 | 美能达分光测色仪_爱色丽分光测色仪-苏州方特电子科技有限公司 | 便携式高压氧舱-微压氧舱-核生化洗消系统-公众洗消站-洗消帐篷-北京利盟救援 | 小型手持气象站-空气负氧离子监测站-多要素微气象传感器-山东天合环境科技有限公司 | 网优资讯-为循环资源、大宗商品、工业服务提供资讯与行情分析的数据服务平台 | 刚性-柔性防水套管-橡胶伸缩接头-波纹管补偿器-启腾供水材料有限公司 | 液氮罐(生物液氮罐)百科-无锡爱思科 | 国产频谱分析仪-国产网络分析仪-上海坚融实业有限公司 | 安全,主动,被动,柔性,山体滑坡,sns,钢丝绳,边坡,防护网,护栏网,围栏,栏杆,栅栏,厂家 - 护栏网防护网生产厂家 | 广州食堂承包_广州团餐配送_广州堂食餐饮服务公司 - 旺记餐饮 | 液氮罐_液氮容器_自增压液氮罐-北京君方科仪科技发展有限公司 | 流水线电子称-钰恒-上下限报警电子秤-上海宿衡实业有限公司 | 深圳离婚律师咨询「在线免费」华荣深圳婚姻律师事务所专办离婚纠纷案件 | 横河变送器-横河压力变送器-EJA变送器-EJA压力变送器-「泉蕴仪表」 | 管理会计网-PCMA初级管理会计,中级管理会计考试网站 | 防火板_饰面耐火板价格、厂家_品牌认准格林雅 | 耐破强度测试仪-纸箱破裂强度试验机-济南三泉中石单品站 | 登车桥动力单元-非标液压泵站-非标液压系统-深圳市三好科技有限公司 | 上海软件开发-上海软件公司-软件外包-企业软件定制开发公司-咏熠科技 | 武汉刮刮奖_刮刮卡印刷厂_为企业提供门票印刷_武汉合格证印刷_现金劵代金券印刷制作 - 武汉泽雅印刷有限公司 |