倉庫整理を目的とした原材料の場所を知らせてくれるアプリを作りたい。
こんにちは、飲食店で働くおじさんです。
デジタル技術を身に付けたく、勉強しております。
今回、一緒に働く従業員さんからの要望で、倉庫整理をしやすくする指標を作ってほしいとのこと。これはデジタルの力を使って作ってみる!
いざ、製作開始!
今回、使用したツール
・Google Apps Script
・ChatGPT
・Google スプレッドシート
今回はChatGPTにコードを書いてもって作成することにしました。
今回の実装イメージは、LINEBotです。LINEに調べたい原材料名を入力すると
原材料の情報が返信されるようにすること。
まず、スプレッドシート
に情報を入力しました。
呼び出したい情報,
原材料名を入力すると
呼び出したい情報は!
原材料の保管場所
原材料のロッド数
発注頻度
使用期限
開封した後の使用期限
次にChatGPTにコードを書いてもらう。
約1週間、ChatGPT
と会話を続けいろいろ教えてもらい、
qiita.rb
// LINE Messaging APIのアクセストークン
var ACCESS_TOKEN = 'アクセストークン';
// LINE Messaging APIの送信先URL
var LINE_ENDPOINT = '送信先URL';
// スプレッドシートURL
var SPREADSHEET_URL = 'スプレッドシートURL';
// LINEにメッセージを送信する関数
function sendLineMessage(message, userId) {
var headers = {
'Authorization': 'Bearer アクセストークン',
'Content-Type': 'application/json',
};
var payload = JSON.stringify({
to:'送信先ID', // 送信先のユーザーIDを指定
messages: [
{
type: 'text',
text: `お探しの物は何でしょうか?`
},
],
});
var options = {
'method': 'post',
'headers': headers,
'payload': payload,
};
UrlFetchApp.fetch(LINE_ENDPOINT, options);
}
// スプレッドシートから原材料情報を検索する関数
function searchMaterialInfo(materialName) {
var sheet = SpreadsheetApp.openByUrl(SPREADSHEET_URL).getActiveSheet();
var lastRow = sheet.getLastRow();
var range = sheet.getRange("A2:H" + lastRow); // A列からH列までの範囲を指定
var values = range.getValues();
for (var i = 0; i < values.length; i++) {
if (values[i][0] == materialName) {
// H列までの情報を文字列として結合
var materialInfo = "原材料名:" + values[i][0] + "\n保管場所:" + values[i][1] + "\n発注単位:" + values[i][2] + "\n入り数:" + values[i][3] + "\n使用期限:" + values[i][4] + "\n開封【解凍)後使用期限:" + values[i][5] + "\n使用頻度:" + values[i][6] + "\n数量限定原材料:" + values[i][7];
return materialInfo;
}
}
return "該当する原材料が見つかりませんでした。";
}
// LINE Botのメイン関数
function doPost(e) {
var events = JSON.parse(e.postData.contents).events;
for (var i = 0; i < events.length; i++) {
var event = events[i];
if (event.type == 'message' && event.message.type == 'text') {
var message = event.message.text;
var userId = event.source.userId;
var replyMessage = searchMaterialInfo(message);
sendLineMessage(replyMessage, userId);
}
}
}
上記のコードに必要な情報を入力
LINEアクセストークン
LINE送信先ID
スプレッドシートのURL
返答用の回答
をコードに入力しました。
意気揚々と、アプリを開くと(動画です)
結果、動作はしなかったです。
このあと、再度、挑戦します。成功したら再投稿します。
是非、楽しみにしてください。