From 3174bf1663dc190b30a3ffdafce0c7e93c5c9704 Mon Sep 17 00:00:00 2001 From: Caleb Mabry <36182383+caleb-mabry@users.noreply.github.com> Date: Sun, 21 Feb 2021 11:56:00 -0500 Subject: [PATCH] Don't allow people to /play YouTube URLs (#160) Fixes #156 Co-authored-by: oldmud0 --- server/commands/music.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/server/commands/music.py b/server/commands/music.py index 2bfeffbad..06f363dd9 100644 --- a/server/commands/music.py +++ b/server/commands/music.py @@ -1,3 +1,5 @@ +import re + from server import database from server.constants import TargetType from server.exceptions import ClientError, ServerError, ArgumentError @@ -14,6 +16,7 @@ 'ooc_cmd_unblockdj' ] +YOUTUBE_RE = re.compile(r'^(https?\:\/\/)?(www\.)?(youtube\.\w*|youtu\.\w*)') def ooc_cmd_currentmusic(client, arg): """ @@ -138,6 +141,8 @@ def ooc_cmd_play(client, arg): """ if len(arg) == 0: raise ArgumentError('You must specify a song.') + if YOUTUBE_RE.search(arg): + raise ArgumentError('You cannot use YouTube links. You may use direct links to MP3, Ogg, or M3U streams.') client.area.play_music(arg, client.char_id, 0) #don't loop it client.area.add_music_playing(client, arg) database.log_room('play', client, client.area, message=arg)