2016-01-02 31 views
10

Trong Python-telegram-bot cách nhận, nếu có thể, danh sách đầy đủ của tất cả người tham gia của nhóm mà bot được thêm vào?Trong python-telegram-bot làm thế nào để có được tất cả những người tham gia của nhóm?

+1

Tôi cố gắng để tìm kiếm trong các tài liệu và các ví dụ cho một phương pháp để lấy danh sách người tham gia. Tôi muốn thực hiện một [trò chơi Mafia như thế] (https://en.wikipedia.org/wiki/Mafia_ (party_game)? Oldformat = true). Để thiết lập các vai trò, tôi phải có danh sách đầu tiên. – Thomas8

Trả lời

11

Bạn không thể với API hiện tại nhưng bạn có thể tham gia/thoát khỏi thành viên của người dùng thông qua API của nó.

Nếu bạn kiểm tra các đối tượng Message bạn tìm thấy:

  • new_chat_participant: Một thành viên mới được bổ sung vào nhóm, thông tin về họ (thành viên này có thể là bot chính nó)
  • left_chat_participant : Một thành viên đã bị xóa khỏi nhóm, thông tin về họ (thành viên này có thể là chính bot)

Vì vậy, wi thứ hai thông tin này bạn có thể theo dõi tổng số người dùng trong cuộc trò chuyện của bạn và họ là ai.

Chiến lược cơ bản sẽ là lưu trữ ở đâu đó (như cơ sở dữ liệu) các lần xuất hiện và kết nối của người dùng khỏi nhóm.

Khi người dùng tham gia trò chuyện lưu trữ đối tượng Người dùng vào bộ nhớ. Khi người dùng thoát khỏi cuộc trò chuyện, xóa đối tượng Người dùng khỏi bộ nhớ.

Sau đó, thực hiện logic khi bạn cần.

11

Ngoài ra, bản cập nhật mới nhất API cho phép bạn:

  • telegram.getChatMembersCount (chat_id): Sử dụng phương pháp này để có được số lượng thành viên trong một cuộc trò chuyện.

  • telegram.getChatMember (chat_id, user_id): Sử dụng phương pháp này để nhận thông tin về thành viên trò chuyện.

Bạn có thể kết hợp với new_chat_participantleft_chat_participant chiến lược, xây dựng thông tin về một nhóm.

biết thêm thông tin ở đây:

+0

Các liên kết được đăng không thành công với 404. –

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