Python 如何创建将角色赋予上述用户的bot命令| Discord.py
我想创建一个Discord bot命令 例如,我想创建一个警告命令。因此管理员将输入以下命令:Python 如何创建将角色赋予上述用户的bot命令| Discord.py,python,python-3.x,discord,discord.py,Python,Python 3.x,Discord,Discord.py,我想创建一个Discord bot命令 例如,我想创建一个警告命令。因此管理员将输入以下命令: ?Warn @user "<A warning message>" 然后机器人用文本和消息对用户进行DMs。这是一个WSER: 异步定义警告(ctx,args1:discord.Member,args2=“无原因”): 成员=args1 Role=ctx.guild.get\u角色(角色ID) 对于Member.roles中的角色: 如果是角色!=角色:或如果角色=
?Warn @user "<A warning message>"
然后机器人用文本和消息对用户进行DMs。这是一个WSER:
一个用户可以有多个角色,所以您不能只检查user.role,而是类似于user.roles中的
role\u对象,那么我如何才能做到这一点呢?然而,我如何将提到的用户归因于变量?我不能将用户角色归于临时列表吗?第5行有一个常见的Python gotcha(必须在逻辑运算符的两侧都有完整的说明),至少有人会告诉我如何将所提到的用户分配给变量?我希望每个人都能理解!
#Warning
@bot.command(name="Warn", pass_context=True)
@commands.has_role("Staff Team")
async def addrole(ctx,arg):
user = arg
if user.role.name != "Warning 1" or "Warning 2" or "Warning 3":
role = get(user.server.roles, name="Warning 1")
await bot.add_roles(user, role)
elif user.role.name == "Warning 1":
role = get(user.server.roles, name="Warning 2")
role_last = get(user.server.roles, name="Warning 1")
await bot.add_roles(user, role)
await bot.remove_roles(user,role_last)
elif user.role.name == "Warning 2":
role = get(user.server.roles, name="Warning 3")
role_last = get(user.server.roles, name="Warning 2")
await bot.add_roles(user, role)
await bot.remove_roles(user,role_last)
^ ^
User Mention Optional