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

Sangwoo Jung님의 프로필 이미지
Sangwoo Jung

작성한 질문수

파이썬으로 영화 예매 오픈 알리미 만들기

텔레그램 봇 구축하기

텔레그램 API가 업데이트 되면서 이 코드로는 chat_id를 확인할 수 없습니다.

작성

·

43

0

import telegram

import asyncio

bot = telegram.Bot(token = '~~~')

 

async def main():

    updates = await bot.getUpdates()  # getUpdates() 앞에 await를 추가

    for i in updates:

        print(i)

 

# asyncio 이벤트 루프에서 비동기 함수 실행

asyncio.run(main())

이렇게 해야 확인될 겁니다.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

Sangwoo Jung님, 텔레그램 API의 업데이트로 인해 chat_id를 확인하는 방법을 수정하신 것 같습니다. 올바르게 수정된 코드 예시를 제공해 주셔서 감사드립니다. 이번 경우처럼 비동기 프로그래밍을 사용할 때 await 키워드를 추가해야 하는 점 명심해야 합니다. 작성해주신 코드가 텔레그램의 업데이트된 API와 호환되는 것 같습니다.

다시 정리해서 방법을 공유해 드리면:

import telegram
import asyncio

bot = telegram.Bot(token='~~~')

async def main():
    updates = await bot.getUpdates()  # getUpdates() 앞에 await를 추가
    for i in updates:
        print(i)

# asyncio 이벤트 루프에서 비동기 함수 실행
asyncio.run(main())

이 코드는 getUpdates() 메서드를 비동기적으로 호출하여 await을 사용함으로써 최근 메시지 업데이트를 가져오고, 이를 통해 chat_id를 확인할 수 있습니다.

추가적으로 혹시 텔레그램 관련 더 많은 기능이나 다른 문제가 생긴다면, 텔레그램 공식 문서를 참조하는 것도 좋은 방법입니다.

도움이 되시길 바랍니다!

Sangwoo Jung님의 프로필 이미지
Sangwoo Jung

작성한 질문수

질문하기