Add linux deb dependencies Add backup recovery strategy select Support custom text scaling Optimize the display of different text scale Optimize windows setup experience Optimize startTun performance Optimize android tv experience Optimize default option Optimize computed text size Optimize hyperOS freeform window Add developer mode Update core Optimize more details
72 lines
1.5 KiB
Python
72 lines
1.5 KiB
Python
import os
|
|
import json
|
|
import requests
|
|
|
|
TELEGRAM_BOT_TOKEN = os.getenv("TELEGRAM_BOT_TOKEN")
|
|
TAG = os.getenv("TAG")
|
|
RUN_ID = os.getenv("RUN_ID")
|
|
|
|
IS_STABLE = "-" not in TAG
|
|
|
|
CHAT_ID = "@FlClash"
|
|
API_URL = f"http://localhost:8081/bot{TELEGRAM_BOT_TOKEN}/sendMediaGroup"
|
|
|
|
DIST_DIR = os.path.join(os.getcwd(), "dist")
|
|
release = os.path.join(os.getcwd(), "release.md")
|
|
|
|
text = ""
|
|
|
|
media = []
|
|
files = {}
|
|
|
|
i = 1
|
|
|
|
releaseKeywords = [
|
|
"windows-amd64-setup",
|
|
"android-arm64",
|
|
"macos-arm64",
|
|
"macos-amd64"
|
|
]
|
|
|
|
for file in os.listdir(DIST_DIR):
|
|
file_path = os.path.join(DIST_DIR, file)
|
|
if os.path.isfile(file_path):
|
|
file_lower = file.lower()
|
|
if any(kw in file_lower for kw in releaseKeywords):
|
|
file_key = f"file{i}"
|
|
media.append({
|
|
"type": "document",
|
|
"media": f"attach://{file_key}"
|
|
})
|
|
files[file_key] = open(file_path, 'rb')
|
|
i += 1
|
|
|
|
if TAG:
|
|
text += f"\n**{TAG}**\n"
|
|
|
|
if IS_STABLE:
|
|
text += f"\nhttps://github.com/chen08209/FlClash/releases/tag/{TAG}\n"
|
|
else:
|
|
text += f"\nhttps://github.com/chen08209/FlClash/actions/runs/{RUN_ID}\n"
|
|
|
|
if os.path.exists(release):
|
|
text += "\n"
|
|
with open(release, 'r') as f:
|
|
text += f.read()
|
|
text += "\n"
|
|
|
|
if media:
|
|
media[-1]["caption"] = text
|
|
media[-1]["parse_mode"] = "Markdown"
|
|
|
|
response = requests.post(
|
|
API_URL,
|
|
data={
|
|
"chat_id": CHAT_ID,
|
|
"media": json.dumps(media)
|
|
},
|
|
files=files
|
|
)
|
|
|
|
print("Response JSON:", response.json())
|