LINE 그룹 메시지에 누가 추가했는지 기록할 수 있도록 도와주세요
LINE 단체에서 공동구매를 개설하거나 강좌를 등록하면 '+1'이라는 말이 입소문이 나더군요. Google 스프레드시트를 작성하여 돌려주세요! 내 개인 웹사이트에 전체 설정 튜토리얼을 올렸습니다. LIND BOT 맞춤형 튜토리얼을 추가하려면 여기를 클릭하세요.
2022년 3월 30일 업데이트: 코드 실행 성능을 개선하고 중복 코드를 모듈화하여 유지 관리가 더 쉬워졌습니다.
어머니의 요가 선생님을 위해 디자인한 LINE 로봇입니다. 수업 예약을 위해 그룹에서 "+1"이라고 부르는 학생들을 선생님이 수동으로 녹음하곤 했기 때문에 이 로봇은 "수업 예약"을 시작으로 디자인되었습니다. 포인트를 다른 기능으로 수정할 수도 있습니다.
다음은 코스의 그룹 스크린샷입니다. 그룹의 누군가가 +1을 보내는 한 로봇은 이를 자동으로 기록하고 등록 성공 및 남은 좌석 수에 대한 알림을 보냅니다.
지정된 키워드 "목록"을 전달하면 로봇이 전체 등록 목록을 보냅니다.
데이터는 Google 스프레드시트에 임시 저장되므로 별도의 서버나 데이터베이스를 만들 필요가 없습니다.
app.js의 내용을 복사하여 Google App Script 프로젝트에 붙여넣습니다.
LINE API 토큰으로 CHANNEL_ACCESS_TOKEN의 따옴표를 입력하세요.
var CHANNEL_ACCESS_TOKEN = " *** " ;
18행에서 sheet_url의 따옴표 안에 Google 스프레드시트 링크를 입력하세요.
var sheet_url = ' https://docs.google.com/spreadsheets/... '
LINE 토큰 및 Google 시트 링크 외에도 프로그램의 일부 세부 정보나 변수 이름을 사용자 지정할 수도 있습니다. 아래 표에는 몇 가지 중요한 변수가 나열되어 있습니다.
변수 이름 | 사용 | 주목 |
---|---|---|
사용자메시지 | 이용자가 보낸 문자 메시지의 내용 | 문자열 형식 |
user_id | 사용자 ID 문자열 | 사용자 이름을 쿼리하려면 50행의 User Info API를 사용하세요. |
시트_이름 | Google 시트 시트 이름 | 정확한 이름을 입력해주세요. 그렇지 않으면 잡을 수 없습니다. |
예비_목록 | 워크시트의 모든 정보 | 사용자 정의하고 수정할 수 있지만 모두 수정하려면 ctrl + F를 사용해야 합니다. |
현재_목록_행 | 데이터 테이블의 최대 행 수(마지막 데이터의 행 수) | .getLastRow() 구문 |
reply_message | 사용자에게 다시 보낼 메시지 내용 | JSON 형식이므로 메시지 내용을 직접 입력하지 마세요 . LINE 공식 API 문서를 참고하세요. |
현재_시간 | 사용자가 로봇을 호출한 시간을 파악합니다(시간 소요). | "HH"는 시간 형식입니다. "앱 스크립트에서 현재 시간 가져오기" 기사를 크롤링하세요. |
reply_message는 JSON 형식의 콘텐츠여야 합니다. 문자 메시지를 예로 들면 형식은 다음과 같습니다.
reply_message = [{
" type " : " text " , // 除非是最後一句,每一句後面要加逗號
" text " : "引號內打要回傳的文字"
}]
사진, 스티커, 메뉴, Flex Message 그래픽 및 텍스트 형식도 지원됩니다. 자세한 내용은 LINE 공식 API 문서를 확인하세요.
MIT 라이선스에 따라 이 프로젝트를 상업적, 개인적 목적으로 사용할 수 있습니다. 저를 출처로 표시해 주시면 저에게 큰 힘이 됩니다. 감사합니다. 이 프로젝트를 자유롭게 포크하여 자신의 작업에 사용하세요. 하지만 저를 칭찬해 주시면 좋을 것 같습니다.