Tanjim Reza
Tanjim Reza

Reputation: 11

Get User Activity from User ID - Discord.py

I want to a user's current activity (Playing Game, Online, Offline) from the user ID. I have all intents enabled. Here's my code which doesn't work:

member1 = bot.get_user(5242612345674376)
print(member1.activity)

Output:

Initating BOT
'Bot Connected!'
Ignoring exception in on_ready
Traceback (most recent call last):
  File "C:\Users\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\client.py", line 343, in _run_event
    await coro(*args, **kwargs)
  File "d:\Projects\newtest.py", line 33, in on_ready
    print(member1.activity)
AttributeError: 'User' object has no attribute 'activity'

Any kind of help is appreciated

Upvotes: 0

Views: 1499

Answers (2)

Tanjim Reza
Tanjim Reza

Reputation: 11

I have figured it out. Here is the code

#Using it on on_message() or you can use GuildID or just guilds    
guild = bot.get_guild(message.guild.id)
#Member's UserID here  
member1 = guild.get_member(0123456789) 
print(member1.activities)

Upvotes: 0

Delta
Delta

Reputation: 370

you can't get a user activity with discord.User. so use discord.Member:

user = bot.get_user(5242612345674376) # get user

mutual_guild = user.mutual_guilds[0]  # get a mutual server

member = discord.utils.get(mutual_guild.members(), id=user.id) 
# get user as a member with first mutual guild and id number

print(member.activity)

Upvotes: 1

Related Questions