#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. Вы должны использовать пользовательский токен для токена.