Skip to content

Python から Cisco Webex へメッセージを送信する

Python から Cisco Webex へメッセージを送信する方法をメモしておきます。 ライブラリは webexteamssdk を利用します。

Step.1

webex for Developers へアクセスし、ログインしておきます。 もしアカウントが無ければ Sign Up しておきます。

file

Step.2

Getting Started with the Webex API から My Webex Apps をクリックして次へ進みます。

file

Step.3

Create a New App 画面が表示されます。 Create a Bot をクリックして次へ進みます。

file

Step.4

新規に Bot を作成します。

file

今回は以下のパラメータを入力しました。

Item Value Description
Bot Name Bot1 Bot の名前
Bot Username bot1 Bot へ話しかける (メンションする) 際に利用する名前。 自動的に末尾に @webex.bot が付与される
Icon Default 1 チャット上に表示するアイコン
Description My first bot. Bot の用途や注意点などの説明文

Step.5

Access Token が発行されました。 文字列長は 106 文字でした。 Copy Token をクリックして Access Token をクリップボードにコピーし、控えておきます (後の手順で利用します)。

file

Step.6

Bot からメッセージ送信の対象となるチャットルームを作成し、そこに作成済みの Bot も追加しておきます。 Bot からメッセージを送信するには Bot がユーザとして登録されている必要がありますので、忘れずユーザ追加します。

file

ユーザ追加されました。

file

Step.7

Bot からメッセージを送信するには対象チャットルームの Room ID が必要です。 Room ID は List Rooms API から取得出来ます。

file

Authorization の Use personal access token のチェックを外し、Barer に Bot 作成時に確認した Access Token を入力したら画面右下の Run をクリックして次へ進みます。

file

Step.8

正しく実行出来れば下記のように Room ID を含んだ Response を取得出来ます。 今回は「Bot が 1 チャットルームだけに参加している」ので Room ID は 1 つしか取得出来ていませんが、仮に「Bot が複数のチャットルームに参加している」のであれば Response には「複数の Room ID」が含まれます。

file

Step.9

ここからはメッセージを送信する Python スクリプトを用意します。 まず webexteamssdk をインストールします。

1
pip3 install webexteamssdk

以下のスクリプトを作成し、実行権限を付与しておきます。 ACCESS_TOKENROOM_ID は自分の環境に応じて読み替え、適切な値を入力します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#!/usr/bin/env python3
from webexteamssdk import WebexTeamsAPI

BOT_ACCESS_TOKEN = "ACCESS_TOKEN"
ROOM_ID = "ROOM_ID"
markdown = "Hello World!"

api = WebexTeamsAPI(access_token=BOT_ACCESS_TOKEN)
messages = api.messages.create(roomId=ROOM_ID, markdown=markdown)
print(messages)

Step.10

用意した Python スクリプトを実行すると、指定したチャットルームへ以下にようにメッセージが送信されます。

file