Проблема с ботом Discord
for guild in bot.guilds:
guild_to_audiocontroller[guild] = AudioController(bot, guild)
await guild_to_audiocontroller[guild].register_voice_channel(guild.voice_channels[0])
await General.udisconnect(self=None, ctx=None, guild=guild)
try:
await guild_to_audiocontroller[guild].register_voice_channel(guild.voice_channels[0])
except:
pass
print("Подключен к {}".format(guild.name))
print(config.STARTUP_COMPLETE_MESSAGE)
@bot.event
async def on_guild_join(guild):
print(guild.name)
guild_to_audiocontroller[guild] = AudioController(bot, guild)
await guild_to_audiocontroller[guild].register_voice_channel(guild.voice_channels[0])
bot.run(config.BOT_TOKEN, bot=True, reconnect=True)
После запуска выдает ошибку:
Ignoring exception in on_ready
Traceback (most recent call last):
File "C:\Python38\lib\site-packages\discord\client.py", line 312, in _run_event
await coro(*args, **kwargs)
File "run.py", line 52, in on_ready
await guild_to_audiocontroller[guild].register_voice_channel(guild.voice_channels[0])
IndexError: list index out of range
Возможно ошибка появилась из-за обновления, так как до этого все работало прекрасно
Ответы (1 шт):
Автор решения: Danis
→ Ссылка
попробуйте так:
for i in range(len(bot.guilds)):
guild_to_audiocontroller[i] = AudioController(bot, bot.guilds[i])
try:
await guild_to_audiocontroller[i].register_voice_channel(bot.guilds[i].voice_channels[0])
await General.udisconnect(self=None, ctx=None, guild=bot.guilds[i])
await guild_to_audiocontroller[i].register_voice_channel(bot.guilds[i].voice_channels[0])
except IndexError:
continue
print("Подключен к {}".format(guild[i].name))