![見出し画像](https://assets.st-note.com/production/uploads/images/89190032/rectangle_large_type_2_5be6a86539c932f604e9e6e008aed5e4.jpeg?width=1200)
【有料】LINE botで順番待ち整理券を作る方法
const SPREAD_SHEET_ID = "スプレッドシートのID";
const SHEET_NAME = "シート1"
const ACCESS_TOKEN = "LINE チャンネルアクセストークン";
const sheet = SpreadsheetApp.openById(SPREAD_SHEET_ID).getSheetByName(SHEET_NAME);
const bot = new LineBotSdk.client(ACCESS_TOKEN);
function doPost(e) { bot.call(e, callback) };
function callback(e) {
if (e.message.type == "text") {
if (e.message.text == "整理券発行") {
setWaiting(e);
} else if (e.message.text == "順番確認") {
getWaitingCount(e);
}
}
};
function setWaiting(e) {
const cells = sheet.createTextFinder(e.source.userId).findAll();
if (cells.length == 0) {
const waitingNum = sheet.getRange(sheet.getLastRow(), 2).getValue() + 1;
sheet.appendRow([e.source.userId, waitingNum]);
bot.replyMessage(e, [bot.textMessage(`整理券を発行しました!\n整理券番号は ${waitingNum} です。`)]);
} else {
bot.replyMessage(e, [bot.textMessage(`すでに発行済みです。\n整理券番号は ${cells[0].offset(0, 1).getValue()} です。`)]);
}
}
function getWaitingCount(e) {
const cells = sheet.createTextFinder(e.source.userId).findAll();
if (cells.length == 0) {
bot.replyMessage(e, [bot.textMessage(`整理券が発行されていません。`)]);
} else {
bot.replyMessage(e, [bot.textMessage(`お呼び出しまで、あと ${cells[0].getRow() - 1} 組です。`)]);
}
}
ご購入いただけると、以下にコメント付きの応用プログラムが表示されます。
ご不明点はLINE公式アカウントでご質問ください。
ここから先は
3,005字
¥ 350
いただいたサポートは、自己投資と災害復興支援に使わせていただきます。