안녕하세요
오늘은 텔레그램 웹훅을 이용하여 원하는 이벤트를 만들어보려고 합니다
우선 로봇 생성은 워낙 자료가 많기 때문에 생략하고 진행하겠습니다
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
PHP 로그를 쉽게 남겨보자!
안녕하세요. 오늘은 Composer를 이용하여 쉽게 로그를 남겨보려고 합니다. 이번에 사용할것은 psr/log 입니다. 다운로드가 무려 242,748,998건으로 많은 유저들이 사용하고 있습니다. 설치는 Composer를 통하여 설..
devel-lee.tistory.com
를 통하여 설치하실 수 있습니다
telegram 라이브러리는
https://packagist.org/packages/telegram-bot/api
telegram-bot/api - Packagist
README An extended native php wrapper for Telegram Bot API without requirements. Supports all methods and types of responses. Bots: An introduction for developers Bots are special Telegram accounts designed to handle messages automatically. Users can inter
packagist.org
composer를 이용하여 설치하였습니다.
로봇이 있는 채팅방에 명령어를 입력하면
text를 통하여 해당 값이 무엇인지 확인이 가능했습니다.
message - text를 읽어서 특정 명령어를 판단할 수 있습니다
으로 작성 뒤 해당 /test를 날려보면
정상적으로 실행이 가능했습니다
chat_id를 이용하시면 원하시는방에 바로바로 입력이 가능합니다.
이상 텔레그램 웹훅을 통하여 특정 커맨드를 만드는법을 알아봤습니다~
'PHP > Composer' 카테고리의 다른 글
PHP 로그를 쉽게 남겨보자! (0) | 2020.04.22 |
---|---|
[PHP] 라라벨 루멘 DB문서 자동화 (1) | 2020.03.19 |
댓글