当前位置: 首页 > 知识库问答 >
问题:

如何在member_count中区分机器人和成员?

令狐钧
2023-03-14

在显示服务器成员计数的命令期间,我想将机器人程序的数量与人类成员的数量分开,并分别显示。我可以输出服务器中的成员总数,但我不确定如何让机器人区分机器人用户和人类用户。

if message.content.startswith('<count'):
        channel = message.channel
        members = message.guild.member_count
        msg = discord.Embed(title="Amount of members in this Discord:", description=members, color=0x0000ff)
        await channel.send(embed=msg)

如何将bot用户从计数中分离出来并分别显示该数字?

共有1个答案

公良浩邈
2023-03-14

在不协调的文档中没有找到任何允许获取成员的特定内容
因此,我决定取而代之的是获取服务器中的整个成员列表,并通过机器人程序对列表进行过滤。

if message.content.startswith('<count'):    
        membersInServer = message.guild.members
        # Filter to the list, returns a list of bot-members
        botsInServer = list(filter(filterOnlyBots, membersInServer))

        botsInServerCount = len(botsInServer)
        # (Total Member count - bot count) = Total user count
        usersInServerCount = message.guild.member_count - botsInServerCount

        # Whatever you want to do with the count here

# Put this function somewhere...
# Filter the member list to only bots
def filterOnlyBots(member):
    return member.bot

随着服务器越来越大(成员越来越多),速度/性能可能是一个不利因素,希望有人发布比我更好的解决方案

 类似资料:
  • 群主/管理员在企业群中,点击机器人图标打开机器人面板,进入添加机器人列表。1个群最多只能添加10个机器人。 详细请参阅:在客户端使用机器人 机器人添加入口:

  • 我一直试图在Android设备中添加一个机器人到我的电报组中,但我无法做到这一点。我尝试了@bot_name,/bot_name,但都不起作用。 是否可以添加一个bot到组中,或者我应该使用Telegram API(而不是bot API)创建一个新的bot,以便我可以将联系号码添加到组中?

  • 我们的实验室与一家网络公司合作,开发了保护网页不被网络爬虫抓取的技术。测试网站http://119.254.209.77/。我不能在左边的页面上得到网址,比如“检查”。当我点击链接时,它会创建一个网址。使用Python Selenium Firefox,我模拟了点击操作,但是我得到了一个空白页面,而不是真实的数据。如果我只是自己点击链接,它会返回真实的数据。所以我想知道如何服务器可以识别我是一个网

  • 有了这个,我的意思是像角色机器人一的反应这样的聊天:当你执行命令

  • 我对用JavaScript编码非常陌生,我正在尝试为我计划在不和谐服务器中的事件创建一个非常简单的机器人。 基本上,如果所提到的成员在数组中没有角色集,那么它应该做的就是将角色分配给所提到的成员(仅第一个成员)。 虽然代码本身不会抛出任何错误(机器人登录并打印就绪状态),但每当我试图召唤机器人时,它都不会做任何事情。我认为我的技能不够好,不能自己解决这个问题,所以任何帮助都将受到高度赞赏!谢谢!

  • 问题内容: 使用该方法时,需要将哪种代码传递给JavaFX Robot ? 例如,下面的示例输入,而不是,因此我想某处有一个映射。 注意:这是JavaFX机器人,而不是AWT机器人。 问题答案: 代码在javafx.scene.input.KeyCode中定义为常量。 使用玻璃机器人,您可以使用不推荐使用的方法: 您也可以使用FXRobot,它以KeyCodes作为参数: