Ilya

Telegram WebRTC (VoIP) - Voice chats, private incoming and outgoing calls for py devs

by
This project consists of two main parts: tgcalls, pytgcalls. The first is a C++ Python extension. The second uses the extension along with Pyrogram. All together, it allows you to create userbots that can record and broadcast in voice chats, make private calls

Add a comment

Replies

Best
Ilya
Maker
tgcalls The first part of the project is C++ extensions for Python. Pybind11 was used to write it. Binding occurs to the tgcalls library by Telegram, which is used in all clients. To implement the library, the code of official clients (tdesktop and android) was studied. Changes have been made to the Telegram library. All modified code is available as a subtree in this repository. The main idea of the changes is to add the ability to play from other sources (from a file, for example) and improve the sound quality by making the minimum number of code edits for a simple update. In addition to changes in the Telegram library, a minimal change was made to the WebRTC, also available as a subtree.
Ilya
Maker
pytgcalls This project is for the most part an example for using tgcalls Python binding together with MTProto. A Pyrogram was chosen as a library for working with MTProto. You can easily write your own implementation to work with Telethon.
Ilya
Maker
Features - Python solution. - Work with voice chats. - Multiply chats. - Payout from file. - Output (recording) to file. - Change files at runtime. - Stop payout/output. - Speaking status with levels inside and outside of VC. - Mute, unmute, volume control, handlers and more... Requirements - Python 3.6 or higher. - A Telegram API key. - x86_64 platform and Unix system (WSL for Windows). TODO list - Incoming and Outgoing calls (already there and working, but not in release). - Video calls (video from/to a file etc). - Additional things for working with ffmpeg. - Windows and macOS Python wheels and more...