Argent1028 Posted April 24, 2023 Report Posted April 24, 2023 Hi, both the `client.getPersonas` method and `client.on('user')` event sometimes returns incorrect info, like online_state and rich_presence. Would it be better to replace this method with FriendsList.GetFriendsList#1 and listen for user updates in the same way as in Steam chat ? Quote
Dr. McKay Posted April 24, 2023 Report Posted April 24, 2023 The messages behind getPersonas and the user event are how Steam chat listens for user updates. Make sure your persona state is set to online. Quote
Argent1028 Posted April 25, 2023 Author Report Posted April 25, 2023 Account persona state is online. The issue happens even on initial getPersonas right after logon. Steam sends info that a user has persona_state 4 (Snooze), but in steam chat the user is Away or Offline. Are you sure the getPeronas method is identical to the Steam chat method? As I can see getPersonas trigger ClientRequestFriendData event, when steam chat trigger FriendsList.GetFriendsList#1 event. Quote
Dr. McKay Posted April 25, 2023 Report Posted April 25, 2023 FriendsList.GetFriendsList#1 only retrieves your friends list, as in the list of SteamIDs that you're friends with. It doesn't include any persona or profile data. Quote
Argent1028 Posted April 30, 2023 Author Report Posted April 30, 2023 Hi, I noticed that the issue with incorrect information occurs when the bot is running for a long time. I tried calling the getPersonas method on a specific user, it returns null all the time for all properties except the username. After logging in again, this method returns full information for the user. By the way, the problem sometimes occurs with specific users, most users still update correctly with full information. I mean 90% of users get updates properly and 10% of users return all properties as null until I restart script and full relog an account. Do you know why this is happening and how can I fix it? Quote
Dr. McKay Posted May 1, 2023 Report Posted May 1, 2023 Maybe try calling setPersona(EPersonaState.Online) periodically. Maybe the backend partially forgets that you're online. Quote
Argent1028 Posted May 1, 2023 Author Report Posted May 1, 2023 Hi, I have updates about the issue. I opened steam chat, there is a user with online state In-game, I called getPersonas method from my script for the user, it returned all properties as null, and in steam chat this user also goes offline. When I called client.relog() method, it updates the user information in both the script and the chat. Calling setPersona method has no effect. Do you have any idea how to fix this? Maybe the problem with the auto reconnect? Quote
Dr. McKay Posted May 1, 2023 Report Posted May 1, 2023 Probably just Steam being dumb as usual. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.