izuemon commited on
Commit
fb481fa
Β·
verified Β·
1 Parent(s): 47003bc

Create jihou.py

Browse files
Files changed (1) hide show
  1. jihou.py +71 -0
jihou.py ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import time
2
+ import requests
3
+ import os
4
+ from datetime import datetime, timedelta
5
+
6
+ BASE_URL = "https://desk-api.channel.io/desk/channels/200605"
7
+ TARGET_GROUP_CHAT_ID = "463667"
8
+
9
+ HEADERS = {
10
+ "accept-language": "ja",
11
+ "x-account": os.getenv("dmsendertoken")
12
+ }
13
+
14
+
15
+ def post_group_message(chat_id, body):
16
+ url = f"{BASE_URL}/groups/{chat_id}/messages"
17
+ r = requests.post(url, headers=HEADERS, json=body)
18
+ r.raise_for_status()
19
+ return r.json()
20
+
21
+
22
+ def create_time_signal_body():
23
+ now = datetime.now()
24
+ hour = now.hour
25
+
26
+ if hour < 12:
27
+ period = "εˆε‰"
28
+ display_hour = hour if hour != 0 else 12
29
+ else:
30
+ period = "午後"
31
+ display_hour = hour - 12 if hour > 12 else 12
32
+
33
+ message = f"<b>ζ™‚ε ±</b>\n{period}{display_hour}ζ™‚γ‚’γŠηŸ₯らせします。"
34
+
35
+ return {
36
+ "requestId": f"desk-web-time-signal-{int(time.time())}",
37
+ "blocks": [
38
+ {
39
+ "type": "text",
40
+ "value": message
41
+ }
42
+ ],
43
+ "buttons": None,
44
+ "form": None,
45
+ "webPage": None,
46
+ "files": None,
47
+ "customPayload": None
48
+ }
49
+
50
+
51
+ def wait_until_next_hour():
52
+ now = datetime.now()
53
+ next_hour = (now.replace(minute=0, second=0, microsecond=0)
54
+ + timedelta(hours=1))
55
+ sleep_seconds = (next_hour - now).total_seconds()
56
+ time.sleep(sleep_seconds)
57
+
58
+
59
+ def main_loop():
60
+ while True:
61
+ try:
62
+ wait_until_next_hour()
63
+ body = create_time_signal_body()
64
+ post_group_message(TARGET_GROUP_CHAT_ID, body)
65
+ except Exception as e:
66
+ print("Error:", e)
67
+ time.sleep(10)
68
+
69
+
70
+ if __name__ == "__main__":
71
+ main_loop()