@@ -167,9 +167,10 @@ def filter_func(room: Room) -> bool:
167167 payload = room .payload
168168 if not payload :
169169 return False
170- if query == payload .id or (query .lower () in payload .topic .lower ()): # type: ignore
170+ if query == payload .id or (query .lower () in payload .topic .lower ()): # type: ignore
171171 return True
172172 return False
173+
173174 func = filter_func
174175 elif isinstance (query , RoomQueryFilter ):
175176 def filter_func (room : Room ) -> bool :
@@ -179,9 +180,10 @@ def filter_func(room: Room) -> bool:
179180 if not payload :
180181 return False
181182
182- if query .id == payload .id or (query .topic .lower () in payload .topic .lower ()): # noqa
183+ if query .id == payload .id or (query .topic .lower () in payload .topic .lower ()): # noqa
183184 return True
184185 return False
186+
185187 func = filter_func
186188 elif isinstance (query , types .FunctionType ):
187189 func = query
@@ -230,7 +232,7 @@ async def find_all(cls,
230232 rooms : List [Room ] = [cls .load (room_id ) for room_id in room_ids ]
231233 tasks : List [Task ] = [asyncio .create_task (room .ready ()) for room in rooms ]
232234 await gather_with_concurrency (PARALLEL_TASK_NUM , tasks )
233-
235+
234236 # 2. filter the rooms
235237 if not query :
236238 return rooms
@@ -290,6 +292,15 @@ def load(cls, room_id: str) -> Room:
290292 cls ._pool [room_id ] = room
291293 return room
292294
295+ @classmethod
296+ def upload_cache (cls , room_id : str )-> None :
297+ """
298+ dynamic upload
299+ clear the room_id of _pool and upload it use load
300+ """
301+ cls ._pool [room_id ] = None
302+ cls .load (room_id )
303+
293304 def __str__ (self ) -> str :
294305 """
295306 string format for room instance
@@ -349,7 +360,7 @@ async def ready(self, force_sync: bool = False, load_members: bool = False) -> N
349360
350361 async def say (self ,
351362 some_thing : Union [str , Contact ,
352- FileBox , MiniProgram , UrlLink ],
363+ FileBox , MiniProgram , UrlLink ],
353364 mention_ids : Optional [List [str ]] = None
354365 ) -> Union [None , Message ]:
355366 """
0 commit comments