KeyError в Discord.py musicbot - PullRequest
       13

KeyError в Discord.py musicbot

0 голосов
/ 09 декабря 2018

Я получаю KeyError, в котором каждый раз, когда я пытаюсь это сделать, говорится, что мой IP дискординации

players = {}

@client.command(pass_context=True)
@is_vale()
async def pause(ctx):
    id = ctx.message.server.id
    players[id].pause()
    embed = discord.Embed(
        description='Musik wurde pausiert.', 
        color=botcolor
    )
    await client.say(embed=embed)

Ошибка выглядит следующим образом

 File "C:\Users\asche\Desktop\discord bot\bot\musikbot (1).py", line 98, in pause
    players[id].pause()
KeyError: '510767063510417418'

1 Ответ

0 голосов
/ 11 декабря 2018

Я исправил это и изменил код.так вот новый код

    def check_queue(id):
        if queues[id] != []:
            player = queues[id].pop(0)
            players[id] = player
            player.start()
        else:
            del players[id]

    @client.command(pass_context=True)
    async def play(ctx, url):
        server = ctx.message.server
        voice_client = client.voice_client_in(server)
        try:
            if players[server.id].is_playing():
                player = await voice_client.create_ytdl_player(url,ytdl_options=ytdl_format_options, after=lambda: check_queue(server.id))

                if server.id in queues:
                    queues[server.id].append(player)
                else:
                    queues[server.id] = [player]
                embed = discord.Embed(description='{} ist in der Playlist.'.format(url), color=botcolor)
                await client.say(embed=embed)
            else:
                player = await voice_client.create_ytdl_player(url, ytdl_options=ytdl_format_options, after=lambda: check_queue(server.id))
                embed = discord.Embed(description='{} wird abgespielt.'.format(url), color=botcolor)
                await client.say(embed=embed)
                await songs.put(player)
                players[server.id] = player
                player.start()
        except KeyError:
                player = await voice_client.create_ytdl_player(url, ytdl_options=ytdl_format_options, after=lambda: check_queue(server.id))
                embed = discord.Embed(description='{} wird abgespielt.'.format(url), color=botcolor)
                await client.say(embed=embed)
                await songs.put(player)
                players[server.id] = player
                player.start()
...