Helpers

Various helpers not related to the Telegram API itself

class telethon.helpers.TotalList(*args, **kwargs)

Bases: list

A list with an extra total property, which may not match its len since the total represents the total amount of items available somewhere else, not the items in this list.

Examples:

# Telethon returns these lists in some cases (for example,
# only when a chunk is returned, but the "total" count
# is available).
result = await client.get_messages(chat, limit=10)

print(result.total)  # large number
print(len(result))  # 10
print(result[0])  # latest message

for x in result:  # show the 10 messages
    print(x.text)
__repr__()

Return repr(self).

__str__()

Return str(self).

__weakref__

list of weak references to the object (if defined)

telethon.helpers.add_surrogate(text)
telethon.helpers.del_surrogate(text)
telethon.helpers.ensure_parent_dir_exists(file_path)

Ensures that the parent directory exists

telethon.helpers.generate_key_data_from_nonce(server_nonce, new_nonce)

Generates the key data corresponding to the given nonce

telethon.helpers.generate_random_long(signed=True)

Generates a random long integer (8 bytes), which is optionally signed

telethon.helpers.get_running_loop()
telethon.helpers.retry_range(retries, force_retry=True)

Generates an integer sequence starting from 1. If retries is not a zero or a positive integer value, the sequence will be infinite, otherwise it will end at retries + 1.

telethon.helpers.strip_text(text, entities)

Strips whitespace from the given surrogated text modifying the provided entities, also removing any empty (0-length) entities.

This assumes that the length of entities is greater or equal to 0, and that no entity is out of bounds.

telethon.helpers.within_surrogate(text, index, *, length=None)

True if index is within a surrogate (before and after it, not at!).