Telethon: как проверить статус доставки сообщения? - PullRequest
0 голосов
/ 29 августа 2018

Я отправляю много сообщений пользователям. и мне нужно знать, какое из сообщений было замечено

Я использовал SearchRequest, но у него нет статуса сообщения.

result = client(SearchRequest(
    peer=ahmad,  # On which chat/conversation
    q='',  # What to search for
    filter=InputMessagesFilterEmpty(),  # Filter to use (maybe filter for media)
    min_date=None,  # Minimum date
    max_date=None,  # Maximum date
    offset_id=0,  # ID of the message to use as offset
    add_offset=0,  # Additional offset
    limit=20,  # How many results
    max_id=0,  # Maximum message ID
    min_id=0,  # Minimum message ID
    from_id=None,  # Who must have sent the message (peer)
    hash=0  # Special number to return nothing on no-change
))

if result:
    print(result.count)

    for message in result.messages:
        print(message)

    for chat in result.chats:
        print(chat)

    for user in result.users:
        print(user)

вывод:

Message(id=299213, to_id=PeerUser(user_id=74509408), date=datetime.datetime(2018, 8, 29, 7, 57, 9, tzinfo=datetime.timezone.utc), message='hello', out=True, mentioned=False, media_unread=False, silent=False, post=False, from_id=74509408, fwd_from=None, via_bot_id=None, reply_to_msg_id=None, media=None, reply_markup=None, entities=[], views=None, edit_date=None, post_author=None, grouped_id=None)

также, GetMessagesViewsRequest работает только для сообщения канала, а не для пользователя.

print(client(GetMessagesViewsRequest(
    peer=ahmad,
    id=[299049],
    increment=True
)))

выход:

[0]
...