🎹 Discord Music Bots Native Support 🥁
amasad (3535)

At Repl.it we believe programming should useful, fun, and exciting. Discord bots have been something people loved to make with Repl.it ever since we enabled outbound network connections from repls (yes, we used to disable networking).

Discord music bots, however, didn't work very well if at all. At first, OPUS was missing from our Python environment. Then we also inadvertently blocked voice connections from our servers. So all in all it was a pain. However, today, I'm excited to announce that Music Bots natively work on Repl.it.

The only thing that's currently missing from our images is native ffmpeg support, but that can be worked around by installing ffmpeg-static from npm. I just added the following Python repl to templates to make it easy for you to get started.

I know it works in Node.js too but I didn't have the time to make a nice template. If anyone can make a very simple template for Node.js I'd love to include it in our template library.

You are viewing a single comment. View All
Alvinzzzzz (2)

When the bot tried to play the next song it raises this error

Traceback (most recent call last):
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/player.py", line 598, in run
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/player.py", line 585, in _do_run
    data = self.source.read()
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/player.py", line 538, in read
    ret = self.original.read()
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/player.py", line 223, in read
    ret = self._stdout.read(OpusEncoder.FRAME_SIZE)
AttributeError: 'NoneType' object has no attribute 'read'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/player.py", line 611, in _call_after
  File "main.py", line 393, in play_next_song
    raise VoiceError(str(error))
VoiceError: 'NoneType' object has no attribute 'read'