프로젝트 목표
실시간으로 환율 값을 얻어서 사용자에게 전송해줄 수 있는 봇을 만드려고 합니다.목표가격에 도달했을 경우에는 알림 메시지를 전송할 예정입니다.이번 글에서는 그 첫 단계인 메시지 전송을 해보겠습니다.
봇 토큰 발급받기
여러분에게 텔레그램 계정이 이미 있다는 가정하에 진행하겠습니다.
@BotFather 라는 봇과 채팅하면서 토큰을 받아야합니다.
대화 시작하기 -> /newbot 을 입력해주세요.
그 다음에는 차례대로 봇 이름, 봇 닉네임(유일해야함)을 입력하라고 합니다.
여기까지 진행해주시면 간단한 봇 발급은 끝납니다.
봇 토큰을 발급해주는데 따로 메모해두세요.
Chat_id 확인
https://api.telegram.org/bot토큰/getUpdates
url를 통해서 확인 가능합니다.
본인이 만든 봇이랑 몇번 대화한 뒤에 url에 접근해주세요.
그러면 json 형식으로 값이 넘어옵니다.
거기서 id라는 key와 매칭이 되는 value가 여러분의 chat_id가 됩니다.
지금은 테스트용이니까 수동으로 확인하지만 추후에는 자바 코드로 확인해야겠죠??
간단 자바 코드
TelegramBot bot = new TelegramBot(token.getTokenid());
SendMessage request = new SendMessage(token.getChatid(), "hello")
.parseMode(ParseMode.HTML)
.disableWebPagePreview(true)
.disableNotification(false);
SendResponse sendResponse = bot.execute(request);
boolean ok = sendResponse.isOk();
Message message = sendResponse.message();
허허허 너무 쌩뚱맞게 이상한 코드 부분을 가져왔나요??
테스트 한다고 이것저것 추가했더니 더러워져서.. 핵심 부분만 가져왔습니다.
제 봇 토큰을 넣고 봇 객체를 생성한 뒤 -> 특정 id를 가진 user에게 "hello" 메시지를 전송하고 있습니다.
단순 실습하실 때는 token.getTokenid() 자리에 직접 토큰 문자열을 넣어두셔도 됩니다.
만... 저는 github에 올리느라 급하게 따로 빼뒀습니다.
나중에 application.properties로 빼둬야겠어요.
어쨋든 여기까지 진행하신다면 bot이 제대로 메시지를 전송하게 됩니다.
주의사항
참고로 텔레그램 봇 api가 은근히 많습니다.
저는 다른 분께서 오픈해놓으신 api를 프로젝트에 추가해서 사용하고 있습니다.
따라서 함수명이나 사용법이 다를 수 있으니 주의해주세요.
'TechTalk' 카테고리의 다른 글
네이버 블로그 구글 검색 등록하기 (0) | 2021.04.29 |
---|---|
2021 LINE 라인 코딩테스트 후기 (0) | 2021.03.20 |
[IntelliJ] Could not target platform 에러 (0) | 2021.02.15 |
[리뷰] 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 (0) | 2021.02.05 |
CodeDeploy appspec.yml 관련 에러 해결법 (0) | 2021.02.03 |