/remix

An operational and exprimental Telegram music bot.

Primary LanguageTypeScriptGNU Affero General Public License v3.0AGPL-3.0

🎵 Remix

An operational and exprimental Telegram music bot.


🎖 Achievements

✨ Features

😉 Streams Whatever You Like

You can stream audio files, voice messages, YouTube videos with any duration, YouTube lives, YouTube playlists and even custom inputs like radios or files in the place it is hosted!

📊 Streams in Multiple Places at Once

Allows you to stream different things in multiple chats simultaneously. Each chat will have its own song queue.

⚡️ Fast & Light

Starts streaming your inputs while downloading and converting them. Also, it doesn't make produce files.

😎 Has a Lot of Controls

Lets you adjust volume, loop, pause, resume, mute, unmute. Also, it has a control panel.

👮🏻‍♀️ Safe

Restricts control and sensitive commands to admins.

🗣 Speaks Different Languages

Remix is multilingual and speaks various languages, thanks to the translators.

🗑 Clean

Its responses and source code don't say anything referring to Calls Music. Except some places like package.json.

🚀 Running

  1. Copy example.env to .env and fill it with your credentials.
  2. Install dependencies and build:
npm install && npm run build
  1. Start:
npm start

☁️ Cloud platforms

Deploy on Heroku

⚒ Configuring

  • BOT_TOKEN: Telegram bot token.
  • STRING_SESSION: A GramJS/Telethon string session. You can generate one here.
  • API_ID: Telegram app ID.
  • API_HASH: Telegram app hash.
  • LOCALE: An available bot language. Default: en.
  • MAX_PLAYLIST_SIZE: Max YouTube playlist size. Default: 10.
  • COOKIES: Cookies for YouTube requests. Default: none.

📄 Commands

🎶 stream

Aliases: s, play, p

Takes a custom input, audio file, voice message or YouTube video/playlist link/ID and streams/queues it.

Custom inputs should be passed like this:

/stream custom <your_custom_input>

You can replace <your_custom_input> with a valid Ffmpeg input, for example: URL to a media file with audio, or a radio stream.

🔍 search

Aliases: find

Searches for a YouTube video.

✅ cancel

Cancels the active YouTube video search.

🔢 playlist

Aliases: pl, list

Streams a YouTube playlist.

🎵 now

Aliases: ns, cs, np, cp

Displays the currently streamed item.

📝 lyrics

Aliases: ly

Sends the lyrics of the currently streamed item.

🎛 panel [👮🏻‍♀️]

Aliases: menu, control, controls

Opens the controls panel.

🔁 loop [👮🏻‍♀️]

Aliases: repeat

Toggles loop.

🔀 shuffle [👮🏻‍♀️]

Aliases: sh, mix

Shuffles the items in the queue.

🔉 volume [👮🏻‍♀️]

Aliases: vol, v

Sets the volume.

⏸ pause [👮🏻‍♀️]

Pauses the stream.

▶️ resume [👮🏻‍♀️]

Aliases: re, res, continue

Resumes the stream.

🔇 mute [👮🏻‍♀️]

Aliases: m

Mutes the stream.

🔈 unmute [👮🏻‍♀️]

Aliases: um

Unmutes the stream.

⏩ skip [👮🏻‍♀️]

Aliases: next

Skips the current item.

⏹ leave [👮🏻‍♀️]

Aliases: stop

Clears the queue and stops streaming.

🗑 cache [👮🏻‍♀️]

Deletes caches.

🗣 Available languages

ckb Central Kurdish
de  German
en  English
id  Indonesian

🛫 Support

Join our chats.

💜 Contributing

New languages, bug fixes and improvements following our contribution guidelines are warmly welcomed!

📃 License

Remix is licenced under the GNU Affero General Public License v3.0. Read more here.