Как получить роли пользователя - PullRequest
0 голосов
/ 17 мая 2019

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

В прошлом я пытался использовать discord.Role (role_id), но получил следующую ошибку.

discord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: __init__() takes 1 positional argument but 2 were given

Вот мой текущий код.

@client.command(pass_context=True)
async def maketicket(ctx):
    server = ctx.message.server
    author = ctx.message.author
    reason = ctx.message.content[12:] #subject of ticket


    everyone = discord.PermissionOverwrite(read_messages=False)
    staff = discord.PermissionOverwrite(read_messages=True)


    eyedee = random.randrange(1,99999) #assigns id number
    name = "ticket-" + str(eyedee)

    await client.create_channel(server, name, (server.default_role, everyone), (ctx.message.author, staff))
    ticket = discord.utils.get(client.get_all_channels(), name = "ticket-" + str(eyedee)) #makes variable to easily call on the channel

    admin = discord.utils.get(server.roles, name="Administrator")
    await client.edit_channel_permissions(ticket, admin, staff)

Когда я запускаю код, как показано выше, я получаю эту ошибку.

discord.ext.commands.errors.CommandInvokeError: Command raised an exception: InvalidArgument: target parameter must be either Member or Role
...