discord.py 如何检查服务器上是否有成员?
In discord.py how do I check if a member is on the server?
我正在尝试让我的机器人检查服务器上是否有成员。
我问这个只是因为我试过 this answer 并且它总是 returns None,无论如何。
到目前为止,这是我的代码:
@bot.command()
async def membercheck(ctx, member:discord.Member):
guild = bot.get_guild(my_server_id)
if guild.get_member(member) is not None:
await ctx.send("he on server")
else:
await ctx.send("he not on server")
理想情况下,我的代码应该可以工作,以便您输入用户 ID,并且机器人会检查用户是否在服务器上。
在此先感谢您的帮助!
它返回 None
总是因为您将 discord.Member
对象传递给 Guild.get_member
而不是 int。
@bot.command()
async def membercheck(ctx, member: discord.User):
guild = bot.get_guild(some_id)
member = guild.get_member(member.id)
if member is None:
await ctx.send('Member is not in the server')
else:
await ctx.send('Member is in the server')
此外,如果您使用 UserConverter
会更好,因为 MemberConverter
在无法获取成员
时会引发 MemberNotFound
错误
编辑
@bot.command()
async def membercheck(ctx, id: int):
guild = bot.get_guild(some_id)
member = guild.get_member(id)
if member is None:
await ctx.send('Member is not in the server')
else:
await ctx.send('Member is in the server')
我正在尝试让我的机器人检查服务器上是否有成员。 我问这个只是因为我试过 this answer 并且它总是 returns None,无论如何。
到目前为止,这是我的代码:
@bot.command()
async def membercheck(ctx, member:discord.Member):
guild = bot.get_guild(my_server_id)
if guild.get_member(member) is not None:
await ctx.send("he on server")
else:
await ctx.send("he not on server")
理想情况下,我的代码应该可以工作,以便您输入用户 ID,并且机器人会检查用户是否在服务器上。
在此先感谢您的帮助!
它返回 None
总是因为您将 discord.Member
对象传递给 Guild.get_member
而不是 int。
@bot.command()
async def membercheck(ctx, member: discord.User):
guild = bot.get_guild(some_id)
member = guild.get_member(member.id)
if member is None:
await ctx.send('Member is not in the server')
else:
await ctx.send('Member is in the server')
此外,如果您使用 UserConverter
会更好,因为 MemberConverter
在无法获取成员
MemberNotFound
错误
编辑
@bot.command()
async def membercheck(ctx, id: int):
guild = bot.get_guild(some_id)
member = guild.get_member(id)
if member is None:
await ctx.send('Member is not in the server')
else:
await ctx.send('Member is in the server')