LoginSignup
3
8

More than 3 years have passed since last update.

Google Hangouts Chat にpythonプログラムからメッセージを送信する

Last updated at Posted at 2018-11-19

Google hangouts ChatのWebhookを使ったメッセージ送信について

 自分の職場はイケてるITな職場ではないのでSlackなぞ使っておらず、Googleのhangoutsをたまに利用するくらい(しかも昼飯のお誘いくらいしか使ってないorz)ほど情弱なのだが。なんでも有償のG Suiteには、Google hangoutsの後継ツールとしてGoogle hangouts Chatというのがあるらしく。Slack上でAPIを使って何か業務で有益な情報を自動で投稿させるのと同じイメージで、Google hangouts Chatで、例えばpythonプログラムから定期的に何かメッセージを送信するといったことが可能。ということで情弱脱出をもくろみ、Google hangouts ChatのBotを作成することにしてみた。

test.py
# encoding: utf-8
from datetime import datetime
import requests

webhook_url = 'https://chat.googleapis.com/ABCDEFG******(中略)******XYZ'
tdy = datetime.now().strftime("%Y/%m/%d %H:%M:%S")

response = requests.post(
  webhook_url,
  json={"text": "botから送信テスト\n"+str(tdy)}
)

※実行結果
9.png

 Google hangouts Chatのチャットルームやユーザーには「Webhook」が用意されていて、任意のチャットルームやユーザーの「Webhook」のURLを指定して、requestsを使ってそのWebhookに対してJSONファイルをPOSTしてあげればメッセージを送信することが可能。
 ちなみにメッセージ文に、改行(|n)や太字(**)も入れることが可能。またメッセージ文中に、リンクURLも含めることも可能。

応用編

 ビジネスチャットでどういうものを自動でBOTに投稿させてあげれば諸々ハッピーになれるのかいろいろ考えた際に、例えば今日の日経平均の値などを、前場終了の11:30と後場終了(大引け)の15:00に自動投稿させようかなとも思ったのだが。さしあたり前回作成した当日EDINETに提出された新規上場会社の有価証券届出書(新規公開時)を定点観測するプログラムを少し改良して、15時ちょい過ぎくらいに巡回結果をGoogle hangouts Chatに投稿することにしてみた。
8.png
※本日上場が決まったレオスキャピタルだとこんなイメージ。ていうかレオスキャピタル上場するんすかそうですか。

3
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
8