layout | title | slug | tags | |
---|---|---|---|---|
post |
2019-05-11-TIL 챗봇.로컬.삽질 |
190511-TIL |
|
TIL이라고 하기엔 어쩌면 애매하지만, 실패도 배움의 한 종류니까 일단 적어둔다. 원래 오늘 목표는 "챗봇에 db 붙인 것이 잘 작동하는지 확인하고, 정산 기능을 추가한다"였다. 참석자, 불참자 등의 목록을 배열로 썼었는데 저번에 리팩토링 하면서 db를 붙였으므로, 그것들이 잘 작동하는지 확인하고자 했던 것이다. 코드만 짜놓고 테스트를 하지 않았기 때문에.
하지만 문제는 config로 각종 정보들을 관리하게 되면서 구글 클라우드 인스턴스에만 챗봇의 토큰같은 정보들이 있었던 것이다. 즉 내 로컬 노트북에는 이미 토큰 정보가 담긴 파일을 삭제했기 때문에 해당 정보가 없는 상황이었다. 그러므로 챗봇을 구동시키려고 하면 자꾸 not_authed 하고 에러가 났던 것이었다.
일단 하드코딩으로 토큰 정보를 넣어주고, 로컬에서 테스트를 하기 위해 다시 슬랙 설정 페이지에서 인터랙션 발생시 ngrok 주소 쪽으로 post 요청을 보내게끔 수정하였다. app.listen 코드도 추가했다.
오늘 좀 헷갈렸던 게, 전에 http listen을 추가했으므로 사실 포트번호만 맞춰주면 app.listen을 다시 넣을 필요가 없었다. 그리고 또, 잘 생각해보면 저번에 도커에 설치한 트래픽이나 엔지록이나 공통점이 있다. 엔지록은 특정 주소로 요청이 들어오면 로컬의 특정 포트 번호로 해당 요청을 보내준다. 트래픽도 특정 주소로 요청이 들어오면 도커에서의 특정 포트로 연결해준다. 결국 핵심은 내가 n번 포트로 요청이 들어오면 그걸 듣겠다, 는 것이다.