Skip to content
This repository was archived by the owner on Dec 20, 2021. It is now read-only.

Commit 38334ea

Browse files
committed
_update_friend utility func
1 parent 82461a9 commit 38334ea

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

vrcpy/wss.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from vrcpy import Client, AClient, objects, aobjects
22
from vrcpy.errors import WebSocketError, WebSocketOpenedError, IntegretyError
3+
from vrcpy.types import State
34
import threading
45
import websocket
56
import asyncio
@@ -83,6 +84,38 @@ def disconnect(self):
8384
self.reconnect = False
8485
self.ws.close()
8586

87+
# Utility
88+
89+
def _update_friend(self, newUser, id):
90+
# Updates self.me friends lists
91+
# Returns old user
92+
93+
oldUser = None
94+
95+
for user in self.me.onlineFriends:
96+
if user.id == id:
97+
oldUser = user
98+
print("Updating %s" % user.displayName)
99+
self.me.onlineFriends.remove(user)
100+
break
101+
102+
if oldUser is None:
103+
for user in self.me.offlineFriends:
104+
if user.id == id:
105+
oldUser = user
106+
print("Updating %s" % user.displayName)
107+
self.me.offlineFriends.remove(user)
108+
break
109+
110+
if newUser is not None:
111+
if newUser.state is State.Offline:
112+
self.me.offlineFriends.append(newUser)
113+
else:
114+
self.me.onlineFriends.append(newUser)
115+
116+
self.me.friends = self.me.offlineFriends + self.me.onlineFriends
117+
return oldUser
118+
86119

87120
class WSSClient(Client, _WSSClient):
88121
# User WS overwrites

0 commit comments

Comments
 (0)