Utility functions

tgvoip.utils.i2b(value: int) → bytes[source]

Convert integer value to bytes

Parameters:value (int) – Value to convert
Returns:Resulting bytes object
tgvoip.utils.b2i(value: bytes) → int[source]

Convert bytes value to integer

Parameters:value (bytes) – Value to convert
Returns:Resulting int object
tgvoip.utils.check_dhc(g: int, p: int) → None[source]

Security checks for Diffie-Hellman prime and generator. Ported from Java implementation for Android

Parameters:
  • g (int) – DH generator
  • p (int) – DH prime
Raises:

ValueError if checks are not passed

tgvoip.utils.check_g(g_x: int, p: int) → None[source]

Check g_ numbers

Parameters:
  • g_x – g_ number to check
  • p – DH prime
Raises:

ValueError if checks are not passed

tgvoip.utils.calc_fingerprint(key: bytes) → int[source]

Calculate key fingerprint

Parameters:key (bytes) – Key to generate fingerprint for
Returns:int object representing a key fingerprint
tgvoip.utils.generate_visualization(key: Union[bytes, int], part2: Union[bytes, int]) -> (typing.List[str], typing.List[str])[source]

Generate emoji visualization of key

https://core.telegram.org/api/end-to-end/voice-calls#key-verification

Parameters:
  • key (bytes | int) – Call auth key
  • part2 (bytes | int) – g_a value of the caller
Returns:

A tuple containing two lists (of emoji strings and of their text representations)

tgvoip.utils.get_real_elapsed_time() → float[source]

Get current performance counter value

Returns:Time to use for measuring call duration