serverinfo 命令的问题

时间:2021-01-23 07:11:53

标签: discord discord.py

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}>"

然而,它没有用。任何帮助,将不胜感激 enter image description here

enter image description here

1 个答案:

答案 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