指定したシートにhelloを入力して
そのシートの何行目に入力したかSlackに返す例です
bot@helloと投稿後
SlackにシートのURLと行数が返ってくる
指定したシートにhelloが入力される
- Google Apps Scriptで応答用のアプリケーションを作る
- Slack側の設定をする
1, 2の方法は以下の記事に書きました
コード.gsの例です
コード.gs
var TOKEN = "取得したtoken"
var POST_URL = 'https://slack.com/api/chat.postMessage';
function doPost(e) {
var text = e["parameter"]["text"];
var value = text.replace("bot@", "");
value = value.replace(/\s/g, "+");
var ss_url = "URL";
var ss = SpreadsheetApp.openByUrl(ss_url);
var sh = ss.getSheets()[0];
var row = sh.getLastRow() ;
var next_row = row + 1;
sh.getRange("A" + next_row).setValue(value);
reply(ss_url, row);
}
function reply(ss_url, row){
var payload = {
token: TOKEN,
channel: '#general',
text: ss_url + "\n" + row + "行目に入力しました",
icon_emoji: ':sunny:',
username: 'hello bot'
};
var params = {
'method': 'post',
'payload': payload
};
UrlFetchApp.fetch(POST_URL, params);
}
|
意訳.gs取得したtokenを設定する メッセージを送るurlを設定する この機能は以下を実行する 送信されたテキストを取得して "bot@"を削除して 空白(スペース、タブ、改行)を+に置き換えて スプレッドシートのURLを設定して スプレッドシートを取得して 先頭のシートを取得して そのシートでデータが入っている最終行を取得して 次の行を選択して A列のその行に入力して reply()にss_url, rowを渡す この機能は以下を実行する payloadのデータを作る 取得したtokenを設定 投稿するchannelを設定 投稿するtextを設定 アイコンの絵文字を設定 usernameを設定 paramsのデータを作る methodをpostに設定 payloadのデータを設定 paramsを付けてslackのAPIをたたく |

