一、建立飛書機械人
自定義飛書機械人操作步驟,具體詳見飛書官方文件程式設計客棧:《機械人 | 如何在群聊中使用機械人?》
二、呼叫飛書傳送訊息
自定義機械人新增完成後,就能向其 webhook 位址傳送 post 請求,從而在群聊中推送訊息了。支援推送的訊息格式有文字、富文字、訊息,也可以分享群名片等。
引數msg_type代表訊息型別,可傳入:text(文字)/ post(富文字)/ image()/ share_chat(分享群名片)/ interactive(訊息卡片),可參照飛書介面文件:
傳送文字訊息
請求的訊息體示例:
}curl 請求 demo
curl -x post \
\-h 'authorization: bearer t-fee42159a366c575f2cd2b2acde2ed1e94c89d5f' \
-h 'content-type: application/json' \
-d '
}'使用python封裝飛書請求
接下來我們以傳送文字格式訊息型別,進行以下封裝,上**:
# -*- coding:utf-8 -*-
'''@file : feishutalk.py
@time : 2020/11/9 11:45
@author : dy
@version : v1.0.0
@desciption:
'''import requests
import json
import logging
import time
import urllib
import urllib3
urllib3.disable_warnings()
try:
jsondecodeerror = json.decoder.jsondecodeerror
except attributeerror:
jsondecodeerror = valueerror
def is_not_null_and_blank_str(content):
"""非空字串
:param程式設計客棧 content: 字串
:return: 非空 - true,空 - false
"""if content and content.strip():
return true
else:
return false
class feishutalkchatbot(object):
def __init__(self, webhook, secret=none, pc_slide=false, fail_notice=false):
'''機械人初始化
:param webhook: 飛書群自定義機械人webhook位址
:param secret: 機械人安全設定頁面勾選「加簽」時需要傳入的金鑰
:param pc_slide: 訊息鏈結開啟方式,預設false為瀏覽器開啟,設定為true時為pc端側邊欄開啟
:param fail_notice: 訊息傳送失敗提醒,預設為false不提醒,開發者可以根據返回的訊息傳送結果自行判斷和處理
'''super(feishutalkchatbot, self).__init__()
self.headers =
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: 訊息內容
:return: 返回訊息傳送結果
"""data = }
if is_not_null_and_blank_str(msg): # 傳入msg非空
data["content"] =
else:
logging.error("text型別,訊息內容不能為空!")
raise valueerror("text型別,訊息內容不能為空!")
logging.debug('text型別:%s' % data)
return self.post(data)
def post(self, data):
"""傳送訊息(內容utf-8編碼)
:param data: 訊息資料(字典)
:return: 返回訊息傳送結果
logging.error("訊息傳送失敗, http error: %d, reason: %s" % (exc.response.status_code, exc.response.reason))
raise
except requests.exceptions.connectionerror:
logging.error("訊息傳送失敗,http connection error!")
raise
except requests.exceptions.timeout:
logging.error("訊息傳送失敗,timeout error!")
raise
except requests.exceptions.requestexception:
logging.error("訊息傳送失敗, request exception!")
raise
else:
try:
result = response.json()
except jsondecodeerror:
logging.error("伺服器響應異常,狀態碼:%s,響應內容:%s" % (response.status_code, response.text))
return
else:
logging.debug('傳送結果:%s' % result)
# 訊息傳送失敗提醒(errcode 不為 0,表示訊息傳送異常),預設不提醒,開發者可以根據返回的訊息傳送結果自行判斷和處理
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 = ,
"at":
}logging.error("訊息傳送失敗,自動通知:%s" % error_data)
requests.post(self.webhook, headers=self.headers, data=json.dumps(error_data))
return reswww.cppcns.comult
封裝後我們就可以直接呼叫封裝的類,進行訊息**傳送;執行以下**後,就可以使用飛書傳送訊息咯,是不是很簡單。
webhook = ""
feishu = feishutalkchatbot(webhook)
feishu.send_text("重慶百貨-新世紀魚胡路店內商品'1000800370-牛心白 約1kg'在商詳[8]和榜單[7]中排名不一致")
C 呼叫WinAPI傳送訊息SendMessage
呼叫dll中的方法 首先,應該在c 語言源程式中宣告外部方法,其基本形式是 dllimport dll檔案 修飾符extern返回變數型別方法名稱 引數列表 dllimport user32.dll entrypoint sendmessage public static extern int se...
用python自動傳送訊息
乙個簡單的指令碼 coding utf 8 from future import unicode literals from threading import timer import itchat import requests 抓取金山毒霸每日一句,英文和翻譯 def get news url ...
c 呼叫python傳送郵件
python import smtplib from email.mime.text import mimetext from email.header import header def sendemail addr,content 第三方 smtp 服務 mail host smtp.sina....