RuntimeWarning: сопрограмма 'Member.add_roles' никогда не ожидалась member.add_roles (randomuser, randomcolors) - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь создать систему, в которой он берет случайного онлайн-члена с сервера, который не имеет ролей в модах, и он берет случайную роль из цветов и передает ее случайному члену. но я продолжаю получать эту ошибку:

RuntimeWarning: coroutine 'Member.add_roles' никогда не ожидался
member.add_roles (randomuser, randomcolors) RuntimeWarning: включить tracemallo c, чтобы получить распределение объекта traceback

@client.command(name="sortearcolor")
@commands.has_any_role("DUEÑOS", "CO-OWNER", "Admin", "ADMIN", "Dev Discord+", "MOD", "MOD+", "Trial MOD", "Dev Discord")
async def _sorteocolor(ctx):
    online = []
    colors = ["Negro (Personalizado)", "Rosa (Ultra)", "Rosa-1 (Personalizado)",
    "Rosa-2 (Personalizado)", "Violeta (Ultra)", "Violeta (Personalizado)",
    "Morado (Personalizado)", "Celeste(Perso.)", "Violeta Brillante (Personalizado)",
    "Aqua (Personalizado)", "Amarillo-1 (Personalizado)", "Amarillo (Personalizado)",
    "Celesroide (Personalizado)", "Celeste (Personalizado)",
    "Azul-1 (Personalizado)", "Azul (Personalizado)", "Azul (Generico)",
    "Morado (Personalizado)", "Rosa pastel"]
    mods = ["Admin", "ADMIN", "Dev Discord+", "MOD", "MOD+", "Trial MOD", "Dev Discord"]

    for member in client.get_all_members():
        if str(member.status) == "online":
            for roles in ctx.guild.roles:
                if roles.name in mods:
                    pass 
                else:
                    online.append(str(member))
    randomuser = random.choice(online)
    randomcolors = random.choice(colors)
    member.add_roles(randomuser, randomcolors)
    await ctx.send(f"User: **{randomuser}**, Role: **{randomcolors}**")

он отправляет сообщение user: user, role: role, но не дает пользователю роли, я думаю, это связано с сообщением об ошибке, которое я получаю. Кроме того, он по-прежнему выбирает участников с ролями в модах, не знаю почему.

1 Ответ

0 голосов
/ 16 июня 2020

В discord.py вы должны использовать await перед выполнением команд «действия». Так же, как вы использовали await при отправке сообщения на канал, вы должны также await добавить роли. Попробуйте сделать, await member.add_roles(randomuser, randomcolors)

...