[[부록07_텔레그램_봇_생성_및_n8n_연동_가이드|부록 07]]. 텔레그램 봇 생성 및 n8n 연동 가이드
[!abstract] 텔레그램 봇 생성부터 Bot Token 발급, Chat ID 확인, n8n Credential 등록까지 안내합니다. 이 가이드를 따라하면 n8n 워크플로에서 텔레그램으로 메시지를 자동 전송할 수 있게 되죠.
n8n의 Telegram 노드를 사용하려면, 텔레그램 봇을 만들고 n8n에 인증 정보를 등록해야 합니다. 처음 들으면 복잡하게 느껴질 수 있지만, 텔레그램 봇 생성은 프로그래밍 없이 대화만으로 완료됩니다. 문자 그대로 "채팅 몇 번"이면 끝이거든요.
이 부록은 다음 내용을 다룹니다.
- 텔레그램 앱 설치 및 계정 생성
- BotFather로 봇 생성 및 Bot Token 발급
- 나의 Chat ID 확인
- 봇과 대화 시작하기
- n8n에 Telegram API Credential 등록
[!tip] 4.1.8 Schedule Trigger 실습에서 오셨나요? 4.1.8 섹션의 매일 영어회화 텔레그램 알림 실습을 위해 이 가이드를 보고 계신다면, 아래 항목을 순서대로 모두 완료한 뒤 돌아가세요.
순서 완료할 항목 비고 1 텔레그램 앱 설치 모바일 또는 데스크톱 2 BotFather로 봇 생성 Bot Token 발급 3 Chat ID 확인 메시지를 받을 나의 ID 4 봇과 대화 시작 Start 버튼 클릭 5 n8n Credential 등록 Telegram API 인증 정보 5단계까지 완료하면 준비 끝입니다. [[Day18_04.1.8_메신저_연동_매일_영어회화_텔레그램_알림]]로 돌아가세요.
텔레그램 앱 설치 및 계정 생성
텔레그램은 **모바일(iOS/Android)**과 데스크톱(Windows/macOS/Linux) 모두에서 사용할 수 있는 무료 메신저입니다. 카카오톡이나 라인과 비슷하지만, 봇 API를 무료로 제공하기 때문에 자동화 도구와 궁합이 아주 좋죠.
설치 방법
| 플랫폼 | 설치 방법 |
|---|---|
| iOS | App Store에서 Telegram 검색 후 설치 |
| Android | Google Play에서 Telegram 검색 후 설치 |
| 데스크톱 | telegram.org 에서 다운로드 |
![[그림부록07-1.png]] [그림부록07-1] 텔레그램 공식 웹사이트 — 플랫폼별 다운로드 버튼
계정 생성
설치 후 앱을 실행하면 전화번호 입력 화면이 나타납니다.
- 국가 코드를 **+82 (대한민국)**로 선택합니다.
- 본인의 휴대전화 번호를 입력합니다.
- SMS 또는 전화로 전송된 인증 코드를 입력합니다.
- 이름을 입력하면 계정 생성이 완료됩니다.
![[그림부록07-2.png]] [그림부록07-2] 텔레그램 계정 생성 — 전화번호 입력 및 인증 코드 화면
💡 이미 텔레그램 계정이 있다면 이 단계는 건너뛰고 바로 다음 섹션으로 이동하세요.
[!info] 데스크톱 앱을 추천합니다 봇과의 대화 내용을 복사하거나, Bot Token을 n8n에 붙여넣을 때는 데스크톱 환경이 훨씬 편합니다. 모바일로 봇을 생성한 뒤, 데스크톱 앱에서 로그인하면 대화 내역이 자동으로 동기화됩니다.
BotFather로 봇 생성하기
텔레그램 봇은 BotFather라는 공식 봇을 통해 생성합니다. BotFather는 텔레그램의 모든 봇을 관리하는 "봇의 아버지" 같은 존재인데요, 여기에 채팅을 보내는 것만으로 봇을 만들고, 설정하고, 토큰을 발급받을 수 있습니다.
STEP 1. BotFather 찾기
- 텔레그램 앱 상단의 검색 아이콘(돋보기)을 클릭합니다.
- 검색란에 **
BotFather**를 입력합니다. - 검색 결과에서 파란색 체크 표시(공식 인증)가 있는 BotFather를 선택합니다.
![[그림부록07-3.png]] [그림부록07-3] 텔레그램 검색란에서 BotFather 검색 — 파란색 체크 표시 확인
[!warning] 가짜 BotFather에 주의하세요 BotFather를 흉내 낸 가짜 봇이 존재할 수 있습니다. 반드시 **파란색 체크 표시(공식 인증 마크)**가 있는 계정을 선택하세요. 공식 BotFather의 사용자명은 정확히
@BotFather입니다.
- BotFather를 처음 만나면 시작(Start) 버튼이 하단에 표시됩니다. 이 버튼을 클릭하세요.
![[그림부록07-4.png]] [그림부록07-4] BotFather 대화 시작 — Start 버튼 클릭
- BotFather가 사용 가능한 명령어 목록을 보여줍니다. 이 화면이 나오면 정상적으로 연결된 것입니다.
![[그림부록07-5.png]] [그림부록07-5] BotFather 명령어 안내 메시지 — 사용 가능한 명령어 목록
STEP 2. 새 봇 생성 명령 입력
- 대화 입력란에 **
/newbot**을 입력하고 전송합니다.
![[그림부록07-6.png]] [그림부록07-6] /newbot 명령 입력 화면
- BotFather가 **봇의 표시 이름(display name)**을 물어봅니다. 원하는 이름을 자유롭게 입력합니다.
Alright, a new bot. How about you tell me the name of your bot?
예를 들어 나의 n8n 알림봇이라고 입력합니다. 한글, 영어, 이모지 모두 사용 가능합니다.
![[그림부록07-7.png]] [그림부록07-7] 봇 표시 이름 입력 — "나의 n8n 알림봇"
- 이어서 BotFather가 **봇의 사용자명(username)**을 물어봅니다.
Good. Now let's choose a username for your bot. It must end in `bot`.
봇 사용자명은 아래 규칙을 지켜야 합니다:
| 규칙 | 설명 | 예시 |
|---|---|---|
bot으로 끝나야 함 | 필수 규칙 | my_n8n_alert_bot ✅ |
| 영문, 숫자, 밑줄만 사용 | 한글, 공백 불가 | 나의봇 ❌ |
| 고유해야 함 | 이미 사용 중인 이름 불가 | 중복 시 숫자 추가 |
예를 들어 my_n8n_alert_bot이라고 입력합니다. 만약 이미 사용 중인 이름이라면, my_n8n_alert_bot_01처럼 숫자를 추가하세요.
![[그림부록07-8.png]] [그림부록07-8] 봇 사용자명 입력 — "my_n8n_alert_bot" (반드시 bot으로 끝나야 함)
💡 사용자명은 나중에 변경할 수 있습니다. BotFather에게
/setusername명령을 보내면 됩니다. 단, 표시 이름(/setname)과 사용자명 모두 변경 가능하니 너무 고민하지 않아도 됩니다.
STEP 3. Bot Token 확인 및 저장
봇 생성이 완료되면, BotFather가 축하 메시지와 함께 Bot Token을 알려줍니다. 이 메시지는 아래와 같은 형태입니다:
Done! Congratulations on your new bot. You will find it at t.me/my_n8n_alert_bot.
You can now add a description, about section and profile picture for your bot,
see /help for a list of commands. By the way, when you've finished creating
your cool bot, ping our Bot Support if you want a better username for it.
Just make sure the bot is fully functional before you do this.
Use this token to access the HTTP API:
7123456789:AAF8kQ2xB3cD4eF5gH6iJ7kL8mN9oP0qRs
Keep your token secure and store it safely, it can be used by anyone
to control your bot.
![[그림부록07-9.png]] [그림부록07-9] BotFather가 발급한 Bot Token — 빨간 박스로 표시된 토큰 부분
Bot Token은 숫자:영문숫자문자열 형태입니다. 예시:
7123456789:AAF8kQ2xB3cD4eF5gH6iJ7kL8mN9oP0qRs
이 토큰을 복사하여 안전한 곳에 저장하세요. 잠시 후 n8n Credential 등록 시 사용합니다.
[!danger] Bot Token은 비밀번호입니다 Bot Token을 아는 사람은 누구나 이 봇을 통해 메시지를 보내거나 받을 수 있습니다. 절대 다른 사람에게 공유하거나, 공개 저장소(GitHub 등)에 올리지 마세요.
토큰이 유출되었다면? BotFather에게
/revoke명령으로 기존 토큰을 즉시 폐기하고 새 토큰을 발급받으세요.
[!tip] 토큰을 잃어버렸다면? BotFather에게
/mybots명령을 입력하면 생성한 봇 목록이 나타납니다. 봇을 선택한 뒤 API Token 버튼을 클릭하면 토큰을 다시 확인할 수 있습니다.![[그림부록07-10.png]] [그림부록07-10] /mybots로 기존 봇 목록 확인 — API Token 재발급 메뉴
나의 Chat ID 확인하기
n8n Telegram 노드에서 메시지를 보내려면, 받는 사람의 Chat ID가 필요합니다. Chat ID는 텔레그램 사용자마다 고유한 숫자 ID인데요, 사용자명(@dante_labs)과는 전혀 다른 값입니다.
[!info] Chat ID란? 텔레그램은 내부적으로 모든 사용자, 그룹, 채널에 숫자 ID를 부여합니다. 이것이 Chat ID입니다.
구분 예시 n8n에서 사용 Chat ID (숫자) 6367628385✅ 사용자명 (@로 시작) @dante_labs❌ n8n Telegram 노드의 Chat ID 필드에는 반드시 숫자를 입력해야 합니다.
@사용자명형식은 동작하지 않습니다.
방법: userinfobot 사용
가장 간단한 방법은 @userinfobot을 사용하는 것입니다. 별도 설치 없이 텔레그램 앱에서 바로 확인할 수 있죠.
1단계: 텔레그램 검색란에 **userinfobot**을 입력합니다.
![[그림부록07-11.png]] [그림부록07-11] 텔레그램 검색에서 userinfobot 검색
2단계: 검색 결과에서 @userinfobot을 선택하고 대화를 시작합니다.
![[그림부록07-12.png]] [그림부록07-12] userinfobot 대화 시작 — Start 버튼 클릭
3단계: **/start**를 입력하면, 봇이 나의 정보를 즉시 알려줍니다.
@userinfobot:
Id: 6367628385
First: 단테
Last: -
Lang: ko
![[그림부록07-13.png]] [그림부록07-13] userinfobot이 알려주는 나의 정보 — Id 값이 Chat ID
여기서 Id 값(6367628385)이 바로 나의 Chat ID입니다. 이 숫자를 메모해 두세요.
💡 Chat ID를 어디에 적어두면 좋을까요? 메모장에 Bot Token과 함께 적어두면, n8n Credential 등록 시 편리합니다.
Bot Token: 7123456789:AAF8kQ2xB3cD4eF5gH6iJ7kL8mN9oP0qRs Chat ID: 6367628385
봇과 대화 시작하기
이 단계는 간단하지만 반드시 필요한 단계입니다. 텔레그램 봇은 보안 정책상, 사용자가 먼저 대화를 시작하기 전에는 메시지를 보낼 수 없습니다. 이 단계를 빠뜨리면 n8n에서 메시지를 보낼 때 에러가 발생하거든요.
[!warning] 이 단계를 건너뛰면 발생하는 에러
Forbidden: bot can't initiate conversation with a user이 에러가 보인다면, 아래 과정을 진행하지 않은 것입니다.
1단계: 텔레그램 검색란에 STEP 2에서 설정한 봇 사용자명(예: my_n8n_alert_bot)을 입력합니다.
![[그림부록07-14.png]] [그림부록07-14] 내가 만든 봇 검색 — 봇 사용자명으로 검색
2단계: 봇을 선택하면 하단에 시작(Start) 버튼이 표시됩니다. 이 버튼을 클릭합니다.
![[그림부록07-15.png]] [그림부록07-15] 봇과 대화 시작 — Start 버튼 클릭
3단계: 봇과의 대화 창이 열리면 완료입니다. 봇이 아직 아무 응답을 하지 않아도 괜찮습니다 — n8n 워크플로를 만들기 전까지는 봇이 자동 응답을 하지 않는 것이 정상입니다.
![[그림부록07-16.png]] [그림부록07-16] 봇과의 대화가 열린 상태 — 이 상태면 준비 완료
n8n에 Telegram Credential 등록하기
이제 마지막 단계입니다. 앞에서 발급받은 Bot Token을 n8n에 등록하면, Telegram 노드에서 메시지를 주고받을 수 있게 됩니다.
STEP 4. Credential 생성 화면 열기
- n8n 화면 좌측 사이드바에서 Credentials 메뉴를 클릭합니다.
![[그림부록07-17.png]] [그림부록07-17] n8n 사이드바 — Credentials 메뉴 위치
- 우측 상단의 Add Credential 버튼을 클릭합니다.
![[그림부록07-18.png]] [그림부록07-18] Credentials 목록 화면 — Add Credential 버튼
- 검색란에 **
Telegram**을 입력하면 결과가 나타납니다. Telegram API를 선택합니다.
![[그림부록07-19.png]] [그림부록07-19] Credential 검색 — "Telegram" 입력 후 Telegram API 선택
STEP 5. Bot Token 입력 및 연결 테스트
- Credential 설정 화면이 열리면, Access Token 필드가 보입니다.
![[그림부록07-20.png]] [그림부록07-20] Telegram API Credential 설정 화면 — Access Token 입력 필드
- Access Token 필드에 STEP 3에서 복사한 Bot Token을 붙여넣습니다.
![[그림부록07-21.png]] [그림부록07-21] Bot Token 붙여넣기 — 전체 토큰을 그대로 입력
[!warning] 토큰 입력 시 주의사항
- 토큰 앞뒤에 공백이 포함되지 않도록 주의하세요.
- 토큰 형식은 반드시
숫자:영문숫자문자열형태여야 합니다.- 복사·붙여넣기 시 줄바꿈이 섞이지 않았는지 확인하세요.
-
Save 버튼을 클릭합니다. n8n이 자동으로 연결 테스트를 수행합니다.
-
화면 상단에 ==
Connection tested successfully== 메시지가 녹색으로 표시되면 연결 성공입니다.
![[그림부록07-22.png]] [그림부록07-22] 연결 테스트 성공 — "Connection tested successfully" 메시지
💡 Credential 이름을 변경하세요: 기본 이름은
Telegram account로 설정됩니다. 여러 봇을 관리할 수 있으므로, 화면 상단의 이름을n8n 알림봇 Telegram처럼 구체적인 이름으로 변경해 두면 나중에 구분하기 편합니다.![[그림부록07-23.png]] [그림부록07-23] Credential 이름 변경 — 상단 이름 클릭 후 수정
봇 관리에 유용한 BotFather 명령어
설정 이후에도 BotFather를 통해 봇을 관리할 수 있습니다. 자주 쓰는 명령어를 정리했습니다.
| 명령어 | 기능 | 사용 예시 |
|---|---|---|
/mybots | 생성한 봇 목록 보기 | 토큰 재확인, 봇 설정 변경 시 |
/setname | 봇 표시 이름 변경 | 나의 n8n 알림봇 → 업무 자동화봇 |
/setusername | 봇 사용자명 변경 | my_n8n_bot → dante_work_bot |
/setdescription | 봇 소개글 설정 | 봇 프로필에 표시되는 설명문 |
/setabouttext | 봇 정보란 설정 | 봇 프로필의 About 영역 |
/setuserpic | 봇 프로필 사진 설정 | 봇에 아이콘 이미지 추가 |
/revoke | 기존 토큰 폐기 + 새 토큰 발급 | 토큰 유출 시 즉시 사용 |
/deletebot | 봇 삭제 | 더 이상 사용하지 않는 봇 정리 |
![[그림부록07-24.png]] [그림부록07-24] BotFather /mybots 명령 — 봇 관리 메뉴 화면
정리하며
이 부록의 핵심을 정리하면 다음과 같습니다.
- 봇 생성은 BotFather와의 대화로:
/newbot→ 표시 이름 → 사용자명(bot으로 끝나야 함) → Bot Token 발급. - Bot Token은 비밀번호 수준: 유출되면 즉시 BotFather에
/revoke로 폐기 후 재발급. 공개 저장소에 절대 올리지 마세요. - Chat ID는 숫자만:
@사용자명이 아니라userinfobot이 알려주는 숫자 ID(6367628385등)를 사용해야 합니다. - 봇과 먼저 대화 시작 필수: 사용자가 Start를 눌러 대화를 먼저 시작해야 봇이 메시지를 보낼 수 있습니다. 누락 시
Forbidden: bot can't initiate conversation오류가 발생합니다.
설정 확인 체크리스트
- 텔레그램 앱이 설치되고 계정이 생성되었는가?
- BotFather로 봇을 생성하고 Bot Token을 확인했는가?
- userinfobot으로 나의 Chat ID를 확인했는가?
- 내가 먼저 봇과 대화를 시작했는가? (Start 버튼 클릭)
- n8n에 Telegram API Credential이 등록되고
Connection tested successfully가 표시되었는가?
자주 하는 실수와 해결법
| 증상 | 원인 | 해결법 |
|---|---|---|
Connection tested successfully가 안 뜸 | Bot Token이 잘못 입력됨 | BotFather에서 /mybots → 봇 선택 → API Token으로 재확인 |
Forbidden: bot can't initiate conversation | 봇과 대화를 시작하지 않음 | 텔레그램에서 봇 검색 → Start 버튼 클릭 |
Bad Request: chat not found | Chat ID가 잘못됨 | userinfobot에서 /start로 Chat ID 재확인 |
| 봇 사용자명이 이미 사용 중 | 다른 사람이 같은 이름을 사용 중 | 봇 사용자명 끝에 숫자를 추가 (예: my_n8n_bot_01) |
| 메시지가 도착하지 않음 | Chat ID에 @를 포함하여 입력 | Chat ID는 숫자만 입력 (예: 6367628385) |
토큰 입력 후 401 Unauthorized | 토큰에 공백이나 줄바꿈이 포함됨 | 토큰을 다시 복사하되, 앞뒤 공백 제거 |
| BotFather가 응답하지 않음 | 네트워크 문제 또는 가짜 봇 선택 | 인터넷 연결 확인 + 공식 @BotFather (파란 체크) 여부 재확인 |
💡 다음 단계: 텔레그램 외에 일반 이메일로도 자동 발송이 필요하다면 SMTP 설정이 필요합니다. 다음으로 [[부록08_네이버_메일_SMTP_연동_가이드|부록 08. 네이버 메일 SMTP 연동 가이드]]를 참고하세요.
