PyTgCalls
230 subscribers
40 photos
1 video
51 links
Download Telegram
๐ŸŽ„Merry Christmas
Please open Telegram to view this post
VIEW IN TELEGRAM
๐Ÿ’ฉ32โค4๐Ÿ‘3๐Ÿคฎ3
โœจ New Features in Py-TgCalls Beta Release
In the latest beta version of py-tgcalls, several new features have been introduced to improve the flexibility and functionality of the library. One notable addition is the send_frame method, which allows for sending audio frames manually, providing greater control over how data is transmitted during calls.

Additionally, the example scripts have been updated to showcase some of the new capabilities. This includes the ability to transcribe voice chats into text using Whisper, the AI-driven transcription tool, as well as the option to create a bridge between two calls. Another example demonstrates how to manipulate audio streams and send them manually using the send_frame function.

For more information and to check out the updated examples, you can follow the links below:
โ€ข Transcribe Voice Chat Example
โ€ข Create Call Bridge Example
โ€ข Manipulate and Send Audio Example

These updates provide developers with enhanced tools for managing and manipulating audio during Telegram calls, offering more customization and control.
Please open Telegram to view this post
VIEW IN TELEGRAM
โค3
๐ŸŽ‚ A Note for 2025 and Beyond
Reflecting on our journey, Iโ€™d like to share some thoughts regarding the evolution of pyโ€‘tgcalls, a project I launched in 2021 with @twitface during the height of the COVID pandemic, and one that continues to make me proud.

Over time, it has become increasingly evident that Telegram is shifting its focus. Once a platform that upheld commendable values, it now seems primarily driven by profit maximization. While I understand that revenue is essential for any business to thrive, it is disheartening to see resources reinvested solely to boost profits rather than to enhance the user experience or address long-standing issues that have been raised over the years.

This approach not only diminishes the platformโ€™s commitment to its community, but it also manifests in other areas, such as the noticeable decline in the quality of group calls. Although pyโ€‘tgcalls is nearing the release of a major stable update, our testing phase has already revealed some of these issues. Itโ€™s no wonder that many developers are beginning to step away from a platform that forces them to contend with not only building their projects but also grappling with systemic challenges intrinsic to Telegram.

I invite you to share your thoughts on this matter, I look forward to a constructive discussion.
Please open Telegram to view this post
VIEW IN TELEGRAM
โค5๐Ÿ‘2๐Ÿคฌ2๐Ÿ’ฏ2๐Ÿ‘Ž1
โœจ Enhanced Group Calls, Recording, and More!

๐ŸŽ‰ What's New?
โ€ข Group Calls V2 & Screen Streaming โ€“ Now you can stream both video and screen simultaneously! Learn more: pytgcalls.types.raw.Stream
โ€ข Stream Recording Support โ€“ Record your streams with ease! Check out record()
โ€ข Performance & Stability Boost โ€“ Upgraded to the latest WebRTC (m132) for better efficiency
โ€ข Java for Android Support โ€“ Now PyTgCalls works with Java! More details: NTgCalls Library & Telegram-X
โ€ข Massive CPU Optimization โ€“ CPU usage reduced by up to 60%, system calls by 90%!
โ€ข Enhanced Debugging โ€“ C Binding error messages are now more detailed
โ€ข Native Media Device Support โ€“ Stream your mic, camera, or screen natively! See: MediaDevices
โ€ข OpenH264 Support โ€“ Lower CPU usage and better performance

โ€ผ๏ธ Breaking Changes
Certain methods have moved or renamed. Details here.

๐ŸŽ‰ Try NTgCalls on Android with Telegram X
To experience NTgCalls on Android, check out the Telegram X-based repo. The latest APK is also available for testing from TgX Alpha Channel.

๐Ÿ—‚ NTgCalls Repo
github.com/pytgcalls/ntgcalls

๐Ÿ—‚ PyTgCalls Repo
github.com/pytgcalls/pytgcalls

๐Ÿ“ New Docs
git.io/pytgcallsdocs

โญ๏ธ About Py-TgCalls and NTgCalls update
@PyTgCallsNews

๐Ÿ”ฅ Changelogs
pytgcalls.github.io/changelogs

๐Ÿ“š Support Group
@PyTgCallsChat

โŒจ๏ธ Installation Via PyPI
pypi.org/project/py-tgcalls/
Please open Telegram to view this post
VIEW IN TELEGRAM
โค7๐Ÿ”ฅ3๐Ÿ‘1
๐Ÿ› Hi everyone,
I've been working on a small patch update, the final major release for this quarter. Most of the features on our roadmap are already in place, and now I'm focusing on fixing the โ€œUnmuteNeededโ€ error. Unfortunately, I haven't been able to replicate the issue since I don't have access to group calls with more than 20 participants. If any of you are part of channels or group chats that host larger calls, please let me know. Your help in testing this would be immensely appreciated!

Thank you!
Please open Telegram to view this post
VIEW IN TELEGRAM
๐Ÿ‘5โค1
Live stream started
๐Ÿ’ƒ A huge thank you for yesterday!
Thanks to your help, I was finally able to identify the main reason why PyTgCalls doesnโ€™t work on channel calls with more than 20 members. Itโ€™s not exactly a bug, but rather a missing feature, as Iโ€™ve mentioned a few times before, and now I can confirm it for sure.

Telegram actually uses two different types of connections for channel group calls. The first one is WebRTC-based, and it works just fine until the group call reaches 20+ participants. After that point, Telegram switches to a completely different system called StreamConnection, which relies on MTProto methods like getFile and InputGroupCallStream.

This means the call switches from a real-time stream to something that behaves more like downloading chunks of audio, video, or screen-sharing data via getFile. Itโ€™s a totally different connection model, and now that I understand how it works, I can finally start working on supporting it properly.

That said, this will take some time to implement, itโ€™s a pretty significant change under the hood. But now that I have a clear direction, Iโ€™ll keep you all updated on the progress.

Thanks again for making this discovery possible!
Please open Telegram to view this post
VIEW IN TELEGRAM
๐Ÿ”ฅ12๐Ÿ‘5โค4
๐Ÿ‘‹ Heya everyone!
Just a quick heads-up, Iโ€™ve released the final update for now. If everything goes smoothly, this version will be promoted to โ€œRelease Candidateโ€, and once thatโ€™s confirmed, itโ€™ll move on to become the new stable release.

๐Ÿ—บ And now?
Now, I have a little bittersweet news to share. This is going to be the last major update of the year. The reason is simple: the project is already quite feature-complete. Iโ€™ve implemented pretty much everything I had in mind. The only major feature thatโ€™s still missing is โ€œEncrypted Group Calls,โ€ but since itโ€™s not an urgent priority, Iโ€™ll likely postpone it for later.

Also, Iโ€™ve fixed pretty much all the known bugs, thanks to the community for all the reports and feedback, it helped a lot! ๐Ÿง™

Thanks a lot to everyone whoโ€™s followed the progress so far, your support means a lot!
Please open Telegram to view this post
VIEW IN TELEGRAM
10โค9๐Ÿ‘3โšก1๐Ÿ”ฅ1
โœจ Support for Large Group Calls, RTMP Streams, and More!

๐ŸŽ‰ What's New?
โ€ข Support for Large Group Calls โ€“ PyTgCalls now supports group calls with 20 or more participants in channels, allowing the deprecation of the UnMuteNeeded exception.
โ€ข RTMP Streams Integration โ€“ You can now connect to RTMP streams and record them using the record() method. This enables streaming external RTMP content directly into your group calls.
โ€ข Group Call Discarding Option โ€“ The close parameter has been added to the leave_call() method, allowing you to fully terminate a group call when it's no longer needed.
โ€ข Enhanced Participant Caching โ€“ The get_participants() method now supports proper caching for clients using the no_update parameter, ensuring accurate participant lists without triggering unnecessary updates.
โ€ข New ChatUpdate Event โ€“ The ChatUpdate event has been introduced to track changes such as busy call status. You can now use the filters.chat_update(ChatUpdate.Status.BUSY_CALL) filter to monitor these updates.
โ€ข New Group Call Participant Event โ€“ The UpdatedGroupCallParticipant event enables handling of actions like participants joining from another device or being kicked. Use filters.call_participant(GroupCallParticipant.Action.KICKED) to listen for such events.
โ€ข Improved Audio/Video Encoding Performance โ€“ Audio and video encoding performance has been significantly improved thanks to an optimized FFmpeg build. The latest version takes advantage of advanced CPU instruction sets like AVX2, resulting in faster processing and lower latency.
โ€ข Bug Fixes โ€“ Addressed various bugs for a more stable experience.

โ€ผ๏ธ Breaking Changes
Certain methods have moved or renamed. Details here.

๐Ÿ† #PyTgCon2K24 Winner Announced!
The repository AshokShau/TgMusicBot won the #PyTgCon2K24 contest! It is now officially featured in the Quickstart section of the NTgCalls documentation.

๐Ÿ—‚ NTgCalls Repo
github.com/pytgcalls/ntgcalls

๐Ÿ—‚ PyTgCalls Repo
github.com/pytgcalls/pytgcalls

๐Ÿ“ Documentation
git.io/pytgcallsdocs

โญ๏ธ About Py-TgCalls and NTgCalls update
@PyTgCallsNews

๐Ÿ”ฅ Changelogs
pytgcalls.github.io/changelogs

๐Ÿ“š Support Group
@PyTgCallsChat

โŒจ๏ธ Installation Via PyPI
pypi.org/project/py-tgcalls/
Please open Telegram to view this post
VIEW IN TELEGRAM
โค3๐Ÿ”ฅ3โšก2๐Ÿฅฐ1๐Ÿ—ฟ1
On Respect, Identity, and the Purpose of This Project...
Over the past few days, Iโ€™ve been the target of personal attacks from some users within the py-tgcalls community. These attacks have nothing to do with the code, the quality of the project, or any technical matter they are based on who I am: my identity, my orientation, and how I choose to express myself.

I want to take a moment to address something bigger than just this incident. Too often, especially online, people are judged and attacked not for what they do, but for what they represent, their skin color, their gender, their sexuality, their way of speaking or being.

Sadly, this kind of behavior happens even within communities that claim to stand for inclusion and support. Even among those who know, or should know, how painful discrimination feels.

Itโ€™s disheartening to say this, but sometimes the harshest judgment comes from people who should understand best what itโ€™s like to be judged. Toxicity doesnโ€™t discriminate, and no community is automatically immune to reproducing the same patterns it claims to fight.

Iโ€™ve never expected everyone to agree with me, not as a person, not as a developer. But Iโ€™ve always asked for one simple thing: respect. That goes for everyone: contributors, critics, users, and observers.

py-tgcalls was built as a technical, open-source project, made to be shared, improved, and shaped by anyone willing to contribute constructively. Thatโ€™s the spirit I intend to keep. Constructive feedback, even tough criticism, is welcome. Personal attacks, veiled insults, or attempts to discredit someone for who they are are not.
I donโ€™t plan to continue engaging in this kind of drama. This will be my only public statement on the matter.
If you're here to collaborate, you're always welcome. If you're here to pick fights, find someone to blame, or turn this into a battleground this isn't the place.

Thank you to those who continue to support and improve this project with honesty, respect, and humanity.
โค13๐Ÿ‘2๐Ÿ˜ญ2๐Ÿฅฐ1๐Ÿ‘Œ1
Which MTProto Client do you use often?

And which client would you like to be added? (Answer in the group)
Anonymous Poll
31%
Pyrogram
33%
Telethon
4%
Hydrogram
49%
Pyrogram Forks
6%
Anything else (Specify in the group)
Forwarded from Lauren's Blog
๐Ÿš€ New Open-Source Telegram Bot for iOS Beta Access
Hey everyone, over the past month Iโ€™ve been working โ€œsecretlyโ€ on a small side project.
The idea came from a personal need, I always wanted a simple tool to manage all the links for iOS beta apps (via TestFlight) without having to refresh them constantly.

So I built it: a Telegram bot with a mini app interface that lets you:
โ€ข ๐Ÿ“Œ Save and organize all your beta links in one place
โ€ข ๐Ÿ”” Get instant notifications when new slots open
โ€ข ๐Ÿ—‚ Keep everything clean and easy to manage

Itโ€™s been incredibly helpful for me, and I thought others here might find it useful too. The project is also open source, so feel free to check it out or contribute!

Iโ€™d love to hear your feedback and ideas to improve it!
โค3
๐Ÿ‘‹ Hello everyone,
I want to give you a quick update regarding the upcoming Py-TgCalls release. The new version will likely be delayed due to some personal and technical challenges, and I sincerely apologize for this.

The main technical issue concerns handling the playback of the same stream twice. Currently, the logic allows adding an audio stream while a video stream is running (or vice versa) without restarting the ongoing stream. However, this design creates problems if the same stream is played again or if a restart from the beginning is explicitly required, either the stream doesnโ€™t restart, or the elapsed time continues. Resolving this requires significant architectural adjustments.

๐Ÿ—บ And now?
On a positive note, macOS builds are now working, thanks to moving from AppleClang 17 to Google Clang 21, although LTO support had to be removed to achieve this.

Iโ€™m taking the time needed to properly address these issues, and Iโ€™ll keep you updated with any developments and future improvements. ๐ŸŒ€

Thank you for your patience and continued support, it truly means a lot to me!
Please open Telegram to view this post
VIEW IN TELEGRAM
โค5โคโ€๐Ÿ”ฅ1๐Ÿ”ฅ1๐Ÿฅฐ1
At least theyโ€™re actively working on it, the issue has been moved from โ€œWebRTCโ€ to โ€œWebRTC > Buildโ€

Iโ€™m still waiting for a response from the Google team before I can release the new update
โค3
โœจ Enhanced Android Stability, Performance, and More!

๐ŸŽ‰ What's New?
โ€ข Stream Change Control โ€“ Added keep_open parameter to AudioDescription and VideoDescription, allowing you to force stream changes or let the StreamManager automatically detect them.
โ€ข JSON Performance Boost โ€“ Replaced nlohmann JSON with Boost.JSON for improved parsing and serialization performance.
โ€ข Android Builds Now Stable โ€“ Addressed the experimental-relative-c++-abi-vtables issue on x86_64, making Android builds fully stable and production-ready.
โ€ข Android Audio Improvements โ€“ Now using Oboe for audio handling on Android, providing lower latency and better performance.
โ€ข Linux Performance Upgrades โ€“ Updated to the latest versions of libX11, FFmpeg, mesa, glib, boost and libwebrtc for improved stability and performance.
โ€ข Bug Fixes โ€“ Addressed various bugs for a more stable experience.

๐ŸŽ‰ Try NTgCalls on Android with Telegram X
To experience NTgCalls on Android, check out the Telegram X-based repo. The latest APK is also available for testing from TgX Alpha Channel.

๐Ÿ—‚ NTgCalls Repo
github.com/pytgcalls/ntgcalls

๐Ÿ—‚ PyTgCalls Repo
github.com/pytgcalls/pytgcalls

๐Ÿ“ Documentation
git.io/pytgcallsdocs

โญ๏ธ About Py-TgCalls and NTgCalls update
@PyTgCallsNews

๐Ÿ”ฅ Changelogs
pytgcalls.github.io/changelogs

๐Ÿ“š Support Group
@PyTgCallsChat

โŒจ๏ธ Installation Via PyPI
pypi.org/project/py-tgcalls/
Please open Telegram to view this post
VIEW IN TELEGRAM
โค3๐Ÿ”ฅ1๐Ÿ†’1
โœจ Free-Threading, Performances, Improved Stability and More!

๐ŸŽ‰ What's New?
โ€ข Performance & Stability Boost โ€“ Upgraded WebRTC to the latest version (m149) and updated to the latest versions of FFmpeg, boost, libX11, mesa, glib and pybind11 for improved stability and performance.
โ€ข CPython Free-Threading โ€“ Added support for CPython free-threaded builds, enabling GIL-free module execution for improved parallelism.
โ€ข Android Tooling โ€“ Upgraded Gradle and Android Gradle Plugin to the latest versions.
โ€ข Bug Fixes โ€“ Addressed various bugs for a more stable experience.

โ€ผ๏ธ Breaking Changes
Dropped support for manylinux2014, which also means the following systems are no longer supported:

โ€ข CentOS 7
โ€ข RHEL 7
โ€ข Ubuntu 18.04
โ€ข Debian 10


This change is required to keep up with newer toolchains, libc versions and CI infrastructure.

๐ŸŽ‰ Try NTgCalls on Android with Telegram X
To experience NTgCalls on Android, check out the Telegram X-based repo. The latest APK is also available for testing from TgX Alpha Channel


๐ŸŒˆ Happy Pride Month
Wishing you all a good month, wherever you are and whoever you are. Stay safe, stay you


๐Ÿ—‚ NTgCalls Repo
github.com/pytgcalls/ntgcalls

๐Ÿ—‚ PyTgCalls Repo
github.com/pytgcalls/pytgcalls

๐Ÿ“ Documentation
git.io/pytgcallsdocs

โญ๏ธ About Py-TgCalls and NTgCalls update
@PyTgCallsNews

๐Ÿ”ฅ Changelogs
pytgcalls.github.io/changelogs

๐Ÿ“š Support Group
@PyTgCallsChat

โŒจ๏ธ Installation Via PyPI
pypi.org/project/py-tgcalls/
Please open Telegram to view this post
VIEW IN TELEGRAM
๐Ÿ”ฅ4
๐Ÿ“ฑ Seems almost comical
I've been working for quite some time on a major NTgCalls and Py-TgCalls update that introduces a huge number of features, including support for Protocols V12 and V13, Conference Calls, macOS Media Devices and Desktop Streaming, Emoji Fingerprints for both P2P and Conference Calls, and many other improvements

And of course, Telegram decided to add Protocol V14 right in the middle of it all, as if a new protocol shows up every second. The funny part is that TDesktop doesn't even support it yet, so there's no real rush

I'm still working on it, but I think I'll ship Protocol V14 in the next major update, there's a lot to get through
Please open Telegram to view this post
VIEW IN TELEGRAM
๐Ÿ™2๐Ÿ•Š1
๐Ÿ‡ฎ๐Ÿ‡ณ Happy Independence Day, everyone!
As an Italian woman, I cannot claim to know everything about India's history, but I know enough to understand the significance of the struggles India faced, including especially the repression under British rule....

Today is an important day for our Indian users and community members, so Iโ€™d like to wish everyone celebrating a very happy Independence Day ๐Ÿ‡ฎ๐Ÿ‡ณ

Have a wonderful day! ^^


Lauren
Co-Founder, PyTgCalls Foundation
Please open Telegram to view this post
VIEW IN TELEGRAM
20โค16
๐Ÿ“บ A little TV channel, built on py-tgcalls
I've spent the last few days on a small side project, and it's now running around the clock at @pyrotoscope. PyRotoscope keeps a schedule of animation, streams it into a Telegram voice chat, and tells you what's on.

Everything it plays is animation made by people rather than studios. Indie shorts, web series, student thesis films. The channel posts a card for each episode as it goes on air, and a pinned guide always shows what's playing and what comes next.

Under the hood it's py-tgcalls doing the streaming, yt-dlp fetching the sources, and a bot running the schedule. It's all open, so if you want a channel of your own, take it and run it.

Repo:
https://github.com/pytgcalls/pyrotoscope

Come sit in the voice chat for a while. And if you make animation yourself, send it my way, I'd love to put it on air

Lauren
Co-Founder, PyTgCalls Foundation
Please open Telegram to view this post
VIEW IN TELEGRAM
โค4๐Ÿ”ฅ2