import requests import json def convert_newlines_to_google_chat_format(text): # 改行文字を
タグに置き換える return text.replace('\\n', '\\\n') # def send_google_chat_wav(webhook_url, title, subtitle, link_text, link_url,image_url=None): headers = { 'Content-Type': 'application/json; charset=UTF-8' } #subtitle = convert_newlines_to_google_chat_format(subtitle) card_message = { "cards": [ { "header": { "title": title, "imageUrl": image_url, "imageStyle": "IMAGE" }, "sections": [ { "widgets": [ { "textParagraph": { "text": "音声ファイル" } }, { "buttons": [ { "textButton": { "text": "音声を開く", "onClick": { "openLink": { "url": subtitle } } } } ] }, ] } ] } ] } response = requests.post(webhook_url, headers=headers, data=json.dumps(card_message)) if response.status_code == 200: print("Message posted successfully.") else: print(f"Failed to post message: {response.status_code}, {response.text}") # response_data = response.json() thread_name = response_data['thread']['name'] return thread_name def send_google_chat_card(webhook_url, title, subtitle, link_text, link_url,image_url=None,wav_url=None): headers = { 'Content-Type': 'application/json; charset=UTF-8' } subtitle = convert_newlines_to_google_chat_format(subtitle) card_message = { "cards": [ { "header": { "title": title, "imageUrl": image_url, "imageStyle": "IMAGE" }, "sections": [ { "widgets": [ { "textParagraph": { "text": subtitle } }, { "buttons": [ { "textButton": { "text": "ラインチャットを開く", "onClick": { "openLink": { "url": "https://kenken999-php.hf.space/main_list.php?page=mainpage" } } } } ] }, { "buttons": [ { "textButton": { "text": "答えを確認する(GSS)", "onClick": { "openLink": { "url": "https://docs.google.com/spreadsheets/d/13pqP-Ywo5eRlZBsYX2m3ChARG38EoIYOowFd3cWij1c/edit?gid=546803454#gid=546803454" } } } } ] }, { "buttons": [ { "textButton": { "text": "音声ファイルを開く", "onClick": { "openLink": { "url": wav_url } } } } ] }, { "buttons": [ { "textButton": { "text": "vtuber", "onClick": { "openLink": { "url": "https://kenken999-fastapi-django-main.hf.space/static/index.html" } } } } ] }, { "buttons": [ { "textButton": { "text": "ナレッジを追加する", "onClick": { "openLink": { "url": "https://miibo.dev/admin/datastore" } } } } ] }, { "buttons": [ { "textButton": { "text": "ナレッジの作り方", "onClick": { "openLink": { "url": "https://chill-shoemaker-341.notion.site/dd577fb90fa7446bb3d25ce1c832da30" } } } } ] }, { "buttons": [ { "textButton": { "text": "予定管理をする", "onClick": { "openLink": { "url": "https://urlounge.atlassian.net/browse/KAN-41" } } } } ] }, ] } ] } ] } response = requests.post(webhook_url, headers=headers, data=json.dumps(card_message)) if response.status_code == 200: print("Message posted successfully.") else: print(f"Failed to post message: {response.status_code}, {response.text}") # response_data = response.json() thread_name = response_data['thread']['name'] return thread_name def send_google_chat_card_thread(webhook_url, title, subtitle, link_text, link_url,thread_name): headers = { 'Content-Type': 'application/json; charset=UTF-8' } subtitle = convert_newlines_to_google_chat_format(subtitle) card_message = { "cards": [ { "header": { "title": title, }, "sections": [ { "widgets": [ { "textParagraph": { "text": subtitle } }, { "textParagraph": { "text": "{}".format(link_text) } }, { "buttons": [ { "textButton": { "text": "Open Link", "onClick": { "openLink": { "url": link_url } } } } ] }, ] } ] } ], "thread": { "name":thread_name } } #https://chat.googleapis.com/v1/spaces/AAAAv_S3Bco/messages?key=AIzaSyDdI0hCZtE6vySjMm-WEfRq3CPzqKqqsHI&token=D635e0eoj7MdO8HV6Ufs1HUZdNiDdz-Eo3Td3OqAFKI&messageReplyOption=REPLY_MESSAGE_OR_FAIL response = requests.post(webhook_url+"&messageReplyOption=REPLY_MESSAGE_OR_FAIL", headers=headers, data=json.dumps(card_message)) if response.status_code == 200: print("Message posted successfully.") else: print(f"Failed to post message: {response.status_code}, {response.text}") response_data = response.json() thread_name = response_data['thread']['name'] return thread_name