Bot无法正确打印member_count

时间:2019-10-03 01:42:51

标签: discord.py

因此,我是Python的新手,所以我决定尝试一下,在自己的服务器上制作一个供个人使用的Discord机器人。我喜欢完全控制我的机器人将具有的功能的想法,所以我正在逐步构建该机器人。目前,我希望我的机器人在通过命令调用时显示服务器中当前的成员数量

import discord
from discord.ext import commands

@botbot.command()
async def server(ctx):
    guild = discord.Guild.member_count
    await ctx.send(guild)

我知道我很可能在这里用我的代码。

机器人在聊天室中发送消息时,其格式为:

<property object at 0x046036C0>

虽然我想说类似“此服务器具有{some number}个成员。”

任何建议都非常感谢!

谢谢您的时间。

编辑:botbot是我的bot的名称,这很清楚。

2 个答案:

答案 0 :(得分:0)

discord.Guild是课程。您想从调用上下文中获取命令所在的公会:

@botbot.command()
async def server(ctx):
    await ctx.send(f"This server has {ctx.guild.member_count} members.")

答案 1 :(得分:0)

在这种情况下,member_count方法并不是您真正想要的,公会对象有一个称为成员的列表,因此就像获取该列表的长度一样简单:

@botbot.command()
async def server(ctx):
guild = len(discord.guild.members)
await ctx.send(guild)

编辑:确实,您使用“公会”而不是“公会”有错字