pytgvoip-pyrogram 0.0.11

Creator: bradpython12

Last updated:

Add to Cart

Description:

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+)

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.