簡體   English   中英

discord.py如何查看服務器上是否有會員?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM