您好,我正在尝试为我的不和谐服务器创建音乐bot。但是,当我尝试播放音乐时,错误是
query "song: Failed to parse JSON (caused by JSONDecodeError('Expecting value: line 1 column 1 (char 0)')); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
这是代码:
@commands.command()
async def play(self, ctx: commands.Context, url: str, *args: str):
music_queue = self.music_queues[ctx.guild]
voice = get(self.bot.voice_clients, guild=ctx.guild)
try:
channel = ctx.message.author.voice.channel
except:
await ctx.send('You\'re not connected to a voice channel.')
return
if voice is not None and not self.client_in_same_channel(ctx.message.author, ctx.guild):
await ctx.send('You\'re not in my voice channel.')
return
if not url.startswith('https://'):
url = f'ytsearch1:{url} {" ".join(args)}'
try:
song = Song(url, author=ctx.author)
except SongRequestError as e:
await ctx.send(e.args[0])
return
music_queue.append(song)
await ctx.send(f'Queued song: {song.title}')
if voice is None or not voice.is_connected():
await channel.connect()
await self.play_all_songs(ctx.guild)
它以前工作正常,我不知道应该在哪里放置冗长的内容。 Youtube-dl已更新,我已经安装了所有软件包。我正在使用repl.it编辑代码。
谢谢您的任何帮助。
答案 0 :(得分:0)
我对Python不太熟悉,但是作为一个建议,您是否确定将JSON文件正确地引用(链接或称为它的名称)作为文件开头的源,并且JSON是正确导入并写入?看来您的代码无法读取包含该信息的JSON文件,因此您可能希望使用一个简单的youtube教程仔细检查所有代码均已正确写入该文件中,因为它们非常有用;即使是经验丰富的编码人员。 更新您的discord.py可能也会过时,这可能会有所帮助,并且请记住,某些命令可能在discord.py的早期版本中起作用,而在较新的版本中可能不起作用。