Chatworkのメッセージを取得してコンソール表示

[Python]

import requests
from datetime import datetime, timezone, timedelta

# ===== 設定 =====
API_TOKEN = "YOUR_CHATWORK_API_TOKEN"
ROOM_ID = "123456789"  # 取得したいルームID
API_URL = f"https://api.chatwork.com/v2/rooms/{ROOM_ID}/messages"

# ===== メッセージ取得 =====
headers = {
    "X-ChatWorkToken": API_TOKEN
}
params = {
    "force": 1  # キャッシュ無効化して最新を取得
}

response = requests.get(API_URL, headers=headers, params=params)

if response.status_code != 200:
    print(f"Error: {response.status_code} {response.text}")
    exit()

messages = response.json()

# ===== 表示 =====
for idx, msg in enumerate(messages, start=1):
    sender = msg.get("account", {}).get("name", "不明")
    body = msg.get("body", "")
    ts = datetime.fromtimestamp(msg["send_time"], tz=timezone.utc) \
                  .astimezone(timezone(timedelta(hours=9)))  # 日本時間に変換
    print(f"[{idx}] {sender} ({ts.strftime('%Y-%m-%d %H:%M:%S')})")
    print(body)
    print("-" * 40)