Telegram Voice Chat UserBot

A Telegram UserBot to Play Audio in Voice Chats.

This is also the source code of the userbot which is being used for playing
DJ/Live Sets music in VC DJ/Live Sets group.

Made with tgcalls
and Pyrogram Smart Plugin

It's recommended to use tgmusicbot
along with this userbot.

Deploy to Heroku

Deploy

Change the value of PLUGIN variable if you want to try other voice chat
plugins.

It's known that there are usually audio lagging issues on Heroku deployment of
this project because Heroku provide very limited resources, in this case you
can try some other platforms such like Qovery or self-hosting it.

Introduction

Features

  • Playlist, queue
  • Loop one track when there is only one track in the playlist
  • Automatically downloads audio for the first two tracks in the playlist to
    ensure smooth playing
  • Automatically pin the current playing track
  • Show current playing position of the audio

Plugin: vc.player

Commands only works in groups, userbot account itself and contacts can use any
commands, all members can use common commands after the userbot join the VC

  1. Start the userbot, try !ping, !uptime or !sysinfo command to check if
    the bot was running
  2. send !join to a voice chat enabled group chat from userbot account itself
    or its contacts, be sure to make the userbot account as group admin and give
    it at least the following permissions:
    • Delete messages
    • Manage voice chats (optional)
  3. reply to an audio with /play to start playing it in the voice chat, every
    member of the group can use common commands such like /play, /current
    and !help now.
  4. check !help for more commands

Plugin: vc.channel

Almost same as player plugin but commands only works in Saved Messages,
!join takes arguments to be able to join group or channel voice chats.

Plugin: ping and sysinfo

Commands only works for userbot account itself and its contacts.

Requirements

  • Python 3.6 or higher
  • A
    Telegram API key
    and a Telegram account
  • Choose plugins you need, install dependencies which listed above and run
    pip install -U -r requirements.txt to install Python package dependencies
    as well
  • FFmpeg

Run

Choose one of the two methods and run the userbot with
python userbot.py, stop with CTRL+c. The following example assume
that you were going to use vc.player and ping plugin, replace
api_id, api_hash to your own value.

Method 1: use config.ini

Create a config.ini file

[pyrogram]
api_id = 1234567
api_hash = 0123456789abcdef0123456789abcdef

[plugins]
root = plugins
include =
    vc.player
    ping
    sysinfo

Method 2: write your own userbot.py

Replace the file content of userbot.py

from pyrogram import Client, idle

api_id = 1234567
api_hash = "0123456789abcdef0123456789abcdef"

plugins = dict(
    root="plugins",
    include=[
        "vc.player",
        "ping",
        "sysinfo"
    ]
)

app = Client("tgvc", api_id, api_hash, plugins=plugins)
app.start()
print('>>> USERBOT STARTED')
idle()
app.stop()
print('\n>>> USERBOT STOPPED')

GitHub

https://github.com/callsmusic/tgvc-userbot