본문 바로가기

Programming Project/Node로 카톡-페메봇 만들기

Node.js로 카톡플친 / 페이스북 메시지 봇 만들기 07 (페메 봇 추가)


투명한 기부를 하고싶다면 이 링크로 와보세요! 🥰 (클릭!)

바이낸스(₿) 수수료 평생 20% 할인받는 링크로 가입하기! 🔥 (클릭!)

이 글은 


Node.js로 카카오톡 플러스 친구 봇 만들기 01 (https://wingnim.tistory.com/entry/Nodejs%EB%A1%9C-%EC%B9%B4%EC%B9%B4%EC%98%A4%ED%86%A1-%ED%94%8C%EB%9F%AC%EC%8A%A4-%EC%B9%9C%EA%B5%AC-%EB%B4%87-%EB%A7%8C%EB%93%A4%EA%B8%B0-01)


로 부터 읽으면 되고


Node.js로 카카오톡 플러스 친구 봇 만들기 06 (https://wingnim.tistory.com/entry/Nodejs%EB%A1%9C-%EC%B9%B4%EC%B9%B4%EC%98%A4%ED%86%A1-%ED%94%8C%EB%9F%AC%EC%8A%A4-%EC%B9%9C%EA%B5%AC-%EB%B4%87-%EB%A7%8C%EB%93%A4%EA%B8%B0-06-%EA%B8%89%EC%8B%9D-%EC%95%8C%EB%A6%AC%EB%AF%B8-%EA%B8%B0%EB%8A%A5-%EC%B6%94%EA%B0%80)




그렇게 한민고 급식 봇 다 만들었는데



요즘 급식들은 페메를 쓴다고? 띠용?



.... 한숨이 나온다.


카톡 안쓴다는데 그럼 안 만들 수가 없지....


근데 해보니까 이건 약간 난이도가 높으니까 마음 단단히 먹고 따라오셈






1. 일단 페이스북 페이지를 만들자.








2. https://developers.facebook.com/ 에 들어가서 가입하고 add your first product 하자.


(난 첫 번째 앱 이름 또한 한민고 급식봇으로 했다)


그러면 다음과 같이  나올 것이다.






이 제품 추가 쪽에서 




메신저 쪽을 누르자.




일단 급식봇 쪽을 누르고 저 엑세스 토큰을 어디 메모장같은곳에 저장하자.



그리고 웹훅을 설정해야 하는데, 이건 서버 세팅이 먼저 필요하다.



router.get('/webhook', function(req, res) {
if (req.query['hub.verify_token'] == '뭐시기 뭐시기 기억할만한 아무 문장') {
return res.send(req.query['hub.challenge']);
}
return res.send('Error, wrong validation token');
});


저 코드의 뭐시기뭐시기 기억할만한 아무 문장 쪽에 영어 문장을 하나 적어서


hanmin.js에다가 이렇게 코드를 추가 해 주고 서버를 일단 배포한다.


그렇게 되면 ~~주소 /hanmin/webhook 쪽으로 페이스북에서 접속할 때 우리가 반응을 잘 해주게 된다.


서버 업데이트를 해야 다음 과정을 진행할 수 있다.


그 후에 웹 훅 설정으로 들어가서




요로코롬 해주고 저장!


그리고 그 아래 받아보는 페이지에 한민고 급식봇을 추가한다.





이렇게 해 주고 나서 이제 본격적으로 서버를 짜 보자.





일단 메신저봇이라는걸 install 또 해줄거다. 콘솔창에 폴더에 가서 


npm install messenger-bot --save 를 치자.




그리고 만들어놓은 앱쪽의 기본 설정으로 가서


앱 시크릿 코드를 살펴보자. (저거 보기 누르고 나오는 문장을 복붙하면 된다)




router.get('/webhook', function(req, res) {
if (req.query['hub.verify_token'] == '뭐시기뭐시기 영어문장.') {
return res.send(req.query['hub.challenge']);
}
return res.send('Error, wrong validation token');
});

var Bot = require('messenger-bot');
var bot = new Bot({
token: '여기엔 웹페이지 access 토큰을 적으면 된다.', // 페이지 토큰
verify: '여기엔 아까 만든 뭐시기뭐시기 영어문장을 적으면 된다.', // 설정한 확인 토큰
app_secret: '여긴 방금 만든 앱 시크릿 토큰을 적으면 된다.' // 앱 시크릿 토큰
});

bot.on('error', function(err) {
console.log(err.message);
});

bot.on('message', function(payload, reply) {
var text = payload.message.text;
bot.getProfile(payload.sender.id, function(err, profile) {
if (err) throw err;

reply(
{
text:text
}
, function(err) {
if (err) throw err;
});
});
});

// 페이스북 메세지는 모두 POST 요청으로 이를 다시 messenger-bot에게 패스
router.post('/webhook', function(req, res) {
bot._handleMessage(req.body);
res.status(200).jsonp({
message: 'ok'
});
});



일단은 내가 보낸 메시지를 그대로 응답받는 앱 까지만 만들어 보았다.







페메하는척 하기에 딱 좋을거같다고 마가렛 - 뜨가 말해줬다.


여튼 이렇게 친구를 한명 샀다.


다음 시간엔 여기다가 급식 버튼 추가와 급식 정보 보내주는걸 해봐야겠다.