[英]In discord.py how do I check if a member is on the server?
我正在嘗試讓我的機器人檢查某個成員是否在服務器上。 我問這個只是因為我試過這個答案,它總是返回無,無論如何。
到目前為止,這是我的代碼:
@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
object 傳遞給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')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.