Last updated:
0 purchases
pytgvoippyrogram 0.0.11
pytgvoip_pyrogram
Sample usage of PytgVoIP library with Pyrogram
Hopefully pytgvoip support will be integrated in Pyrogram itself, but this repository would still be available as reference even after merge.
Detailed pytgvoip usage guide is also available here
Community
# making outgoing calls
from pyrogram import Client
from tgvoip_pyrogram import VoIPFileStreamService
app = Client('account')
app.start()
service = VoIPFileStreamService(app, receive_calls=False)
call = service.start_call('@bakatrouble')
call.play('input.raw')
call.play_on_hold(['input.raw'])
call.set_output_file('output.raw')
@call.on_call_ended
def call_ended(call):
app.stop()
# accepting incoming calls
from pyrogram import Client
from tgvoip_pyrogram import VoIPFileStreamService, VoIPIncomingFileStreamCall
app = Client('account')
app.start()
service = VoIPFileStreamService(app)
@service.on_incoming_call
def handle_call(call: VoIPIncomingFileStreamCall):
call.accept()
call.play('input.raw')
call.play_on_hold(['input.raw'])
call.set_output_file('output.raw')
# you can use `call.on_call_ended(lambda _: app.stop())` here instead
@call.on_call_ended
def call_ended(call):
app.stop()
More examples
Requirements
Python 3.5 or higher
PytgVoIP (listed as dependency)
Pyrogram (listed as dependency)
Installing
pip3 install pytgvoip-pyrogram
Encoding audio streams
Streams consumed by libtgvoip should be encoded in 16-bit signed PCM audio.
$ ffmpeg -i input.mp3 -f s16le -ac 1 -ar 48000 -acodec pcm_s16le input.raw # encode
$ ffmpeg -f s16le -ac 1 -ar 48000 -acodec pcm_s16le -i output.raw output.mp3 # decode
Copyright & License
Copyright (C) 2019 bakatrouble
Licensed under the terms of the GNU Lesser General Public License v3 or later (LGPLv3+)
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.