AI with 재미

텔레그램 봇 생성 및 그룹 채팅 연동

jhinux 2025. 11. 18. 16:17
텔레그램 봇 생성 및 그룹 채팅 연동 절차

텔레그램 봇 생성 및 그룹 채팅 연동

본 문서는 텔레그램 봇을 신규 생성하고, 특정 그룹 채팅방과 연동하여 메시지를 발송하는 전 과정을 절차식으로 기술합니다.

  1. 신규 봇 생성 및 API 토큰 획득

    텔레그램의 공식 봇 관리자인 @BotFather를 통해 봇을 생성하고 API 토큰을 발급받습니다.

    1. 텔레그램 검색창에서 @BotFather를 찾아 대화를 시작합니다.
    2. /newbot 명령어를 입력합니다.
    3. 봇의 이름(표시 이름)과 사용자 이름(고유 ID, _bot으로 끝나야 함)을 순서대로 입력합니다.
    4. 생성이 완료되면, HTTP API에 접근할 수 있는 API 토큰(예: 123456:ABC-DEF...)이 발급됩니다. 이 토큰은 안전하게 보관해야 합니다.
  2. API 토큰 유효성 검증

    발급받은 토큰이 정상적으로 작동하는지 getMe 메소드를 통해 확인합니다.

    https://api.telegram.org/bot[발급받은_API_토큰]/getMe

    브라우저 또는 API 테스트 도구로 위 URL을 호출했을 때, {"ok":true, "result":{...}}와 같이 봇 정보가 포함된 JSON 응답을 받으면 토큰이 유효한 것입니다.

  3. 그룹방 초대 및 봇 프라이버시 설정 (핵심)

    봇이 그룹방의 메시지를 읽고 ID를 확인하기 위해서는 봇의 '프라이버시 모드'를 반드시 비활성화해야 합니다.

    문제점: 봇의 '프라이버시 모드(Privacy Mode)'가 켜져 있으면(기본값), 봇은 그룹방의 일반 대화를 무시합니다. (오직 / 명령어만 인식) 이로 인해 getUpdates API를 호출해도 결과가 [] (빈 배열)로 나옵니다.
    해결 절차:
    1. 다시 @BotFather와의 대화로 돌아갑니다.
    2. /mybots 명령어로 내 봇 목록을 엽니다.
    3. 설정할 봇을 선택한 뒤, Bot Settings 버튼을 누릅니다.
    4. Privacy 버튼을 선택합니다.
    5. Turn off 또는 Disable 버튼을 눌러 프라이버시 모드를 끕니다.
  4. 그룹 채팅 ID (chat_id) 획득

    프라이버시 모드를 끈 후, 봇이 그룹방의 메시지를 읽을 수 있게 되었습니다. 이제 chat_id를 획득합니다.

    1. 봇을 메시지를 보낼 그룹 채팅방에 초대합니다. (이미 초대했다면 내보냈다가 다시 초대하는 것이 좋습니다.)
    2. 초대된 그룹방에서 아무 메시지나 (예: 테스트) 입력합니다.
    3. 웹 브라우저에서 getUpdates API를 호출합니다.
    https://api.telegram.org/bot[발급받은_API_토큰]/getUpdates

    결과로 나온 JSON 데이터에서 message.chat.id 값을 찾습니다. 그룹방의 ID는 음수(-)로 시작하는 긴 숫자입니다. (예: -100123456...)

  5. 최종 메시지 발송 테스트

    획득한 API 토큰그룹방 chat_id를 사용하여 sendMessage 메소드를 호출합니다.

    https://api.telegram.org/bot[발급받은_API_TOKEN]/sendMessage?chat_id=[그룹방_ID]&text=[보내고_싶은_메시지]

    예시:

    https://api.telegram.org/bot123456:ABC-DEF/sendMessage?chat_id=-100123456&text=그룹방 연동 테스트 성공입니다.

    위 URL을 실행했을 때 봇이 해당 그룹방에 "그룹방 연동 테스트 성공입니다."라는 메시지를 전송하면 모든 절차가 완료된 것입니다.

'AI with 재미' 카테고리의 다른 글

돌아이 Gemini-CLI  (0) 2025.12.05
F*ck Gemini (코드 지맘대로 삭제함)  (0) 2025.11.20
GEMINI 우기기  (0) 2025.11.17
ubuntu 18.04 & gemini cli  (0) 2025.11.12
Gemini Jules - 본인 스스로 답변  (0) 2025.11.09