所以我写这篇文章是为了取消分配角色。如果我分配了多个角色,它将删除它找到的第一个角色,但随后它会以某种方式突破循环。我不确定为什么不删除所有这些。有任何想法吗? role_list只是一个字符串列表。
if message.content.startswith("!unassign"):
roles_cleared = True
for r in role_list:
# Check every role
role = discord.utils.get(message.server.roles, name=r)
if role in message.author.roles:
# If they have the role, get rid of it
try:
await client.remove_roles(message.author, role)
except discord.Forbidden:
await client.send_message(message.author, "I don't have perms to remove roles.")
roles_cleared = False
break
if roles_cleared:
await client.send_message(message.author, "Roles successfully cleared.")
答案 0 :(得分:1)
每次删除角色后都需要添加延迟。只需导入asyncio并添加 NSURL *urlNav = [NSURL URLWithString:@"https://www.google.co.in/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png"];
NSData *urlData = [NSData dataWithContentsOfURL:urlNav];
UIImage *imageNav = [UIImage imageWithData:urlData];
UINavigationController *navController=[[UINavigationController alloc]initWithRootViewController:NextView];
//navController.navigationBarHidden=YES;
[self.navigationController.navigationBar setBackgroundImage:imageNav forBarMetrics:UIBarMetricsDefault];
即可。您的代码应如下所示:
await asyncio.sleep(1)
答案 1 :(得分:0)
你的代码本身看起来很好,我能想到的唯一问题是role_list
只包含一个字符串。您应该检查分配代码的部分。
您是否尝试使用PyCharm之类的调试器进行调试?这听起来像是可以使用它的问题类型。