我做了一个角色删除和角色删除命令,以了解发生了什么。工作正常,但漫游器没有响应,也没有删除/删除角色。在处理其他命令时,我可能已经搞砸了,因为其他所有工作都很好,但是当我搜索在线解决方案时。所有结果与我的代码相同。不知道发生了什么。
角色删除命令:
@commands.command()
async def roledelete(self, ctx, *, role: discord.Role):
await role.delete()
await ctx.send(f'"{role}" got yeeted')
角色删除命令:
@commands.command()
async def roleremove(self, ctx, roles, member: discord.Member=None):
if member == None:
member = ctx.message.author
guild = ctx.guild
role = discord.utils.get(guild.roles, name=f"{roles}")
await member.remove_roles(role)
await ctx.send(f"{roles} role has been removed")
答案 0 :(得分:0)
对于roleremove,如果member == None,则正在运行代码以从成员中删除角色。如果指定了成员,则没有代码可将角色从用户中删除。这应该可以解决
@commands.command()
async def roleremove(self, ctx, roles, member: discord.Member=None):
if member == None:
pass
else:
member = ctx.message.author
guild = ctx.guild
role = discord.utils.get(guild.roles, name=f"{roles}")
await member.remove_roles(role)
await ctx.send(f"{roles} role has been removed")
roledelete中没有问题,因此该问题必须在代码的其他地方。
答案 1 :(得分:0)
该问题仅用于删除而不是删除命令。无论如何,所以我删除了一个变量,并替换了我的remove命令上的一些代码,它开始工作了。我花了整整一天的时间尝试找出解决方案,解决方案就像这个大声笑一样简单。这是任何人需要的代码:
@commands.command()
async def roleremove(self, ctx, roles, member: discord.Member=None):
role = discord.utils.get(ctx.guild.roles, name=f"{roles}")
await member.remove_roles(role)
await ctx.send(f"{roles} role has been removed")
if member == None:
await ctx.send("Ok I'll remove roles but from who tho??"