Есть ли какой-либо способ заставить бота discord присоединиться к серверу с помощью accept_invite или чего-то подобного?

#python #discord #discord.py

#python #Discord #discord.py

Вопрос:

Примечание: я использую discord.py 0.16.12

Мне интересно, есть ли какой-либо способ заставить бота присоединиться к серверу в коде. Как будто есть команда, которая была бы похожа:

 @client.command(pass_context=True)
async def join(ctx, invite):
    client.join(invite)
  

Я уже пробовал

 @client.command()
async def joinserver(mahlink):
    await client.accept_invite(mahlink)
  

Это не работает.
Это единственное, что я смог найти в Google по этому поводу

Кроме того, запуск accept_invite дает следующее:

discord.ошибки.Запрещено: ЗАПРЕЩЕНО (код состояния: 403): Боты не могут использовать эту конечную точку

Ответ №1:

Боты не могут принимать приглашения или присоединяться к серверам / гильдиям любым другим способом, кроме приглашения вручную. Пользователь с правами сервера manager должен авторизовать бота, и разрешения, указанные ботом, будут предоставлены при присоединении.

Вы можете сгенерировать ссылку для приглашения здесь

Комментарии:

1. Итак, вы не можете использовать какое-либо перенаправление HTTP или что-то в этом роде?

2. Нет. Потому что это позволило бы ботам «случайным образом» вступать в гильдии. Пока у бота есть доступ к ссылке приглашения, он сможет принять и попасть в любую гильдию. Даже с базовыми разрешениями на чтение сообщений это означает, что все разговоры внутри этой гильдии теперь могут регистрироваться неосознанно. Для того, чтобы бот вступил в гильдию, должно быть предоставлено явное разрешение.

Ответ №2:

Что ж, хорошая попытка, но если бы эта команда была доступна для ботов, я бы добавил своего бота даже на самый большой сервер discord. Вы должны использовать пользовательский токен для токена.