PythonでAPIを使ったChatworkの通知機能は公式のヘルプを見れば簡単に作れましたが、折角なので備忘的に残します
トークンを取得
まずはChatworkにログインしておく
![](https://javeo.jp/wp-content/uploads/2023/08/2023-08-06_22h41_46-1024x555.png)
ログイン後に右上にあるアカウント名をクリックして”サービス連携“をクリック
![](https://javeo.jp/wp-content/uploads/2023/08/2023-08-06_22h41_56-1-1024x555.png)
左側のメニューで”APIトークン“をクリック
画面上にトークンが表示されるので控えておく
ルームIDを取得
次はルームIDを取得するためにchatworkのトップに戻っておく
![](https://javeo.jp/wp-content/uploads/2023/08/x2023-08-06_22h43_24-1-1024x555.png.pagespeed.ic.wHnOxf5gy5.png)
①”通知対象にするグループチャット“をクリックしてアクティブにしておく
②”右上の歯車のアイコン“をクリック
③”グループチャットの設定“をクリック
の順にメニュー遷移する
![](https://javeo.jp/wp-content/uploads/2023/08/2023-08-06_22h43_30-1024x555.png)
グループチャットの設定画面左下に”ルームID“が表示されているので控えておく
Pythonのプログラム
肝心のPythonプログラム
bool型にしてステータスコードが200かどうかでTrue・False判定をする
import requests
# messageの引数だけでも通知できるように初期値の設定
TOKEN = '********************************'
ROOM_ID = '999999999'
def send_to_chatwork(message, token=TOKEN, room_id=ROOM_ID) -> bool:
headers = {"X-ChatWorkToken": token}
url = f"https://api.chatwork.com/v2/rooms/{room_id}/messages"
data = {"body": message}
response = requests.post(url, headers=headers, data=data)
if response.status_code == 200:
print("Message sent successfully.")
return True
else:
print("Failed to send message.")
return False
def main():
message = 'テスト通知'
send_to_chatwork(message, '5cbc320450032388263d0073b7473a54', '331928429')
if __name__ == "__main__":
main()
通知結果
![](https://javeo.jp/wp-content/uploads/2023/08/2023-08-06_23h17_54-1024x555.png)
Chatwork上でメッセージを送信した時と同じようにプログラムでメッセージ送信されている
あとがき
LINEの通知プログラムも作りましたが仕事で使おうと思うとするとChatworkの方が利用シーン多いと思って作ってみました
その内Teams版も作ろうかと思います
LINEの通知プログラム
LINEの通知プログラムはコチラからどうぞ
コメント