Beru
Modules

Music

Play music in voice channels. Needs ffmpeg, PyNaCl and yt-dlp on the host; if they are missing the rest of the bot works normally.

42 commands · default prefix . · <required> [optional]

Music needs ffmpeg, PyNaCl and yt-dlp installed on the host. It will not work on Pydroid.
Now Playing card

Every song (and .np) shows an image card: frosted blue Beru background with glass panels (fast, one message), clean 128 kbps Opus sound, JioSaavn first (320 kbps, default source), then YouTube, then SoundCloud (same song only, matched by name and length), optional youtube_cookies.txt, a live time bar in the embed (updates every 15 s) with an animated music emoji, and 10 custom blue buttons (Previous, -10s, Pause that turns into Play, +10s, Skip, Shuffle, Loop, Like, Queue, Stop), the song thumbnail in the top-right corner, title, artist, progress bar, requester, source, volume, loop and up next, with pause / skip / like / loop / stop buttons.

Everyone
.musicdebug

Shows why music may be silent: libraries, voice encryption, ffmpeg errors.

Admin Accessalias: mdebug
Auto setup

Beru installs and updates yt-dlp, PyNaCl, davey (Discord voice encryption) and ffmpeg by itself on start, and uses them without a restart (nothing to type). If YouTube blocks the host, songs play from SoundCloud automatically. Needs a Linux host such as Wispbyte; Pydroid has no voice support.

Everyone
.play <query>

Play a song or add it to the queue.

Everyonealias: p
.nowplaying

Show the current song.

In my voice channelalias: npalias: now
.join

Join your voice channel.

Everyonealias: connect
.leave

Leave the voice channel.

In my voice channelalias: disconnectalias: dc
.forcefix

Reconnect the player if it gets stuck.

In my voice channelalias: fix
.247 [enable|disable|status] [voice channel]

24/7 mode: Beru stays in a voice channel all the time, even when it is empty, and comes back on its own after a restart, a kick or a network drop. .247 enable (or on) joins your voice channel (or the one you name), .247 disable (or off) turns it off, .leave also turns it off.

Admin Access / Voice Moderationalias: 24/7alias: stay
.pause

Pause.

In my voice channel
.resume

Resume.

In my voice channel
.volume [volume]

Set the volume.

In my voice channelalias: vol
.seek <percent>

Jump to a position (percent).

In my voice channel
.forward [time]

Skip forward.

In my voice channelalias: ff
.rewind [time]

Go back.

In my voice channelalias: rw
.replay

Restart the current song.

In my voice channelalias: restart
.autoplay

Auto-play related songs when the queue ends.

In my voice channelalias: ap
.queue

Show the queue.

Everyonealias: q
.history

Recently played songs.

Everyone
.skipinto <number>

Skip to a song in the queue.

In my voice channelalias: skipto
.remove <number>

Remove a song from the queue.

In my voice channelalias: rm
.move <frm> <to>

Move a song in the queue.

In my voice channel
.shuffle

Shuffle the queue.

In my voice channel
.clearqueue

Clear the queue.

In my voice channelalias: cq
.loop [mode]

Loop the song or queue.

In my voice channelalias: repeat
.filter

Choose an audio filter.

In my voice channelalias: filters
.filter reset

Remove the audio filter.

In my voice channel
.filter toggle

Toggle the audio filter.

In my voice channel
.lyrics [song]

Show song lyrics.

Everyonealias: ly
.playlist

Show your playlists.

Everyonealias: pl
.playlist list

List the playlists.

Everyone
.playlist rename <old> <new>

Rename a playlist.

Everyone
.playlist music [True=shuffle]

All your connected playlists in one dropdown: Spotify and Deezer profiles (public playlists), plus playlist links from Spotify, Deezer, YouTube Music, Apple Music and JioSaavn. Connect at /connect (log in with Discord). Pick one and Beru plays it (up to 100 songs). JioSaavn songs play directly; others are matched on JioSaavn by title and length so the right song plays. Also .playlist spotify / .playlist play music.

Everyonealias: spotify, sp, deezer, ytm, apple, saavn, my
.playlist play <name> [shuffle]

Play a playlist.

Everyonealias: playlist load
.playlist info <name>

Show a playlist.

Everyone
.playlist create <name>

Create a playlist.

Everyone
.playlist delete <name>

Delete a playlist.

Everyone
.playlist add <name> [query]

Add a song (or the current one) to a playlist.

Everyone
.playlist remove <name> <number>

Remove a song from a playlist.

Everyone
.source

Show your music search source.

Everyone
.source show

Show the current music source.

Everyone
.source set <source>

Set your music search source.

Everyone
.stop

Stop and clear the queue.

In my voice channel