Discord.py音乐漫游器无法正常工作并产生错误

时间:2020-10-20 23:31:42

标签: python discord.py discord.py-rewrite

您好,我正在尝试为我的不和谐服务器创建音乐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编辑代码。

谢谢您的任何帮助。

1 个答案:

答案 0 :(得分:0)

我对Python不太熟悉,但是作为一个建议,您是否确定将JSON文件正确地引用(链接或称为它的名称)作为文件开头的源,并且JSON是正确导入并写入?看来您的代码无法读取包含该信息的JSON文件,因此您可能希望使用一个简单的youtube教程仔细检查所有代码均已正确写入该文件中,因为它们非常有用;即使是经验丰富的编码人员。 更新您的discord.py可能也会过时,这可能会有所帮助,并且请记住,某些命令可能在discord.py的早期版本中起作用,而在较新的版本中可能不起作用。