Reputation: 11
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
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
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