Skip to content

Commit d53e83e

Browse files
committed
Music Userbot
0 parents  commit d53e83e

34 files changed

+2483
-0
lines changed

.github/CODEOWNER

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
* @Dr_Asad_Ali
2+
* @AsmSafone

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.env
2+
.vscode
3+
__pycache__
4+
*/__pycache__
5+
*.session*
6+
*.session-journal
7+
unknown_errors.txt

CONTRIBUTING.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Translations
2+
3+
- Fork the repository.
4+
- Open the `lang` directory.
5+
6+
## Adding a new language
7+
8+
- Google your language code and create `your_iso_language_code.json`.
9+
- Copy translations of another language (one which you are comfortable translating from).
10+
- Translate all of the strings to that language.
11+
- Commit with a message like "Add [language name] translations".
12+
13+
## Modifying an existing language
14+
15+
- Open the translation file you want to modify.
16+
- Make your changes and add your name to "authors".
17+
- Commit with a message like "Modify [language name] translations".
18+
19+
# Other contributions
20+
21+
If you're fixing a bug or adding a new feature, please:
22+
- Use verbs in their present forms in your commit messages.
23+
- Avoid using emojis and other non-usual characters in your commit messages.

Dockerfile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
FROM nikolaik/python-nodejs:python3.10-nodejs17
2+
RUN apt update && apt upgrade -y
3+
RUN apt install git curl python3-pip ffmpeg -y
4+
RUN mkdir /rocks/
5+
WORKDIR /rocks/
6+
COPY . /rocks/
7+
RUN pip3 install --upgrade pip
8+
RUN pip3 install -U -r requirements.txt
9+
CMD bash asad.sh

LICENSE

Lines changed: 619 additions & 0 deletions
Large diffs are not rendered by default.

Procfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
worker: bash asad.sh

README.md

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
<h1 align= center><b>⭐️ Rocks VC Userbot ⭐️</b></h1>
2+
<h3 align = center> Telegram Userbot To Play Audio And Video Song On VC Chat </h3>
3+
4+
<p align="center">
5+
<a href="https://python.org"><img src="http://forthebadge.com/images/badges/made-with-python.svg" alt="made-with-python"></a>
6+
<br>
7+
<img src="https://img.shields.io/github/license/TheTeamAlexa/Music-Userbot?style=for-the-badge" alt="LICENSE">
8+
<img src="https://img.shields.io/github/contributors/TheTeamAlexa/Music-Userbot?style=for-the-badge" alt="Contributors">
9+
<img src="https://img.shields.io/github/repo-size/TheTeamAlexa/Music-Userbot?style=for-the-badge" alt="Repository Size"> <br>
10+
<img src="https://img.shields.io/github/forks/TheTeamAlexa/Music-Userbot?style=for-the-badge" alt="Forks">
11+
<img src="https://img.shields.io/github/stars/TheTeamAlexa/Music-Userbot?style=for-the-badge" alt="Stars">
12+
<img src="https://img.shields.io/github/watchers/TheTeamAlexa/Music-Userbot?style=for-the-badge" alt="Watchers">
13+
<img src="https://img.shields.io/github/commit-activity/w/TheTeamAlexa/Music-Userbot?style=for-the-badge" alt="Commit Activity">
14+
<img src="https://img.shields.io/github/issues/TheTeamAlexa/Music-Userbot?style=for-the-badge" alt="Issues">
15+
</p>
16+
17+
## ✨ <a name="features"></a>Features
18+
19+
### ⚡️ Fast & Light
20+
21+
Starts streaming your inputs while downloading and converting them. Also, it
22+
doesn't make produce files.
23+
24+
### 👮🏻‍♀️ Safe and handy
25+
26+
Restricts control and sensitive commands to admins.
27+
28+
### 🗑 Clean and spam free
29+
30+
Deletes old playing trash to keep your chats clean.
31+
32+
### 😎 Has cool controls
33+
34+
Lets you switch stream mode, loop, pause, resume, mute, unmute anytime.
35+
36+
### 🖼 Has cool thumbnails
37+
38+
Response your commands with cool thumbnails on the chat.
39+
40+
### 😉 Streams whatever you like
41+
42+
You can stream audio or video files, YouTube videos with any duration,
43+
YouTube lives, YouTube playlists and even custom live streams like radios or m3u8 links or files in
44+
the place it is hosted!
45+
46+
### 📊 Streams in multiple places
47+
48+
Allows you to stream different things in multiple chats simultaneously. Each
49+
chat will have its own song queue.
50+
51+
### 🗣 Speaks different languages
52+
53+
Music Player is multilingual and speaks [various languages](#languages),
54+
thanks to the translators.
55+
56+
## 🚀 <a name="deploy"></a>Deploy
57+
58+
[![Deploy on Heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/TheTeamAlexa/Music-Userbot-V1)
59+
60+
## ☁️ <a name="self_host"></a>Self Host
61+
62+
```bash
63+
$ git clone https://github.com/TheTeamAlexa/Music-Userbot
64+
$ cd MusicPlayer
65+
$ cp sample.env .env
66+
< edit .env with your own values >
67+
$ sudo docker build . -t RocksMusicPlayer
68+
$ sudo docker run RocksMusicPlayer
69+
```
70+
71+
## ⚒ <a name="configs"></a>Configs
72+
73+
- `API_ID`: Telegram app id.
74+
- `API_HASH`: Telegram app hash.
75+
- `SESSION`: Pyrogram string session. You can generate from [here](https://replit.com/@AssadAli/String-Session-Generator).
76+
- `SUDOERS`: ID of sudo users (separate multiple ids with space).
77+
- `PREFIX`: Commad prefixes (separate multiple prefix with space). Eg: `! /`
78+
- `LANGUAGE`: An [available](#languages) bot language (can change it anytime). Default: `en`
79+
- `CUSTOM_QUALITY`: Custom stream quality for the userbot in vc. Default: `high`
80+
81+
## 📄 <a name="commands"></a>Commands
82+
83+
Command | Description
84+
:--- | :---
85+
• !ping | Check if alive or not
86+
• !start / !help | Show the help for commands
87+
• !mode / !switch | Switch the stream mode (audio/video)
88+
• !p / !play [song name or youtube link] | Play a song in vc, if already playing add to queue
89+
• !radio / !stream [radio url or stream link] | Play a live stream in vc, if already playing add to queue
90+
• !pl / !playlist [youtube playlist link] | Play the whole youtube playlist at once
91+
• !skip / !next | Skip to the next song
92+
• !m / !mute | Mute the current stream
93+
• !um / !unmute | Unmute the muted stream
94+
• !ps / !pause | Pause the current stream
95+
• !rs / !resume | Resume the paused stream
96+
• !list / !queue | Show the songs in the queue
97+
• !mix / !shuffle | Shuflle the queued playlist
98+
• !loop / !repeat | Enable or disable the loop mode
99+
• !lang / language [language code] | Set the bot language in group
100+
• !ip / !import | Import queue from exported file
101+
• !ep / !export | Export the queue for import in future
102+
• !stop / !leave | Leave from vc and clear the queue
103+
104+
## 🗣 <a name="languages"></a>Languages
105+
106+
```text
107+
en English
108+
```
109+
110+
### ❤️ Get STRING_SESSION from below:
111+
112+
[![GenerateString](https://img.shields.io/badge/repl.it-generateString-yellowgreen)](https://replit.com/@AssadAli/String-Session-Generator) ``Pyrogram``
113+
114+
### Asad– History
115+
116+
<a href="https://www.youtube.com/JankariKiDuniya"><img src="https://img.shields.io/badge/Join-Subscribe%20Support-blue.svg?style=for-the-badge&logo=YouTube"></a>
117+
118+
## Commands ❤️
119+
120+
- `/play <song name>` - play song you requested
121+
- `/playlist` - Show now playing list
122+
- `/vplay <song name>` - play video song on vc
123+
124+
125+
### Special Credits ❤️❤️
126+
- [Jankari Ki Duniya](https://github.com/jankarikiduniya): Dev
127+
- [Asad Ali](https://t.me/Dr_Asad_Ali): Dev
128+
- [Harshit](https://t.me/HarshitSharma361): Support Bhai Ki Jan ❤️
129+
### Support & Updates ❤️❤️
130+
<a href="https://t.me/Shayri_Music_Lovers"><img src="https://img.shields.io/badge/Join-Group%20Support-blue.svg?style=for-the-badge&logo=Telegram"></a> <a href="https://t.me/jankarikiduniya"><img src="https://img.shields.io/badge/Join-Updates%20Channel-blue.svg?style=for-the-badge&logo=Telegram"></a>

app.json

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
{
2+
"name": "Rocks VC Userbot V1",
3+
"description": "Telegram Userbot To Play Audio And Video Song On VC Chat",
4+
"repository": "https://github.com/jankarikiduniya/RocksMusicPlayer-V1",
5+
"logo": "https://telegra.ph/file/7fbaae079e71659672dde.jpg",
6+
"stack": "container",
7+
"keywords": [
8+
"telegram",
9+
"voicechat",
10+
"userbot",
11+
"music",
12+
"player",
13+
"python",
14+
"pyrogram",
15+
"py-tgcalls",
16+
"musicplayer"
17+
],
18+
"env": {
19+
"API_ID": {
20+
"description": "Telegram app id, get it from https://my.telegram.org/apps",
21+
"required": true
22+
},
23+
"API_HASH": {
24+
"description": "Telegram app hash, get it from https://my.telegram.org/apps",
25+
"required": true
26+
},
27+
"SESSION": {
28+
"description": "Pyrogram session string, get it from https://replit.com/@AssadAli/String-Session-Generator",
29+
"required": true
30+
},
31+
"SUDOERS": {
32+
"description": "ID of sudo users who have special access (separate multiple ids with space)",
33+
"required": false
34+
},
35+
"PREFIX": {
36+
"description": "Bot commad prefix or handler (separate multiple prefix with space)",
37+
"value": "/",
38+
"required": false
39+
},
40+
"LANGUAGE": {
41+
"description": "An available bot language (read the README.md for more info)",
42+
"value": "en",
43+
"required": false
44+
},
45+
"CUSTOM_QUALITY": {
46+
"description": "An available stream quality (read the README.md for more info)",
47+
"value": "high",
48+
"required": false
49+
}
50+
},
51+
"formation": {
52+
"worker": {
53+
"quantity": 1,
54+
"size": "free"
55+
}
56+
},
57+
"buildpacks": [
58+
{
59+
"url": "https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest"
60+
},
61+
{
62+
"url": "heroku/python"
63+
}
64+
]
65+
}

asad.sh

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
echo ">> FETCHING UPSTREAM..."
2+
git clone https://github.com/TheTeamAlexa/Music-Userbot /RocksMusicPlayer
3+
echo ">> INSTALLING REQUIREMENTS..."
4+
cd /RocksMusicPlayer
5+
pip3 install -U -r requirements.txt
6+
echo ">> STARTING MUSIC PLAYER USERBOT..."
7+
clear
8+
echo "
9+
# #
10+
## ## # # #### # ####
11+
# # # # # # # # # #
12+
# # # # # #### # #
13+
# # # # # # #
14+
# # # # # # # # #
15+
# # #### #### # ####
16+
17+
###### By @Dr_Asad_Ali
18+
# # # ## # # ###### #####
19+
# # # # # # # # # #
20+
###### # # # # ##### # #
21+
# # ###### # # #####
22+
# # # # # # # #
23+
# ###### # # # ###### # #
24+
25+
MUSIC PLAYER USERBOT IS SUCCESSFULLY DEPLOYED!
26+
"
27+
python3 main.py

config.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
"""
2+
Music Player, Telegram Voice Chat Bot
3+
Copyright (c) 2021 Asad Ali <https://github.com/jankarikiduniya>
4+
5+
This program is free software: you can redistribute it and/or modify
6+
it under the terms of the GNU Affero General Public License as published by
7+
the Free Software Foundation, either version 3 of the License, or
8+
(at your option) any later version.
9+
10+
This program is distributed in the hope that it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
GNU Affero General Public License for more details.
14+
15+
You should have received a copy of the GNU Affero General Public License
16+
along with this program. If not, see <https://www.gnu.org/licenses/>
17+
"""
18+
19+
import os
20+
from dotenv import load_dotenv
21+
22+
23+
load_dotenv()
24+
25+
26+
class Config:
27+
def __init__(self) -> None:
28+
self.API_ID: str = os.environ.get("API_ID", None)
29+
self.API_HASH: str = os.environ.get("API_HASH", None)
30+
self.SESSION: str = os.environ.get("SESSION", None)
31+
self.SUDOERS: list = [
32+
int(id) for id in os.environ.get("SUDOERS", " ").split() if id.isnumeric()
33+
]
34+
if not self.SESSION or not self.API_ID or not self.API_HASH:
35+
print("Error: SESSION, API_ID and API_HASH is required!")
36+
quit(0)
37+
self.PREFIXES: list = os.environ.get("PREFIX", "!").split()
38+
self.LANGUAGE: str = os.environ.get("LANGUAGE", "en").lower()
39+
self.CUSTOM_QUALITY: str = os.environ.get("CUSTOM_QUALITY", "high").lower()
40+
41+
42+
config = Config()

genStr.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
"""
2+
Music Player, Telegram Voice Chat Bot
3+
Copyright (c) 2021 Asm Safone <https://github.com/jankarikiduniya>
4+
5+
This program is free software: you can redistribute it and/or modify
6+
it under the terms of the GNU Affero General Public License as published by
7+
the Free Software Foundation, either version 3 of the License, or
8+
(at your option) any later version.
9+
10+
This program is distributed in the hope that it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
GNU Affero General Public License for more details.
14+
15+
You should have received a copy of the GNU Affero General Public License
16+
along with this program. If not, see <https://www.gnu.org/licenses/>
17+
"""
18+
19+
from pyrogram import Client
20+
21+
22+
api_id = int(input("API ID: "))
23+
api_hash = input("API HASH: ")
24+
25+
app = Client(":memory:", api_id=api_id, api_hash=api_hash)
26+
with app:
27+
print(app.export_session_string())

heroku.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
build:
2+
docker:
3+
worker: Dockerfile

lang/__init__.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
"""
2+
Music Player, Telegram Voice Chat Bot
3+
Copyright (c) 2021 Asad Ali <https://github.com/AsmSafone>
4+
5+
This program is free software: you can redistribute it and/or modify
6+
it under the terms of the GNU Affero General Public License as published by
7+
the Free Software Foundation, either version 3 of the License, or
8+
(at your option) any later version.
9+
10+
This program is distributed in the hope that it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
GNU Affero General Public License for more details.
14+
15+
You should have received a copy of the GNU Affero General Public License
16+
along with this program. If not, see <https://www.gnu.org/licenses/>
17+
"""
18+
19+
import json
20+
21+
22+
def load(lang):
23+
return json.load(open(f"./lang/{lang}.json", "r"))

lang/en.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"restarted": "🔄 | **Rᴇsᴛᴀʀᴛᴇᴅ**",
3+
"restarting": "🔄 | **Rᴇsᴛᴀʀᴛɪɴɢ...**",
4+
"downloading": "🔄 | **Pʀᴏᴄᴇssɪɴɢ...**",
5+
"errorMessage": "❌ | **Eʀʀᴏʀ ᴀᴄᴄᴜʀᴇᴅ ᴛᴏ ғɪx ᴛʜɪs ᴇʀʀᴏʀ ᴍᴀᴋᴇ ᴍᴇ ᴀᴅᴍɪɴ ɪɴ ʏᴏᴜʀ ɢʀᴏᴜᴘ ᴏʀ ᴄᴏɴᴛᴀᴄᴛ ᴛᴏ ᴍʏ ᴏᴡɴᴇʀ** @Dr_Asad_Ali",
6+
"invalidFile": "❌ | **Iɴᴠᴀʟɪᴅ ᴄᴏᴍᴍᴀɴᴅ/ғɪʟᴇ!**",
7+
"langSet": "🗣 | **Yᴏᴜʀ ʟᴀɴɢᴜᴀɢᴇ ᴄʜᴀɴɢᴇᴅ `%s`!**",
8+
"loopOff": "🔂 | **Mᴜsɪᴄ ʟᴏᴏᴘ ᴅɪsᴀʙʟᴇᴅ!**",
9+
"loopOn": "🔂 | **Mᴜsɪᴄ ʟᴏᴏᴘ ᴇɴᴀʙʟᴇᴅ!**",
10+
"audioMode": "🎧 | **Aᴜᴅɪᴏ ᴍᴏᴅᴇ ᴇɴᴀʙʟᴇᴅ!**",
11+
"videoMode": "🎥 | **Vɪᴅᴇᴏ ᴍᴏᴅᴇ ᴇɴᴀʙʟᴇᴅ!**",
12+
"notFound": "❌ | **ɪᴛᴛᴜ 🤏 sᴇʏ ᴘᴀɢᴀʟ ᴋᴜᴄʜ ᴀᴜʀ sᴇᴀʀᴄʜ ᴋᴇʀ!**",
13+
"notActive": "❌ | **ɪᴛᴛᴜ 🤏 sᴇʏ ᴘᴀɢᴀʟ ᴠᴄ ᴏɴ ᴋᴇʀ ʟᴇʏ ᴘᴇʜʟʏ!**",
14+
"notPlaying": "❌ | **ɪᴛᴛᴜ 🤏 sᴇʏ ᴘᴀɢᴀʟ sᴏɴɢ ᴛᴏ ᴄʜᴀʟᴀ ʟᴇʏ!**",
15+
"playing": "▶️ **[%s](%s)\n⏱ Dᴜʀᴀᴛɪᴏɴ: `%s`\n💬 ᴘʟᴀʏɪɴɢ ᴏɴ: `%s`\n[ᴜᴘʟᴏᴀᴅᴇʀ](t.me/Give_Me_Heart)\n🎧 ʀᴇǫᴜᴇsᴛᴇᴅ ʙʏ: %s**",
16+
"paused": "⏸ | **sᴏɴɢ ɪs ᴘᴀᴜsᴇᴅ ᴛᴏ ʀᴇsᴜᴍᴇ /resume**",
17+
"resumed": "▶️ | **sᴏᴍɢ ɪs ʀᴇsᴜᴍᴇᴅ ᴛᴏ ᴘᴀᴜsᴇ /pause**",
18+
"muted": "🔇 | **sᴏɴɢ ɪs ᴍᴜᴛᴇᴅ ᴛᴏ ᴜɴᴍᴜᴛᴇ /unmute**",
19+
"unmuted": "🔈 | **sᴏɴɢ ɪs ᴜɴᴍᴜᴛᴇᴅ ᴛᴏ ᴍᴜᴛᴇ /mute**",
20+
"leaveVC": "⏹ | **Usᴇʀʙᴏᴛ ʟᴇᴀᴠɪɴɢ ᴛʜᴇ ᴠᴏɪᴄᴇ ᴄʜᴀғ!**",
21+
"queueEmpty": "⏺ | **Pʟᴀʏʟɪsᴛ ɪs ᴇᴍᴘᴛʏ!**",
22+
"queueExported": "✅ | **%d sᴏɴɢ ᴇxᴘᴏʀᴛᴇᴅ!**",
23+
"queueImported": "✅ | **%d sᴏɴɢ ɪᴍᴘᴏʀᴛᴇᴅ!**",
24+
"replyToAFile": "👀 | **Rᴇᴘʟᴀʏ ᴛᴏ ᴀɴ ᴀᴜᴅɪᴏ ᴏʀ ᴠɪᴅᴇᴏ ᴏʀ ɢɪᴠᴇ ᴍᴇ sᴏᴍᴇᴛʜɪɴɢ ᴛᴏ sᴇᴀʀᴄʜ!**",
25+
"addedToQueue": "➕ | **[%s](%s) Yᴏᴜʀ sᴏɴɢ ɪs ᴏɴ ᴡᴀɪᴛɪɴɢ ᴘᴏsɪᴛɪᴏɴ ᴀᴛ [ʀᴏᴄᴋs](t.me/Shayri_Music_Lovers) %d**!",
26+
"helpText": "🤖 **Aᴠᴀɪʟᴀʙʟᴇ ᴄᴏᴍᴍᴀɴᴅs:**\n\n• `<prefix>ping`\n└ ❤ ️**ᴄʜᴇᴄᴋ ɪғ ᴀʟɪᴠᴇ ᴏʀ ɴᴏᴛ**\n\n• `<prefix>repo`\n└ ❤️ **sʜᴏᴡ ᴛʜᴇ ʙᴏᴛ sᴏᴜʀᴄᴇ ᴄᴏᴅᴇ**\n\n• `<prefix>start` | `<prefix>help`\n└ ❤️ **sʜᴏᴡ ᴛʜᴇ ʜᴇʟᴘ ғᴏʀ ᴄᴏᴍᴍᴀɴᴅs**\n\n• `<prefix>mode` | `<prefix>switch`\n└ ❤️ **sᴡɪᴛᴄʜ ᴛʜᴇ sᴛʀᴇᴀᴍ ᴍᴏᴅᴇ (ᴀᴜᴅɪᴏ/ᴠɪᴅᴇᴏ)**\n\n• `<prefix>p` | `<prefix>play` ❤️ **[sᴏɴɢ ɴᴀᴍᴇ | ʏᴛ ʟɪɴᴋ]**\n\n• `<prefix>radio` | `<prefix>stream` ❤️ **[ʀᴀᴅɪᴏ ʟɪɴᴋ | sᴛʀᴇᴀᴍ ʟɪɴᴋ]**\n\n• `<prefix>pl` | `<prefix>playlist` ❤️ **[ʏᴛ ᴘʟᴀʏʟɪsᴛ ʟɪɴᴋ]**\n└ **ʏᴏᴜ ᴄᴀɴ ᴘʟᴀʏ ᴡʜᴏʟᴇ ᴘʟᴀʏʟɪsᴛ ᴀᴛ ᴏɴᴄᴇ**\n\n• `<prefix>skip` | `<prefix>next`\n└ ❤️ **sᴋɪᴘ ᴛᴏ ɴᴇxᴛ sᴏɴɢ**\n\n• `<prefix>m` | `<prefix>mute`\n└ ❤️ **ᴍᴜᴛᴇ ᴛʜᴇ ᴄᴜʀʀᴇɴᴛ sᴏɴɢ**\n\n• `<prefix>um` | `<prefix>unmute`\n└ ❤️ **ᴜɴᴍᴜᴛᴇ ᴛʜᴇ ᴍᴜᴛᴇᴅ sᴏɴɢ**\n\n• `<prefix>ps` | `<prefix>pause`\n└ ❤️ **ᴘᴀᴜsᴇ ᴛʜᴇ ᴄᴜʀᴇɴᴛ sᴏɴɢ**\n\n• `<prefix>rs` | `<prefix>resume`\n└ ❤️ **ʀᴇsᴜᴍᴇ ᴛʜᴇ ᴘᴀᴜsᴇᴅ sᴏɴɢ**\n\n• `<prefix>list` | `<prefix>queue`\n└ ❤️ **sʜᴏᴡ ᴛʜᴇ sᴏɴɢ ɪɴ ǫᴜᴇǫᴜᴇ**\n\n• `<prefix>mix` | `<prefix>shuffle`\n└ ❤️ **sʜᴜғғʟᴇ ᴛʜᴇ sᴏɴɢ ɪɴ ǫᴜᴇǫᴜᴇ**\n\n• `<prefix>loop` | `<prefix>repeat`\n└ ❤️ **ᴇɴᴀʙʟᴇ ᴅɪsᴀʙʟᴇ ʟᴏᴏᴘ ᴍᴏᴅᴇ**\n• `<prefix>lang` | `language` [language code]\n└ ❤️ **ᴄʜᴀɴɢᴇ ᴛʜᴇ ʙᴏᴛ ʟᴀɴɢᴜᴀɢᴇ ɪɴ ɢʀᴏᴜᴘ**\n\n• `<prefix>ip` | `<prefix>import`\n└ ❤️ **ɪᴍᴘᴏʀᴛ ǫᴜᴇǫᴜᴇ ғʀᴏᴍ ᴇxᴘᴏʀᴛᴇᴅ sᴏɴɢ**\n\n• `<prefix>ep` | `<prefix>export`\n└ ❤️ **ᴇxᴘᴏʀᴛ ᴛʜᴇ ǫᴜᴇᴜᴇ**\n\n• `<prefix>stop` | `<prefix>leave`\n└ ❤️ **ʟᴇᴀᴠᴇ ғʀᴏᴍ ᴠᴄ ᴀɴᴅ ᴄʟᴇᴀʀ ᴀʟʟ ᴛʜᴇ sᴏɴɢ**\n\n• `<prefix>restart` | `<prefix>update`\n└ ❤️ **ʀᴇsᴛᴀʀᴛ ᴀɴᴅ ᴜᴘᴅᴀᴛᴇ ʏᴏᴜʀ ᴜsᴇʀʙᴏᴛ**\n\n© **Powered By: @AsadSupport | @Dr_Asad_Ali**"
27+
}

0 commit comments

Comments
 (0)