Примечание. Я использую 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)
Это не работает. Это единственное, что я смог найти в гугле по этому поводу
Кроме того, запуск accept_invite
дает следующее:
discord.errors.Forbidden: FORBIDDEN (status code: 403): Bots cannot use this endpoint
Боты не могут принимать приглашения или присоединяться к серверам/гильдиям любым другим способом, кроме приглашения вручную. Пользователь с правами администратора сервера должен авторизовать бота, и указанные разрешения будут предоставлены боту при присоединении.
Вы можете создать ссылку-приглашение здесь
Нет. Потому что это позволит ботам «случайно» присоединяться к гильдиям. Пока у бота есть доступ к ссылке-приглашению, он сможет принять ее и войти в любую гильдию. Даже с базовыми разрешениями на чтение сообщений это означает, что все разговоры в этой гильдии теперь могут быть зарегистрированы по незнанию. Чтобы бот мог войти в гильдию, должно быть предоставлено явное разрешение.
Что ж, хорошая попытка, но если бы эта команда была доступна для ботов, я бы добавил своего бота даже на самый большой сервер раздора. Вы должны использовать токен пользователя для токена.
То есть вы не можете использовать HTTP-перенаправление или что-то в этом роде?