n = [role.mention for role in ctx.guild.roles]
u = n[len(n) - 1]
ab = n[0]
在上面,变量 n 应该创建它在服务器中执行的角色列表,变量 u 用于获取服务器的最高位置角色,它也是如此。
变量 ab,无论如何都应该返回 @everyone
但它返回 @@everyone
有什么办法可以解决这个问题?或以某种方式将 @@everyone
替换为 @everyone
I tried the following:
ab = n[0]
if ab == f"@<@{ctx.guild.default_role.id}>":
ab = f"<@{ctx.guild.default_role.id}>"
答案 0 :(得分:1)
发生这种情况是因为角色的默认名称已经是“@everyone”,所以当您检索提及时,它会添加另一个“@”,成为@@everyone。 你可以做些什么来解决这个问题,那就是用这样的“每个人”来代替它:
n = [role.mention for role in ctx.guild.roles[1:]] # Ignore the @everyone
n.insert(0,'@everyone') # Add string @everyone at the beginning
# Here goes the rest of your code