안녕하세요
오늘은 텔레그램 웹훅을 이용하여 원하는 이벤트를 만들어보려고 합니다
우선 로봇 생성은 워낙 자료가 많기 때문에 생략하고 진행하겠습니다
SSL이 적용된 URL 있으시면 1번을 대체하실 수 있습니다
1. API Gateway 설정
웹훅은 기본적으로 POST로 페이지에 값을 넘겨줍니다
메서드를 생성한 뒤
통합 유형을 HTTP로 설정한 후 엔드포인트를 제가 원하는곳으로 설정해주세요
생성된 URL
https://API-GATEWAY/dev/test
2. 웹훅 등록
https://api.telegram.org/bot토큰/setwebhook?url=https(URL)
URL접근으로 쉽게 웹훅을 등록하실 수 있습니다
이때 url은 ssl이 적용된 https만 등록이 가능합니다
저는 ssl이 없는 서버를 사용하여 대신 AWS api gateway를 이용하여 개발했습니다
정상적으로 등록되면 이렇게 페이지가 나옵니다
주의하실점은 훅을 등록하시면
https://api.telegram.org/bot토큰/getUpdates
사용이 불가능하니 참고해주세요
3. PHP페이지 생성 및 웹훅 동작 검증
제가 주로 사용하는 라라벨 루멘을 기준으로 하겠습니다.
/routes/web.php
우선 라우트를 등록하겠습니다
$router->post('/dev/telegram/bot/sendText', 'Dev\TelegramBotController@index');
/app/Http/Controllers/Dev/TelegramBotController.php
를 생성했습니다
public function index(request $request)
{
$requestInput = $request->input();
$this->logger->alert($requestInput);
}
해당 페이지에 request가 무엇이 들어오는지 궁금하여 psr/logger를 사용하여 로그를 남겨봤습니다
해당 log가 잘 남겨지면 무사히 동작을 한거죠
psr/logger는
https://devel-lee.tistory.com/7
를 통하여 설치하실 수 있습니다
telegram 라이브러리는
https://packagist.org/packages/telegram-bot/api
composer를 이용하여 설치하였습니다.
로봇이 있는 채팅방에 명령어를 입력하면
text를 통하여 해당 값이 무엇인지 확인이 가능했습니다.
message - text를 읽어서 특정 명령어를 판단할 수 있습니다
으로 작성 뒤 해당 /test를 날려보면
정상적으로 실행이 가능했습니다
chat_id를 이용하시면 원하시는방에 바로바로 입력이 가능합니다.
이상 텔레그램 웹훅을 통하여 특정 커맨드를 만드는법을 알아봤습니다~
'PHP > Composer' 카테고리의 다른 글
PHP 로그를 쉽게 남겨보자! (0) | 2020.04.22 |
---|---|
[PHP] 라라벨 루멘 DB문서 자동화 (1) | 2020.03.19 |
댓글