Spaces:
Running
on
Zero
Running
on
Zero
import requests | |
import json | |
def convert_newlines_to_google_chat_format(text): | |
# 改行文字を <br> タグに置き換える | |
return text.replace('\\n', '\\\n') | |
def send_google_chat_card(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": subtitle | |
} | |
}, | |
{ | |
"textParagraph": { | |
"text": "<b>{}</b>".format(link_text) | |
} | |
}, | |
{ | |
"buttons": [ | |
{ | |
"textButton": { | |
"text": "Open Link", | |
"onClick": { | |
"openLink": { | |
"url": link_url | |
} | |
} | |
} | |
} | |
] | |
}, | |
] | |
} | |
] | |
} | |
] | |
} | |
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": "<b>{}</b>".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 |