inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

텔레그램 봇 구축하기

토큰을 통해서 제 고유아이디를 알아내야되는데 반환되는것이 하나도 없음

82

공유진

작성한 질문수 4

0

토큰을 통해서 제 고유아이디를 알아내야되는데 반환되는것이 하나도 없음

안녕하세요.. 지금 인프런을 통해서 강의를 듣고있는데, 모르는것이 많아서 댓글 질문 남깁니다..
참고로 저는 Mac, visual code 사용하고있습니다.
현재, 진행되고있는 부분은 텔레그램봇을 통해서 몇개의 채팅 이후 반환값을 받아서 제 고유아이디를 알아내야되는데, 아래와 같이 코딩을 하여서 실행하였으나, 반환되는것이 하나도 없습니다. 문제가 무엇인지 알려주시면 너무 감사드리겠습니다.
import telegram
import asyncio
bot = telegram.Bot(token='제 토큰')
async def main():
updates = await bot.getUpdates()
for i in updates:
print(i)

asyncio.run(main())

python

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
공유진님, 텔레그램 봇을 통해 고유 아이디를 알아내는 방법에 대해 안내드리겠습니다.

첫째, getUpdates() 메소드를 호출할 때 아무런 업데이트도 반환되지 않는다면, 다음 사항들을 확인해주세요:

  1. 토큰 확인: 봇의 토큰이 정확히 입력되었는지 다시 한번 확인하시기 바랍니다.
  2. 텔레그램 봇 활성화: 텔레그램 봇과 대화를 시작했는지 확인하세요. 봇이 대화를 시작하지 않았으면, 업데이트는 발생하지 않습니다.
  3. 봇 권한 설정: 봇의 권한이 충분한지 확인하세요. 가령, 채팅 권한이 없다면 메시지를 받지 못할 수 있습니다.

둘째, getUpdates()는 요청 시점 이후의 업데이트만 반환하므로, 이미 메시지가 존재한다면, 이 메시지를 수신하기 위해 ‘웹훅’ 대신 반복적인 getUpdates() 호출을 확인하세요.

마지막으로, 코드는 다음과 같이 수정될 수 있습니다:

import telegram
import asyncio

bot = telegram.Bot(token='제 토큰')

async def main():
    updates = await bot.get_updates(timeout=10)  # 시간을 늘려 업데이트 수신을 기다리십시오
    for u in updates:
        print(u.message.chat_id, u.message.text)  # 고유아이디(챗아이디) 및 메시지 출력

asyncio.run(main())

실패할 경우, 직접 봇에게 메시지를 보내고, 메시지를 송신해야만 업데이트 정보를 받을 수 있습니다. 만약 그래도 해결되지 않으면, 다른 방법으로는 ‘텔레그램 API 문서‘를 참고하여 직접적인 해결 방법을 찾아보세요.

도움이 되셨길 바랍니다!

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

1

322

2

iframe 상영시간표 가져오기

0

575

1

python-telegram-bot 2021년 20 버전 이후

0

1111

1

현재 23.01.07 기준으로 하시는 분 계시면 보세요.

0

586

1

iframe src 흰화면

7

983

0

서버에서 동작할때 셀레리움 라이브러리 있을때 에러나는데 어떻게 하면 되죠?

0

403

1

소스파일은 없을까요 부탁드려요

0

463

0

bot.getUpdates() 실행이 안됩니다..

0

360

0

PytzUsageWarning: The zone attribute is specific to pytz's interface; please migrate to a new time zone provider

0

273

0

자꾸 에러가 납니다.

0

409

1

python-telegram-bot 설치시 계속 오류가 뜹니다

0

400

0

서버 관련 질문입니다.

0

229

0

span.imax

-1

665

1

텔레그램 질문

0

256

0

requests를 어떻게 받아야 하나요

0

287

0

만약 imax상영을 여러개 한다면 어떻게 구현을 해야되나요?

0

329

1

socket.timeout: The read operation timed out 에러발생

0

574

0

안녕하세요^^ send message 질문있습니다!!

0

187

0

마지막 부분에서 막히네요

0

264

0

aws 회원가입

0

330

0

telegrambot.py실행

0

177

0

윈도우에서는 뭘로하는건가요

0

341

1

'bot' 변수 오류가 납니다.

0

312

1

telegram모듈이 없다고나오는데...

0

186

0