33 lines
845 B
Python
33 lines
845 B
Python
import os
|
|
import json
|
|
import urllib.request
|
|
|
|
def notify(title, text, channel_id=None):
|
|
"""
|
|
发送内建通知。
|
|
"""
|
|
token = os.environ.get("BHPKG_NOTIFY_TOKEN")
|
|
url = os.environ.get("BHPKG_NOTIFY_URL", "http://localhost:8052/api/v1/notify/send")
|
|
default_channel = os.environ.get("BHPKG_NOTIFY_CHANNEL")
|
|
|
|
cid = channel_id or default_channel
|
|
|
|
if not url or not token or not cid:
|
|
return
|
|
|
|
payload = {
|
|
"channel_id": cid,
|
|
"title": title,
|
|
"text": text
|
|
}
|
|
|
|
data = json.dumps(payload).encode('utf-8')
|
|
req = urllib.request.Request(url, data=data, method='POST')
|
|
req.add_header('Content-Type', 'application/json')
|
|
req.add_header('notify-token', token)
|
|
|
|
|
|
with urllib.request.urlopen(req) as resp:
|
|
return resp.read().decode('utf-8')
|
|
|