2017-09-08 27 views
5

Tôi có thể truy xuất thành công thư từ một kênh qua yêu cầu channels.getMessages, sau khi tôi biết số message IDs của mình. Tôi tìm thấy id kênh theo số contacts.search.API Telegram: Làm cách nào để nhận tin nhắn từ kênh công khai mà tôi không tham gia?

Hiện tại, ID thư là các số nguyên hậu quả, do đó, việc max_id sẽ giải quyết được vấn đề.

Tôi chắc chắn có thể, vì khách hàng chính thức thực hiện việc này (xem một kênh mà không cần tham gia). Tôi sẽ cố gắng tìm hiểu cách thức ứng dụng máy tính để bàn chính thức thực hiện việc này bằng cách đọc its sources, nhưng mọi trợ giúp sẽ được đánh giá cao.

Tôi cần điều này vì tôi đang viết một kênh điện tín công cộng đơn giản -> giao diện web/rss.

Vui lòng không nhầm lẫn giữa API điện tín với API bot điện tín. Bot API cho phép nhận tin nhắn 'push' trên tin nhắn mới, nhưng không 'đọc nhật ký lịch sử'.

Trả lời

1

Dưới đây là các bước bạn phải làm để nhận được tin nhắn từ một kênh bạn không gia nhập:

  1. Resolve tên người dùng vào ID và access_hash với contacts.resolveUsername
  2. Gọi messages.getHistory để có được mong muốn của bạn tin nhắn.

Dưới đây là một mô tả ngắn về messages.getHistory thông số:

:param peer:  The channel from whom to retrieve the message history 
    :param limit:  Number of messages to be retrieved 
    :param offset_date: Offset date (messages *previous* to this date will be retrieved) 
    :param offset_id: Offset message ID (only messages *previous* to the given ID will be retrieved) 
    :param max_id:  All the messages with a higher (newer) ID or equal to this will be excluded 
    :param min_id:  All the messages with a lower (older) ID or equal to this will be excluded 
    :param add_offset: Additional message offset (all of the specified offsets + this offset = older messages) 
0

Hóa ra messages.getHistory vẫn ổn, cung cấp cho bạn tin nhắn N + tổng số lần cuối.

Các vấn đề liên quan