Spaces:
Sleeping
Sleeping
| import requests | |
| import json | |
| # === 替換成你自己的 LINE Channel Access Token === | |
| LINE_ACCESS_TOKEN = 'V8aLCQMfD56NjZbLyPVHynCC49rE5gr4cP4PbhuIRp8AS3VbkGKlkYlnTk7XSo/ivFpE/x346fAdFG7c0tj8rLtI5sY5tmLhUY+aV3mysJ2wAndAlDpvh3wJ6FXB1ebdadJxuqXjsEzmJuU6fQszJwdB04t89/1O/w1cDnyilFU=' | |
| # === 讀取 Rich Menu JSON === | |
| richmenu_json = { | |
| "size": {"width": 2500, "height": 1124}, | |
| "selected": True, | |
| "name": "健身五功能選單", | |
| "chatBarText": "打開健身選單", | |
| "areas": [ | |
| {"bounds": {"x": 0, "y": 0, "width": 1250, "height": 281}, "action": {"type": "message", "text": "菜單 胸肌"}}, | |
| {"bounds": {"x": 1250, "y": 0, "width": 1250, "height": 281}, "action": {"type": "message", "text": "飲食 減脂"}}, | |
| {"bounds": {"x": 0, "y": 281, "width": 1250, "height": 281}, "action": {"type": "message", "text": "紀錄 深蹲 60kg"}}, | |
| {"bounds": {"x": 1250, "y": 281, "width": 1250, "height": 281}, "action": {"type": "message", "text": "補給品推薦"}}, | |
| {"bounds": {"x": 0, "y": 562, "width": 2500, "height": 562}, "action": {"type": "message", "text": "登入"}} | |
| ] | |
| } | |
| # === 1. 建立 Rich Menu === | |
| headers = { | |
| 'Authorization': f'Bearer {LINE_ACCESS_TOKEN}', | |
| 'Content-Type': 'application/json' | |
| } | |
| response = requests.post( | |
| 'https://api.line.me/v2/bot/richmenu', | |
| headers=headers, | |
| data=json.dumps(richmenu_json) | |
| ) | |
| if response.status_code != 200: | |
| print("建立 Rich Menu 失敗:", response.text) | |
| exit() | |
| richmenu_id = response.json()['richMenuId'] | |
| print(f"✅ Rich Menu 建立成功,ID:{richmenu_id}") | |
| # === 2. 上傳圖片 === | |
| with open("介面設置.png", "rb") as f: | |
| image_headers = { | |
| 'Authorization': f'Bearer {LINE_ACCESS_TOKEN}', | |
| 'Content-Type': 'image/png' | |
| } | |
| image_response = requests.post( | |
| f"https://api.line.me/v2/bot/richmenu/{richmenu_id}/content", | |
| headers=image_headers, | |
| data=f.read() | |
| ) | |
| if image_response.status_code != 200: | |
| print("上傳圖片失敗:", image_response.text) | |
| exit() | |
| print("✅ 圖片上傳成功") | |
| # === 3. 指定為所有用戶預設選單 === | |
| default_headers = { | |
| 'Authorization': f'Bearer {LINE_ACCESS_TOKEN}' | |
| } | |
| default_response = requests.post( | |
| f"https://api.line.me/v2/bot/user/all/richmenu/{richmenu_id}", | |
| headers=default_headers | |
| ) | |
| if default_response.status_code != 200: | |
| print("設定預設 Rich Menu 失敗:", default_response.text) | |
| else: | |
| print("🎉 Rich Menu 已設定為預設選單!") | |