如何仅在名为discord.py的事件的服务器上执行事件?

时间:2020-05-06 11:57:45

标签: discord.py discord.py-rewrite

我在2台服务器上安装了我的漫游器,一旦我想从1台服务器计算所有成员,他就从两台服务器进行计数。让服务器1有2个成员,服务器2有3个成员,结果是5而不是2(如果我想查看服务器1上有多少个成员)

Array (
        [872] => 2
        [873] => 2
    )

2 个答案:

答案 0 :(得分:0)

我假设您是通过bot.users获得成员总数, 或bot.guilds列表中每个公会的所有成员的总和。当然,这将给您机器人可以看到的成员总数。相反,您正在寻找的是:

  1. 选择一个公会对象,比方说ctx.guild(使用该命令的公会)

  2. 使用其member_count属性,该属性将是该行会中的成员总数。

您将剩下 ctx.guild.member_count 行,如果您所在的行会拥有三个成员,则为3。

答案 1 :(得分:0)

由于您处于on_message事件中,因此可以使用message.guild

@client.event
async def on_message(message):
    if message.content.startswith('!count'):
        pom = len(message.guild.members)
        await message.channel.send("Number of people on server: " + str(pom))