Chatworkをもっと便利に!GASでオリジナルBotを作成する方法
Chatwork Botの基本構造を理解しよう
GASを利用すれば、Chatwork用のBotを作成することができます。まずは、基本的な構造を理解しましょう。
Chatwork APIの設定
ChatworkのAPIを使うには、まずAPIトークンが必要です。Chatworkの設定画面で取得しましょう。
Chatworkの「パーソナル設定」からAPIトークンにアクセスし、新しいトークンを生成します。
このトークンを使って、ChatworkのBotが動くわけです。
GASの準備
GASプロジェクトを作成し、APIリクエストを送るためのスクリプトを書きます。ここでは、Chatworkにメッセージを送るBotのスクリプトを紹介します。
function sendMessageToChatwork() {
var token = "YOUR_CHATWORK_API_TOKEN";
var roomId = "ROOM_ID";
var message = "Hello, Chatwork!";
var url = "https://api.chatwork.com/v2/rooms/" + roomId + "/messages";
var options = {
"method" : "post",
"headers" : {
"X-ChatWorkToken": token
},
"payload" : {
"body" : message
}
};
UrlFetchApp.fetch(url, options);
}
この関数を実行すると、指定したChatwork部屋にメッセージが送信されます。
GASでChatwork Botを作成する
次に、GASを使って実際にBotを作成しましょう。
Chatworkとの連携を考える
自分専用のBotが動作するように、具体的な機能を考えます。たとえば、定期的に特定のメッセージを送信するBotはどうでしょうか。
タイマーで定期実行する
GASのトリガー機能を使えば、関数を定期的に実行することが可能です。
function setupTrigger() {
ScriptApp.newTrigger('sendMessageToChatwork')
.timeBased()
.everyHours(1)
.create();
}
このスクリプトを実行することで、1時間ごとにChatworkにメッセージが送られるようになります。
練習問題
以下のタスクを参考に、自分でChatwork BotをGASで作成してみましょう。
- 自分のChatwork APIトークンを取得します。
- GASプロジェクトに上記のスクリプトを追加します。
- 自分のChatwork部屋のIDを使って、メッセージ送信を確認します。
- トリガーを設定して、定期的にメッセージを送信するようにしてください。
解答・解説
以下は練習問題の解答例です。
function sendMessageToChatwork() {
var token = "YOUR_CHATWORK_API_TOKEN";
var roomId = "YOUR_ROOM_ID";
var message = "これがGASによる定期メッセージだ!";
var url = "https://api.chatwork.com/v2/rooms/" + roomId + "/messages";
var options = {
"method" : "post",
"headers" : {
"X-ChatWorkToken": token
},
"payload" : {
"body" : message
}
};
UrlFetchApp.fetch(url, options);
}
UrlFetchApp.fetch()は外部のURLにHTTPリクエストを送るためのメソッドです。この場合、ChatworkのAPIエンドポイントにリクエストし、メッセージをPostingします。
また、トリガー設定関数は以下の通りです。
function setupTrigger() {
ScriptApp.newTrigger('sendMessageToChatwork')
.timeBased()
.everyHours(1)
.create();
}
ScriptApp.newTrigger()は新しいトリガーを作成するためのメソッドです。timeBased()を使うことで、時間ベースにトリガーを実行します。
このスクリプトをセットアップすれば、GASで作成したBotがChatworkをもっと便利にしてくれるでしょう。