인프런 커뮤니티 질문&답변

juengwoo kang님의 프로필 이미지

작성한 질문수

실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용

네이버 뉴스 크롤링 결과 텔레그램 메시지 전송(공식 telegram API 사용법)

텔레그램 sendMessage 시 400에러가 뜹니다.

24.07.04 12:30 작성

·

117

·

수정됨

0

message = input("message: ")

data = {"chat_id":chat_id, "text":message}

url = f"http://api.telegram.org/bot{bot_token}/sendMessage"
res = requests.get(url, data=data)

print(res)
if res.status_code == 200:
    print(json.loads(res.text))

위처럼 작성하고 실행해보면 response 400에러가 발생합니다.

getUpdate 메서드는 정상실행이 되는데 뭐가 문제인지 모르겠습니다....

url 공백이 있으면 400에러가 발생한다고 검색은 해봤는데 , 전 공백도 없는것 같고.

답변 2

0

김플님의 프로필 이미지
김플
지식공유자

2024. 07. 07. 22:50

http://api.telegram.org/bot{bot_token}/sendMessage
이걸

https://api.telegram.org/bot{bot_token}/sendMessage
이렇게 바꿔보세요.(http -> https)
그리고 import telegram를 사용하는건 telegram 라이브러리를 설치하는 방식이고
제 강의는 라이브러리 설치없이 그냥 텔레그램 공식 API만 사용하는 방식입니다.

juengwoo kang님의 프로필 이미지
juengwoo kang
질문자

2024. 07. 08. 13:06

답변 감사합니다.

말씀 해주신대로 하니 되네요.

0

juengwoo kang님의 프로필 이미지
juengwoo kang
질문자

2024. 07. 05. 14:49

import requests
import json
import telegram
import asyncio
bot_token="?"
chat_id="?"

bot = telegram.Bot(bot_token)
asyncio.run(bot.sendMessage(chat_id=chat_id, text = "message"))

인터넷으로 서칭해서 이렇게는 동작하는거 확인했습니다.

수업 내용에서 현 시점에 뭔가 변경된게 있는걸까요?