SladkayaDoza
@SladkayaDoza
Обучаюсь программированию

Как сгенерировать приглашение на сервер зная его ID, с помощью бота?

Помогите, пожалуйста))

@Client.command(pass_context = True)
async def link(ctx, yy):
    server = Client.fetch_guilds(yy)
    link = await Client.create_invite(destination=server,xkcd=True,max_age=0,max_uses=2)
    await ctx.send(link)



TypeError: fetch_guilds() takes 1 positional argument but 2 were given
  • Вопрос задан
  • 455 просмотров
Решения вопроса 1
  1. pass_context не существует в текущей версии библиотеки
  2. discord.Client.fetch_guilds(...) запрашивает список всех серверов, на которых находится бот. Вы, скорее всего, хотели discord.Client.fetch_guild(...)
  3. Без конвертера/преобразования строки в int вручную, вы передаете в эту функцию строку, а не число, коими ID серверов и являются в текущей версии библиотеки
  4. discord.Client.create_invite так же не существует на текущей версии библиотеки, вместо этого необходимый метод находится в объекте канала


@Client.command()
async def link(ctx, guild_id: int):  # https://discordpy.readthedocs.io/en/stable/ext/commands/commands.html#converters
    server = Client.get_guild(guild_id)
    channel = server.channels[0]
    link = await channel.create_invite(max_uses=2)
    await ctx.send(link)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы