본문 바로가기
텔레그램 한글 가이드
채널·봇 STEP 83 / 98

텔레그램 API 업데이트 처리 — 놓친 메시지 따라잡기

텔레그램 API 의 업데이트가 빠지지 않게 받는 방법입니다. pts·채널별 pts·qts·seq 순번의 뜻, 받은 순번으로 빈칸을 알아채는 표, 잠깐 기다린 뒤 getDifference 로 메우는 순서, 처음 켤 때 getState 와 다시 연결할 때 할 일을 정리했습니다.

  • 난이도L4
  • 읽는 시간4분
  • 최종 검증

결론부터

  1. 1업데이트마다 순번(pts)과 칸 수 — 더해서 비교해 빈칸을 찾는다.
  2. 2빈칸이면 잠깐 기다렸다 getDifference(채널은 getChannelDifference).
  3. 3처음엔 getState, 다시 연결하면 먼저 getDifference.
이 글의 목차
  1. 업데이트는 순번이 붙어 온다
  2. 빈칸 알아채기
  3. 빈칸 메우기
  4. 라이브러리를 쓰면
  5. 자주 묻는 질문
  6. 한눈에 정리

업데이트는 순번이 붙어 온다

사람 계정 앱은 새 메시지·수정·삭제 같은 일을 서버가 밀어 주는 업데이트로 받습니다. 업데이트는 연결이 끊기거나 순서가 뒤바뀌어 빠질 수 있어서, 텔레그램은 업데이트마다 순번을 붙여 앱이 빈칸을 알아채게 합니다. 순번은 갈래가 나뉘어 있습니다.

순번무엇의 순서
pts개인 대화·기본 그룹의 메시지 일 — 계정 하나에 하나
채널별 pts채널·슈퍼그룹마다 따로 하나씩
qts비밀 대화 같은 두 번째 갈래
seq업데이트 꾸러미 자체의 순서

빈칸 알아채기

업데이트에는 '이번 일 뒤의 순번(pts)'과 '이번 일이 차지한 칸 수(pts_count)'가 함께 옵니다. 내가 저장한 순번에 칸 수를 더한 값과 비교합니다.

내 순번 + 칸 수 와 받은 순번뜻할 일
같다정상적용하고 내 순번을 받은 값으로
내 쪽이 크다이미 받은 일버린다
내 쪽이 작다빈칸 — 사이에 놓친 일이 있다아래 '메우기'

빈칸 메우기

  1. 순서가 잠깐 뒤바뀌었을 수 있으니 0.5초쯤 기다리며 빠진 업데이트가 오는지 봅니다(공식 문서 권장).
  2. 그래도 비어 있으면 차이를 받아 옵니다 — 공통 갈래는 updates.getDifference, 채널은 updates.getChannelDifference.
  3. 차이가 많으면 여러 번에 나눠 오니, 응답의 새 상태로 다시 불러 끝까지 받습니다.
  4. 서버가 updatesTooLong 을 보내면 '밀어 주기엔 너무 많다'는 뜻 — 바로 차이 받기로 넘어갑니다.

라이브러리를 쓰면

TDLib 은 이 모든 순번 관리와 빈칸 메우기를 대신 하고, 앱에는 정리된 결과만 줍니다(TDLib 이란). 직접 구현할 때만 위 규칙을 지키면 됩니다. 봇 API 의 update_id 는 이와 다른, 훨씬 단순한 번호입니다(봇 업데이트 받기).

자주 묻는 질문

텔레그램 API 에서 메시지가 빠져요.

업데이트 순번(pts)으로 빈칸을 찾아 updates.getDifference 로 메워야 합니다. 다시 연결할 때도 먼저 getDifference 를 부릅니다.

pts_count 는 무엇인가요?

이번 업데이트가 순번에서 차지한 칸 수입니다. 내 순번에 더해 받은 pts 와 비교합니다.

채널 업데이트는 따로 처리하나요?

네. 채널·슈퍼그룹은 각자 pts 가 있고 빈칸은 updates.getChannelDifference 로 메웁니다.

updatesTooLong 은 무엇인가요?

밀어 주기엔 쌓인 일이 너무 많다는 뜻입니다. 바로 getDifference 로 받아 옵니다.

참고한 공식 문서

요약

한눈에 정리

  1. 1순번

    pts · 채널 pts · qts · seq.

  2. 2빈칸

    내 순번+칸 수 < 받은 순번.

  3. 3메우기

    getDifference.

이 글 공유하기

같은 문제를 겪는 친구에게 보내 주세요.

텔레그램
더보기

휴대폰으로 열기휴대폰 카메라로 비추면 이 글이 열려요.

최종 수정 2026-10-06

함께 보면 좋은 글

전체 보기 ›