-
텔레그램을 이용한 나에게 메세지 보내기 -2코딩/프로젝트 2018. 10. 29. 00:19
의외로 삽질을 좀 했다
간단한거긴 한데 서버가 필요해서 급하게 네이버 클라우드 플랫폼에서
서버를 사용한다
https://console.ncloud.com
micro 서버는 1년간 무료란다
물론 메모리 1g에 성능은 좀 구리지만
30만 크레딧을 주니 고성능 서버가 필요하면 서버를 더 올려 사용하면 될 것 같다.
..서버 요금 폭탄 얘기를 몇번 들어서 무서워서 마이크로서버를 이용한다
엥.. 레디스도 있다. ㅎㅎ
뭐 레디스만 둥둥 띄워져 있는건가 싶어 센트os를 이용하려하다
레디스만깔아봤느데 센트 기반에 레디스가 깔려있던 것이었다 ㅎㅎ
나중에 레디스를 이용할 생각이니 여기에서 node를 깔아야겠다
네이버 클라우드 플랫폼에 대해서는 설명은 더 이상 하지 않겠다
워낙 메뉴얼이 잘 나와있다...A-Z 까지..
일단 서버가 구축됬으면 이제 아까전에 말한 서비스를 올려야 하겠다.
일단 node.js 와 npm 을 깔기 위해선 리포지토리를 확인해보자
$yum repolist
아마 나처럼 서버를 이용한다면 없을것이다.
그렇다면 epel 저장소를 추가해야한다.
[ Extra Packages for Enterprise Linux -> 엔터프라이즈 리눅스 를 위한 추가 패키지 ]
$yum install epel-release
됬으면 우리가 필요한 모듈을 설치하도록 하자
$yum install npm node.js
그런데 이상한 에러가 뜬다
npm: relocation error: npm: symbol SSL_set_cert_cb, version libssl.so.10 not def ined in file libssl.so.10 with link time reference
$yum update openssl
openssl을 업뎃해주자. 그러면 오류가 사라진다내가 이용한 모듈은 두가지인데1. node-cron어플리케이션 내에서 cron 처럼 사용 가능하게 해준다2. node-telegram-bot-api텔레그렘 봇 api node.js 용
이 두가지를 install 해주자
$npm install --save node-cron
$npm install --save node-telegram-bot-api
이제 준비가 끝났다.
뭐 예외처리니.. 뭐든 간 해줘야하겠지만.
난 오후 1시에 돈 보냈냐고 알람 보내는게 최종목표다
$ vim telegramBot.js
let cron = require('node-cron'); const TelegramBot = require('node-telegram-bot-api'); const Token = '토큰'; const bot = new TelegramBot(Token, { polling : true }); const CHAT_ID = '채팅방 ID'; cron.schedule('0 13 * * 0-5', function(){ botMessage(); }).start(); function botMessage(){ const text = ' 돈 보내셨나요..?'; bot.sendMessage(CHAT_ID,text).then(function(data){ console.log('success'); }).catch(err => {console.log(err);}); }
* * * * * 분(0-59) 시간(0-23) 일(1-31) 월(1-12) 요일(0-7)
뭐 cron의 보통 설정 방법은 위와 같다
나는 월~금 13시에 보내는것이니
0 13 * * 0-5
이렇게 설정해주었다
테스트를 위해서 * * * * *를 사용해서 분당오게 해보았다
잘온다...ㅠㅠ
중간에 분이 비는거는 오류 때문에 그렇다
이게 봇인스턴스를 여러개 만들면 오류가
발생하기 때문에 처음에 한번만 생성하도록하자
이제 ...실행 시켜서 맨날맨날 나한테 알람을 보내게 하자^^ 히히
node telegramBot.js &
참고로 & 기호를 쓰면 백그라운드에서 실행한다jobs 명령어를 쓰면 현재 백그라운드에서 동작하는 프로그램을 확인할수 있다 .ㅎ간단하고 즐겁게 푸싱시스템을 사용할 수 있다.지금은 단순 스케쥴링 동작이지만다음엔 봇에 명령을 내려서 특정 동작을 수행할 수 있게도 해봐야겠다'코딩 > 프로젝트' 카테고리의 다른 글
텔레그램 봇으로 나에게 메세지 보내기 -3 (0) 2018.10.29 텔레그램 봇으로 나에게 메세지 보내기 -1 (0) 2018.10.28