June 30, 2023

텔레그램 봇 혼자 만드는 방법: Botfather 사용

스스로 텔레그램 봇 만들기

텔레그램 봇은 텔레그램 채팅방에서 사용할 수 있는 메신저 자동화 프로그램 중 하나입니다. 최근 자동 챗봇을 만드는 방법이 유행하면서 많은 분들이 카카오톡 챗봇, 텔레그램 챗봇 등 챗봇 만들기 프로젝트를 하고 있습니다. 실제로 챗봇을 만드는 방법이 굉장히 많이 있기 때문에 API 키만 잘 활용하면 어렵지 않게 따라 만들 수 있습니다. 텔레그램도 마찬가지로 Botfather 라는 텔레그램의 채팅 봇이 직접 텔레그램 봇을 만들 수 있도록 ID와 HTTP API키를 제공해주고 있습니다.

텔레그램 Botfather 검색하기

우선 데스크탑 또는 모바일 텔레그램 앱에서 Botfather 라고 검색을 해주세요. 아래 사진처럼 봇파더가 나옵니다. 맨 위에 나오는 봇을 눌러주시면 다음 단계로 넘어갈 수 있습니다.

 

텔레그램 Botfather

Botfather 시작: /start 입력

위에서 Botfather를 클릭하면 아래와 같은 채팅이 시작되면서 Botfather 가 채팅을 위한 아이디를 만들라고 알려줍니다. /start 라고 입력하면 아래와 같이 시작됩니다. /start 입력을 하지 않아도 자동으로 시작되는 경우도 있습니다.

봇파더 시작

 

Bot 아이디 생성: /newbot 입력

다음 단계로 봇 아이디를 생성하면 됩니다. 봇 아이디를 만들기 위해서 /newbot 을 검색해주세요. 뉴 봇을 검색하면 아래와 같이 아이디를 만들라고 알려줍니다. 첫 번째 name에서 말하는 bot 아이디는 여러분이 봇을 만들었을 때 구분하기 위한 여러분의 봇 아이디입니다. 두 번째 nusername에서 말하는 봇 아이디는 채팅방에서 보여지는 봇 아이디입니다. 두 번째 채팅방에서 보일 수 있도록 만드는 ID에는 반드시 bot 으로 끝나야 합니다.

구분하기 귀찮다면 첫 번째와 두 번째 Bot 아이디를 동일하게 만들어도 무방합니다. 여기서는 둘 다 똑같은 아이디를 만들었습니다.

아이디-만들기

 

HTTP API 키 주소창 입력하기

위의 이미지를 살펴보면 HTTP API: 키를 제공해주는 것을 볼 수 있습니다. 여기서 제공받은 API 키를 눌러서 복사하고 주소창의 URL에 붙여넣기를 해줍니다. 이 때 API KEY만 붙여넣기 하는 것이 아니라 아래 예시처럼 작성해야 합니다. 괄호 친 부분에만 해당 API 키를 복사해서 붙여넣은 후 Enter 키를 눌러주세요.

예시) https://api.telegram.org/bot(5837459271:AAGLaeJ7-nAtols5jjGO-v739SmhcK2JAow)/getUpdates

API 키를 제대로 입력했을 경우api-입력제대로했을때

API 키를 잘 못 입력했을 경우api 잘못입력했을때

성공적으로 API 키를 입력했다면, 텔레그램 봇 아이디를 검색창에 검색 후 찾아주세요. 위에서 봇 이름이 Keywordontop_bot 이었기 때문에 검색하면 봇 이름과 같은 채팅 방이 등장합니다.

텔레그램 채널 생성

텔레그램 봇 채팅 테스트

위 사진처럼 봇 아이디를 검색해서 채팅 방이 제대로 나온다면 이제 채팅을 한 후 봇에 제대로 입력이 되는지 테스트를 해줍니다. 채팅한 내용을 확인하기 위해서 위에서 입력한 주소창을 새로고침 해줍니다. 새로고침하면 아래 사진과 같이 채팅한 내용이 text에 반영되서 나옵니다. 한글의 경우 코드로 나오지만, 영어는 문자 그대로 나오는 것을 알 수 있습니다.

텔레그램-봇-채팅-테스트

텔레그램 봇 API, PHP 메세지 코드 참고

워드프레스 또는 PHP 에서 텔레그램 봇 API 를 이용해서 메세지를 보내고 싶으면 API 코드와 Chat ID 를 활용해서 원하는 기능을 구현할 수 있습니다.

아래는 PHP 코드 예시입니다. 참고하실 분들은 아래 코드를 참고해주세요.

<?php
function send_telegram_bot_message($botToken, $chatId, $message) {
$apiUrl = “https://api.telegram.org/bot$botToken/”;
$sendMessageUrl = $apiUrl . “sendMessage?chat_id=$chatId&text=” . urlencode($message);
$response = file_get_contents($sendMessageUrl);

// 응답 확인
if ($response) {
$responseData = json_decode($response, true);
if ($responseData[‘ok’] == true) {
echo ‘메시지가 성공적으로 전송되었습니다.’;
} else {
echo ‘메시지 전송에 실패하였습니다. 오류 메시지: ‘ . $responseData[‘description’];
}
} else {
echo ‘API 요청에 실패하였습니다.’;
}
}

$botToken = ‘봇 토큰 입력장소’; // 봇 토큰을 여기에 입력하세요
$chatId = ‘채팅 ID’; // 대상 채팅의 ID를 여기에 입력하세요
$message = ‘보내고 싶은 메세지 입력’; // 보낼 메시지를 여기에 입력하세요

send_telegram_bot_message($botToken, $chatId, $message);
?>

 

텔레그램 봇 삭제 방법

만약 텔레그램 봇을 삭제하고 싶으시다면 검색 창에 /mybots 을 검색해줍니다. 아래와 같이 방금 만드신 텔레그램 봇 이름과 함께 삭제하겠냐는 메세지가 나옵니다. 삭제 버튼을 눌러주시면 한 번 더 삭제를 하겠냐고 물어보는데 이때 삭제 버튼을 눌러주시면 최종적으로 삭제가 됩니다.

삭제 후 제대로 삭제가 되었는지 확인하기 위해서 텔레그램 검색 창에서 만들었던 봇 이름을 다시 검색해주세요. 검색 시 봇이 나오지 않는다면 제대로 삭제가 된 것입니다.

Related articles