В настоящее время я пытаюсь создать команду для бота, которая позволит мне составить список пользователей в Discord, случайным образом объединить их в пары, а затем назначить каждой паре свой собственный канал, к которому у них есть доступ.
Пока у меня есть код, способный принимать список пользователей, но всякий раз, когда я запускаю его, передавая идентификаторы пользователей, он выдает ошибку "Nonetype не имеет атрибута" add_roles "".
Вот эта функция:
async def startDraft(context, *users):
#Take a list of users of an even number, and assign them randomly in pairs
#Give each of these pairs a private #, then use that to assign them roles, and thereby rooms.
if not users or len(users)%2 is not 0:
context.say("Malformed command. Please see the help for this command. (Type !help startDraft)")
pass
userList = []
for user in users:
userList.append(client.get_user(user))
random.shuffle(userList)
pairList = []
guild = context.guild
for i in range(int(len(users)/2)):
pairList.append((userList[i*2], userList[i*2+1]))
for i in range(len(pairList)):
pairRole = await guild.create_role(name="draft"+str(i))
pairList[i][0].add_roles(pairRole)
pairList[i][1].add_roles(pairRole)
overwrites = {guild.default_role: discord.PermissionOverwrite(read_messages=False),
pairRole: discord.PermissionOverwrite(read_messages=True)}
await guild.create_text_channel(name="draft"+str(i),overwrites=overwrites)