LoginSignup
7
7

More than 5 years have passed since last update.

【Choregraphe】任意のメッセージをChatWorkに投稿できるボックスを作った件

Last updated at Posted at 2015-09-15

はじめに

PepperからChatWorkにメッセージを投稿できるように、Python Scriptで自作のボックスを作成したので、ご紹介します。このボックスを使うことで、アプリケーション内にChatWorkに任意のメッセージデータを送信するような仕組みを入れることができます。

例えば、Pepperを受付で活用しているとして、アポを取っている人間を選ぶとチャットワークにその人間宛のメッセージが流れたり、ソリタリー状態で一定間隔に、Pepperのぼやきをチャットワークに流したりといったような、様々な用途が考えれます。

使い方

最下部にリンクを用意して、サンプルアプリとボックスをGithub上で公開していますので、そちらを参考にしてください。
ここに載せませんが、ボックスのコード自体は非常にシンプルなものになってます。(どうぞご自由に拡張してください)

用意するもの

  • Choregraohe
  • ChatWork POST用ボックス(最下部でダウンロード可能)
  • ChatWorkのアカウントとAPIトークン

サンプルのボックス構成

スクリーンショット 2015-09-15 12.58.43.png

入力

  • onStart

出力

  • onStopped → 終了へ
  • onFailed → エラー内容読み上げ

「Text Edit」に任意の文字列を入力して、その値を「ChatWork POST」というボックスに送ります。あとは受け取った側のそのボックスからurllib2というPythonのモジュールを使って、ヘッダ情報とデータを設定してリクエスト送信します。

exceptで例外を処理。

エンドポイントなどChatWork APIの細かい情報に関しては、こちらのドキュメントを参考にしてください。

ChatWorkAPI ドキュメント

特別変わったことをしている訳では無いので、GETや他の公開されているWeb APIでも型にはまる形だとは思います。

ボックスのパラメータ

送信の際に、エンドポイントとAPIトークンを設定しておかなければいけない訳ですが、こちらはボックスの「変数」としてダイアログ入力ができるようにしています。
ボックスのスパナのアイコンをクリックしてそれぞれ入力してください。

スクリーンショット 2015-09-15 13.59.07.png

name type detail
Room String ルームID
API-Token String 認証に使用

APIトークンの取得の方法についても、「ChatWorkAPI ドキュメント」を参考にしてください。
ルームIDはチャット部屋ごとに一意の値が設定されています。

実行

整いましたところで実行です。

スクリーンショット 2015-09-15 14.40.51.png

「TextEdit」から文字列が流れ〜の

スクリーンショット 2015-09-15 14.54.27.png

「ChatWork」に投稿され〜の

スクリーンショット 2015-09-15 14.41.58.png

以下のJSON形式でレスポンスが返され〜の


{
  "message_id": 1234
}

終わり〜の

サンプルプロジェクト

https://github.com/king-panda/chatwork_post
※ ボックス単体のファイル(.cbl)も格納しています。

動作確認環境

  • Mac OS X v10.8.5
  • Choregraphe v2.1.2.17

※ Windowsは動作確認していません。

7
7
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
7
7