Как пользоваться гильдией. с фоновыми задачами? discord.py - PullRequest
0 голосов
/ 22 апреля 2020

Как пользоваться гильдией. с фоновыми задачами? discord.py переписать Например:

async def create_role():
    guild = ctx.guild
    roles = ctx.guild.roles
    if game != roles:
        color = "%06x" % random.randint(0, 0xFFFFFF)
        await guild.create_role(name="role name", colour=discord.Colour(color))

bot.loop.create_task(create_role())

1 Ответ

1 голос
/ 23 апреля 2020

Не совсем точно, что вы пытаетесь выполнить sh с помощью этой фоновой задачи, но вот способ создать роль в фоновой задаче.

Элементы / предположения:

  1. вы должны подождать, пока клиент не будет готов, прежде чем станут доступны гильдии и роли.
  2. Обычно фоновая задача выполняется в al oop до закрытия - я просто застрял в ней, так что это один раз action.
  3. Не знаю, откуда вы брали игру, поэтому я просто добавил "test01" в качестве роли, которую нужно создать.
  4. Не уверен насчет процесса случайного цвета, поэтому я просто добавил
  5. Вам нужно знать идентификатор вашей гильдии, чтобы установить объект гильдии
  6. Вы получаете список ролей от гильдии

Код:

async def create_role():
    await client.wait_until_ready()
    while not client.is_closed():
        guild = client.get_guild(<your guild id here>)
        role_list = guild.roles
        game = 'test01'
        if game not in role_list:
            color = "%06x" % random.randint(0, 0xFFFFFF)
            await guild.create_role(name=game, colour=discord.Colour.blue())
        break

Образ с новой ролью:

enter image description here

...