@Biohazard-python

Я хочу чтобы мой бот в дискорде покидал те сервера, которые есть в списке. Выдает ошибку, как исправить?

Я попробовал сделать такой код. Но выдает ошибку, от списка это не зависит, я уже проверил. Вот код:
@bot.event
async def on_connect(guild):
	black = [#потом поставлю айди серверов]
	if guild.id in black:
		 await bot.leave_guild()
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
Функция bot.leave_guild не существует в текущей версии библиотеки. Большая часть функциональности в rewrite версии библиотеки была перемещена в соответствующие модели.

Событие on_connect вызывается при подключении к Discord, а не при добавлении бота на сервер.
При добавлении бота на сервер вызывается событие on_guild_join: https://discordpy.readthedocs.io/en/stable/api.htm...

Таким образом:
GUILD_BLACKLIST = [779450659245255793, 853811295717358421, ...]  # Список ID

@bot.event
async def on_guild_join(guild):
    if guild.id in GUILD_BLACKLIST:
        print(f"Guild {guild.name} ({guild.id}) is blacklisted! Leaving…"
        await guild.leave()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Shroud228
@bot.event
async def on_connect(guild):
  black = ["""потом поставлю айди серверов"""]
  if guild.id in black:
     await bot.leave_guild()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы