帮你纪录谁在LINE 群组传加一
LINE 群组开团购、报名课程时,大家疯传加一,手动纪录有够累~用「LINE 加一纪录机器人」自动纪录传「+1」的使用者到Google 试算表,并回传给你! 我把完整的设定教学放在个人网站,点我看加一LIND BOT 自订教学
2022 3/30 Update : 改善程式码执行效能,并将重复程式码模组化方便维护。
这是我为我妈的瑜珈老师设计的一支LINE 机器人,那位老师以前都是手动纪录群组喊「+1」预约上课的同学因此这只机器人是以「课程预约」为出发点设计的,你也可以修改成其他的功能。
这是课程的群组截图,群组只要有人传+1,机器人会自动记录,并回传告知报名成功与剩下多少名额:
传指定关键字「名单」就能让机器人传送完整的报名名单:
资料都是暂存在Google 试算表里,不用另建伺服器或资料库:
将app.js 的内容复制,贴到你的Google App Script 专案上
在CHANNEL_ACCESS_TOKEN 的引号里填入你的LINE API Token 权杖:
var CHANNEL_ACCESS_TOKEN = " *** " ;
在第18 行的sheet_url 的引号里填入你的Google 试算表连结:
var sheet_url = ' https://docs.google.com/spreadsheets/... '
除了LINE Token 跟Google Sheet 连结之外,你也可以自订程式的一些细项或变数名称,我将一些重要的变数列在下面表格:
变数名称 | 用途 | 备注 |
---|---|---|
userMessage | 使用者传送的文字讯息内容 | string format |
user_id | 使用者的ID 字串 | 搭配第五十行的User Info API,查询使用者名称 |
sheet_name | Google Sheet 的工作表名称 | 请填入正确名称。否则会抓不到 |
reserve_list | 工作表的全部资料 | 可以自订修改,但要用ctrl + F 全部修改 |
current_list_row | 资料表的最大行数( 最后一笔资料的行数) | .getLastRow() 语法 |
reply_message | 要回传给使用者的讯息内容 | JSON Format,请勿直接填入讯息文字,请参考LINE 官方的API 文件 |
current_hour | 判断使用者呼叫机器人的时间( 取小时) | "HH" 是小时格式,请爬文「App Script get current time 」 |
reply_message 必须是一个JSON 格式的内容,以文字讯息为例,格式如下:
reply_message = [{
" type " : " text " , // 除非是最後一句,每一句後面要加逗號
" text " : "引號內打要回傳的文字"
}]
图片、贴图、选单、和Flex Message 图文格式也是可以用的,详情请到LINE 官方API 文件查看。
MIT License 欢迎自行运用此份专案于商业与个人用途,如果你愿意标记我为出处的话,将对我是莫大的鼓励,感谢! Feel free to fork this project and use it for your own work. However, it would be great if you credit me.