Googleカレンダーにイベント登録、ChatWorkへメッセージを送信する方法③
2018.07.17 update

暑い日が続いてますね。夏は大好きなんですが、ここまで暑いと...さすがに辛いです。
さて今回は、ChatWorkに送信する内容をもう少し充実させいこうかと思います。
ChatWorkで表示するメッセージをデコレート
前回のサンプルは文字列を送るだけの、殺風景なものでした。
「Googleカレンダーにイベント登録した内容をChatWorkにメッセージ送信する」ことが今回の目的なので、送信内容をイベント通知のような見た目にしようかと思います。
このあとのプログラム改修がしにくいので、前回までのプログラムを一部修正します(送信内容のみ変数化)。
- 修正前:
// ChatWorkへメッセージ送信 client.sendMessage({room_id: '取得したChatWorkのルームID', body: '送信内容'});
- 修正後:
// ChatWorkへメッセージ送信 var body = '送信内容'; client.sendMessage({room_id: '取得したChatWorkのルームID', body: body});
送信内容を枠で囲む
送信内容の文字列を[info]〜[/info]で囲むことによって、送信内容を枠で囲むことができます。
var body = '[info]'; body = body + '送信内容'; body = body + '[/info]'; client.sendMessage({room_id: '取得したChatWorkのルームID', body: body});
以下のように表示されます。
タイトルを出力
送信内容の文字列の中に[title]〜[/title]を含むことによって、送信内容にタイトルを持たせることができます。
var body = '[info]'; body = body + '[title]'; body = body + events[i].getTitle(); body = body + '[/title]'; body = body + '送信内容'; body = body + '[/info]'; client.sendMessage({room_id: '取得したChatWorkのルームID', body: body});
以下のように表示されます。
[info][title]〜[/title]〜[/info]以外にも、ChatWorkが提供しているメッセージ記法はいくつかあります。
- To: [To:{account_id}]
- 返信: [rp aid={account_id} to={room_id}-{message_id}]
- 引用①: [qt][qtmeta aid={account_id} time={timestamp}]〜[/qt]
- 引用②: [qt][qtmeta aid={account_id}]〜[/qt]
- インフォメーション: [info]〜[/info]
- インフォメーション + タイトル: [info][title]〜[/title]〜[/info]
- 罫線: [hr]
- アカウントのアイコン表示: [picon:{account_id}]
- アカウントのアイコン + 名前表示: [piconname:{account_id}]
今後メッセージ記法が変わるかもしれないので、こちらで確認してみてください。
次回予定
次回は最後、Googleカレンダーのイベントを取得するところから書きたいと思います。