クッキーを使ってサービスを提供しています。当社のウェブサイトにアクセスすることにより、Cookieポリシーに記載されているCookieの使用に同意するものとします。最新情報、使い方や事例紹介などを毎月配信します。ご登録ありがとうございます!登録に失敗しました。入力したメールアドレスにお間違いないかご確認ください。Typetalk2016年7月14日シェアチュートリアル&ヒントヌーラボでは、毎日Typetalkを通して各拠点間のやり取りをしています。社員同士のやりとりも活発ですが、それに紛れて、自動で動くプログラム「ボット」もTypetalkにたくさんの通知をしています。弊社のボットの一つ『nubot君』。沢山の機能がありますが、ここでは各地の祭日をお知らせしています。Goodbye」の紹介」)など、高度なものもありますが、現在のTypetalkではもっと「気軽なボット」も作りやすくなってます。サービス上で動くプログラミング環境で、Javascriptを使ってGoogleドライブやGmailなどのGoogleの各サービスを操作できます。Googleカレンダーの情報を取ってくるのもお手の物です。Scriptでできるとして、Typetalkに投稿するにはどうすればいいのでしょうか?実はこれもすごく簡単で、Typetalkではボットを利用したいトピックに「ボット用アカウント」を追加できます。トピック名の横にある「トピックの編集」から「ボット」のタブを開いてみましょう。「ボットの追加」を押すと登録画面が開きます。「トピックの編集」の中に「ボット」というタブがあります。ID(ボットと一般のユーザーを区別するために登録後、末尾に「+」が追加されます)、「名前」は投稿時に表示される名前になります。「gcalbot」、名前は「今日の予定お知らせ君」にします。左の画像をクリックするとアイコンが変更できるので、フリー素材のカレンダー画像を設定してみます。スコープ」と「Webhook」がありますが、今回はトピックに投稿する権限があればいいので、「topic.post」にチェックが入っていれば大丈夫です。スコープ」で「topic.post」が選択されていればOK。この状態で下にある「作成」ボタンを押してみましょう。トークン」「メッセージの取得と投稿のURL」「メッセージの投稿コマンドサンプル」が表示されます。これで「ボット」作成は完了です。中央の「メッセージの取得と投稿のURL」をメモ帳などにコピーしておきましょう。新しく出てきた項目の中央「メッセージの取得と投稿のURL」が今回利用するものです。POSTをすればメッセージが投稿できてしまいます。右端にあるクリップボードアイコンを押してコピーし、メモ帳などに貼っておきましょう。カレンダーを選びましょう。Scriptからカレンダーを指定するためには「カレンダーID」が必要になります。利用したいカレンダーを選び「カレンダー設定」を開きます。利用したいカレンダーの「カレンダー設定」を開くと、「カレンダーのアドレス」の末尾に括弧で「カレンダーID」が表示されています。選択してコピーして、これもメモ帳などに貼っておきましょう。「カレンダーのアドレス」の後ろにある「カレンダーID」を選択してコピーしておきます。お知らせしたい予定がないと何も出力されないので、今日の予定をいくつか追加しておきましょう。テスト用の予定をいくつか追加しておきます。Googleカレンダー」と「Typetalk上でお知らせする」方法が手に入りました。Scriptで「Googleカレンダーに入っている今日の予定をTypetalk上でお知らせ」してみましょう。無い場合は、「アプリを追加」から検索して追加しましょう。Script」が表示されてますが、ない場合は「アプリを追加」から検索して追加してください。Scriptを作成します。上の「無題のプロジェクト」をクリックしてお好きな名前をつけてください。今回はTypetalk上の「ボット」の名前に合わせて「今日の予定お知らせ君」にしておきます。myFunction()」と書かれている部分がコードを貼り付ける部分です。myFunction()」等書かれた一番広い部分がコードを書く部分です。中身を空にして次のコードを貼り付けましょう。上でお知らせする」なのですが、大事なのは2行目と23行目の二箇所です。2行目の「nulab.co.jp_xxxxxxxxxxxxxxxxxx@resource.calendar.google.com」が先ほどコピーしておいた「カレンダーID」です。上でコピーした「メッセージの取得と投稿のURL」です。この二箇所を先ほどコピーしておいた文字列でそれぞれ置き換えましょう。変更を保存するために「ファイル」から「保存」を選びます。これだけでコードは完了です。試しに実行してみましょう。「再生ボタン」「虫ボタン」の右にある部分で実行する関数を選びます。このコードで実行するのは「remindEvents」関数です。選んだら「再生ボタン」を押します。remindEvents」関数を選んだら左にある「再生ボタン」を押します。「虫ボタン」はデバッグ用です。最初に実行する際にGoogleから「カレンダーを利用する」権限への確認が出ます。これを許可すると、コードが走り出し...Typetalkの方に先ほど追加した予定が出力されます。Scriptの方に赤いエラー表示が出ます。「カレンダーID」もしくは「メッセージの取得と投稿のURL」が間違っている可能性があるので、確認してみてください。エラーは出ていないけど、Typetalk上に何も表示されない場合は、今日の予定が入ってない可能性があります。カレンダーを確認してみてください。「<<カレンダー名>>」に続いてカレンダーに入っている予定が通知されています。毎朝8時にスクリプトを実行する実行はできましたが、毎朝この作業を手動でやるのでは「ボット」とは言えないですね。Scriptには「トリガー」という定期実行の仕組みがあるので、これを使って毎朝8時にこのスクリプトが実行されるようにしてみます。「リソース」から「現在のプロジェクトのトリガー」を開きます。画面から「リソース」の下にある「現在のプロジェクトのトリガー」を選びます。何もトリガーを作っていないので「トリガーが設定されていません。今すぐ追加するにはここをクリックしてください。」というリンクが表示されていると思います。クリックして登録画面を表示しましょう。トリガー登録画面で「remindEvents」を毎日「午前8時〜9時」に自動実行されるように設定して「保存」します。「実行」部分は実行する関数です。手動で実行した時と同じように「remindEvents」を選びます。続く部分は自動実行する間隔の設定になります。8時〜9時」を選んで「保存」ボタンを押します。後は明日の朝のお楽しみ。予定が入ってないと何も出力されず寂しいので、カレンダーに明日の予定を追加して、今日のところは寝てしまいましょう。上でお知らせする」ボットの完成です。慣れればこれを雛形にいろいろなボットが作れます。呼び出す「Webhook」という仕組みもあり、弊社で実際に動いているボットはこれを利用しています。特定の日付を話しかけられると、その日の予定を表示する」機能もついています。Github上で公開されていますので自由に利用してください。