简体   繁体   English

Discord.py:如何获取触发 on_member_update 的用户名?

[英]Discord.py: How do I get the name of the user who triggers on_member_update?

async def on_member_update(before, after):
    print(str(after.username))
    if str(after.username) == "example username" # I'm looking for something like this
        print(str(af`enter code here`ter.username))
    if str(before.status) == "online":
        if str(after.status) == "offline":
            print("offline")
    elif str(before.status) == "offline":
        if str(after.status) == "online":
            print("online")

So how can I get it to display which user is triggering this event?那么我怎样才能让它显示哪个用户正在触发这个事件呢?

before and after are member objects so you can get the member name from there easily. beforeafter是成员对象,因此您可以轻松地从那里获取成员名称。

Here's how your code should be:您的代码应该是这样的:

async def on_member_update(before, after):

    member = bot.get_guild(before.guild.id).get_member(before.id)
    print(member.name)

    if str(member.name) == "example username" 
        print(member.name)

    if str(before.status) == "online":
        if str(after.status) == "offline":
            print("offline")

    elif str(before.status) == "offline":
        if str(after.status) == "online":
            print("online")

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM