discord.py - 检查多个公会ID

discord.py - check multiple guilds id

好的,所以我正在尝试制作一个仅适用于特定公会的命令。

这是代码。

如果我添加多个公会 ID,那么每个公会都可以使用此命令。

async def is_guild(ctx):
    return ctx.guild.id == someguildidhere, someguildidhere

@client.command()
@commands.check(is_guild)
async def checkispremium(ctx):
    await ctx.send("Guild owns lifetime premium.")

@checkispremium.error
async def checkispremium(ctx, error):
    if isinstance(error, commands.CheckFailure):
        await ctx.send("Guild doesn't owns premium ")

然而,当我只添加一个公会 ID 时,一切正常。只有特定公会可以使用命令,其他公会会报错

async def is_guild(ctx):
    return ctx.guild.id == someguildidhere

@client.command()
@commands.check(is_guild)
async def checkispremium(ctx):
    await ctx.send("Guild owns lifetime premium.")

@checkispremium.error
async def checkispremium(ctx, error):
    if isinstance(error, commands.CheckFailure):
        await ctx.send("Guild doesn't owns premium")

任何人都知道我怎么会有多个公会 ID,我试着查看 discordpy-rewrite 文档,但看起来什么都没有。

使用

async def is_guild(ctx):
    return ctx.guild.id in [someguildidhere, someguildidhere, ...]