pytgcalls
a library connecting the tgcalls Python binding with MTProto
What it is and what it does
pytgcalls is a Python SDK that wraps the tgcalls C++ library (Telegram's own WebRTC implementation) and combines it with MTProto to let you build bots that participate in Telegram voice chats. It supports both Pyrogram and Telethon as MTProto clients and provides high-level abstractions for joining group calls, recording audio, broadcasting streams, and managing voice state. Audio is handled in PCM 16-bit 48kHz format via raw bytes, files, or system devices.
The package is abandoned—its last release was 2021-08-22 and the repository received its final commit 2023-01-09. While it remains functional for existing use cases, it will not receive updates for new Telegram protocol changes, security vulnerabilities, or compatibility with modern Python versions. Developers should evaluate whether the lack of maintenance is acceptable for their production needs.
Use it for:
- Build a bot that joins a Telegram group voice chat and plays back a prerecorded audio file or live stream.
- Create a voice chat recorder that captures incoming audio from a Telegram group call and saves it to a file.
- Implement a radio or music broadcast bot that streams audio to multiple Telegram voice chats simultaneously.
- Develop a private call handler bot that can receive and respond to incoming Telegram calls programmatically.
- Set up a voice activity detection system to monitor when users are speaking in a Telegram group call.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Enables Python bots to join Telegram voice chats, make and receive private calls, and broadcast audio using WebRTC via the tgcalls C++ binding and MTProto protocol.
No. While the package works for its stated purpose and has low install friction, it is abandoned (last release 2021-08-22, last commit 2023-01-09). Without active maintenance, it will not receive security patches, protocol updates, or compatibility fixes for modern Python versions. For new projects, seek an actively maintained alternative or verify that the stale codebase meets your specific, unchanging requirements.
Install
pytgcalls on PyPI
pip
pip install pytgcallsuv
uv add pytgcallspoetry
poetry add pytgcallsInstalling pytgcalls
Before you install
Low install friction with prebuilt wheels for macOS, Linux, and Windows. However, the package is abandoned—last release was 2021-08-22 and last commit 2023-01-09. No active maintenance means security patches and compatibility updates are unlikely.
License in practice
Licensed under LGPLv3 (copyleft). Any derivative work or modification must be released under the same license; linking or bundling requires source disclosure.
Quickstart
pip install pytgcalls
from pytgcalls import GroupCallFactory
group_call = GroupCallFactory(app).get_file_group_call('input.raw')
await group_call.start(chat_id)
Requires a Telegram API key, a valid MTProto client (Pyrogram or Telethon), and audio in PCM 16-bit 48kHz raw format (convert via ffmpeg).
Verify before relying
- Whether the C++ tgcalls binding remains compatible with current Telegram protocol changes since the last 2023 commit.
- Current stability and whether incoming/outgoing private calls (marked TODO in description) were ever released.
- Whether prebuilt wheels still work on modern Python versions (3.10+) despite classifiers only listing up to 3.9.
Package facts
| License | LGPLv3 (copyleft) |
| Python support | supports the current Python release (~=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — tgcalls |
| Maintenance | abandoned — 1,818 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,392,623/month — #3,961 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pytgcalls-2.1.0-py3-none-any.whl
Keywords: python, library, telegram, async, asynchronous, webrtc, lib, voice-chat, voip, group-chat, video-call, calls, pyrogram, telethon, pytgcalls, tgcalls
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
ntgcallsNTgCalls provides Python bindings to a C++…
unclear · top 15,000 on PyPI
TelethonTelethon is an asyncio-based Python library…
permissive · top 5,000 on PyPI
PyrogramPyrogram is an asynchronous Python framework…
copyleft · top 15,000 on PyPI
daily-pythonA Python SDK for building video and audio…
permissive · top 15,000 on PyPI
pyroforkPyrofork is an asynchronous Python framework…
copyleft · top 15,000 on PyPI
TgCryptoTgCrypto provides fast C-based implementations…
copyleft · top 15,000 on PyPI
webrtcvadProvides a Python interface to Google's WebRTC…
permissive · top 15,000 on PyPI
pyTelegramBotAPIA Python library that wraps the Telegram Bot…
copyleft · top 5,000 on PyPI
webrtcvad-wheelsDetects voiced versus unvoiced segments in…
permissive · top 15,000 on PyPI
cryptgcryptg provides a native Python extension that…
permissive · top 15,000 on PyPI