[node.js]poloLender bot Update 0.9.0 with telegram

개발자에게 텔레그램으로 전송하는 법을 귀찮게 묻고 업데이트 어찌 하냐고 계속 물으니 귀찮은지 프로그램에 지원해 버렸다. ㅋㅋ
업데이트 내역(0.9.0)

[0.9.0] – 2017-06-19

Added

  • Reports can be sent on Telegram

Changed

  • Reports are logged as ‘report’ level
  • Reports are colored differently (blue)

[0.8.3] – 2017-06-15

Fixed

  • Minimum amount for each currency
  • API indicator shows misleading icon
  • Error message for connection errors to poloLending-Advisor server
  • Pause API activity when IP is throttled

 

먼저 운영중인 poloLender 를 중지하고 아래와같이 한다.

로컬에서 운영

  1.  poloLender  프로그램을 중지한다.  CTRL+C
  2. github에서 로컬 소스를 업데이트 한다.
    cd poloLender
    git fetch --all
    git reset --hard origin/master
    
  3. 의존성을 업데이트 한다.
    npm update
    
  4. 실행해서 테스트 하기전 아래의 .env를 수정하고 실행해서 테스트 한다.
    node server.js

     

여기서 바뀐점은 텔레그램으로 전송하는 옵션이 생겼다.

.env 를 수정하면 되는데.

내용에

#Telegram bot token and your user Id

POLOLENDER_TELEGRAM_TOKEN=123456789:AAHIxxxxxxxxxxxxxZxxxxxxxxxxxxxxxkk

POLOLENDER_TELEGRAM_USERID=111111111

젤마지막에 위 세줄을 추가해주면 된다.

 

[node.js]poloLender bot telegram 봇 텔레그램 연동하기

1. 먼저 리눅스에 poloLander를 설치한다

https://github.com/dutu/poloLender/blob/master/README.md

2. node.js 용 텔레그램 지원 툴을 설치한다

3. telegram bot을 하나 만든다.

  • 먼저 휴대폰에 telegram 앱을 다운받고 가입을 한다
  • botFather를 검색해서 새로운 채팅봇을 하나 만든다

 

  • /newbot 으로 생성하면 봇이름을 설정한다. 봇이름응 항상 bot으로 끝나야한다

 

  • 중복되지 않은 testpolo_bot (**남한테 내자산을 알려줄 필요없으니 자기만의 이름을 입력한다**) 이름을 설정하면 아래와 같이 봇 고유 토큰이 생성된다

  • 예제로 위의 봇의 토큰은 415301492:AAF2aTb05JF3Y_mPoci68dqTm61LcVMek7g
  • 잘 생성되었는지 확인 하는 방법은
  • https://api.telegram.org/bot415301492:AAF2aTb05JF3Y_mPoci68dqTm61LcVMek7g/getUpdates
  • bot뒤에 토큰을 넣어 브라우저에 붙이면 아래와 같이 나오면 잘 만들어진거다
  • {”ok”:true,”result”:[]}
  • 텔레그램에 생성된 봇이름으로 검색해서 채팅창을 열고 아무 메세지를 보낸다
  • 다시 https://api.telegram.org/bot415301492:AAF2aTb05JF3Y_mPoci68dqTm61LcVMek7g/getUpdates 를 열어보면 id: 뒤에 8자리 숫자가 나온다. 이 숫자가 본인의 고유 아이디 번호이다
  • 토큰과 본인아이디를 복사해서 메모장등에 붙여넣어둔다

4. 1번에 설치한 poloLenderbot에 파일을 편집한다.

  • vi ./pololender/server/core/logger.js
use strict”;
var winston = require(“winston”);
require(‘winston-telegram’).Telegram;

var logger = new (winston.Logger)({
       transports: [
              new (winston.transports.Telegram) ({
                  token : ‘<봇의 토큰>’,
                  chatId : ‘<자신의유저아이디숫자>’,
                  unique : true

              }),

              new (winston.transports.Console)({
                  colorize: ‘all’

              })

                   ]

  });

module.exports = logger;
  • 기존 파일은 따로 저장해주는 센스!
  • 그리고 다시 poloLender 봇을 실행하면 자신의 텔레그램로 전송되는 걸 볼 수 있다

P.S 현재 콘솔에 나오는 [info] 부분만 전송되며, 에러나 기타 내용은 나오지 않는다. (다 나오게 할수 있으나 내용이 너무 많아서 굳이 필요치 않아 넣지 않았음)

최초 실행시 현재 빌려준 내용이 많이 전송이 되는데 웹접속으로 보내는 방식이라 딜레이와 각각 메세지의 순서가 바뀔때도 있음. 전송이 딜레이를 줘서 하면 되나 멀…

암튼 잘 사용 하시고 돈 많이 버세요. 지금 비트가 넘 떨어져서 ㅜㅜ