MCPcopy
hub / github.com/wechaty/python-wechaty / ready

Method ready

src/wechaty/user/room.py:323–364  ·  view source on GitHub ↗

Please not to use `ready()` at the user land. Args: force_sync: force sync the room data from puppet load_members: load members of the room Examples: >>> await room.ready() Returns: None

(self, force_sync: bool = False, load_members: bool = False)

Source from the content-addressed store, hash-verified

321 return 'Room <%s - %s>' % (self.room_id, self.payload.topic)
322
323 async def ready(self, force_sync: bool = False, load_members: bool = False) -> None:
324 """
325 Please not to use `ready()` at the user land.
326 Args:
327 force_sync: force sync the room data from puppet
328 load_members: load members of the room
329 Examples:
330 >>> await room.ready()
331 Returns:
332 None
333 """
334 if self.is_ready():
335 return
336
337 if force_sync:
338 self.payload = None
339
340 # TODO -> *_dirty method is not implemented in puppet
341 # await self.puppet.room_payload_dirty(self.room_id)
342 # await self.puppet.room_member_payload_dirty(self.room_id)
343
344 self.payload = await self.puppet.room_payload(self.room_id)
345
346 if self.payload is None:
347 raise WechatyPayloadError('Room Payload can"t be ready')
348
349 if not load_members:
350 return
351
352 member_ids = await self.puppet.room_members(self.room_id)
353
354 contacts = [
355 self.wechaty.Contact.load(member_id) for member_id in member_ids]
356
357 for contact in contacts:
358 try:
359 await contact.ready()
360 # pylint:disable=W0703
361 except Exception as exception:
362 log.error(
363 'Room ready() member.ready() rejection: %s', exception
364 )
365
366 async def say(self,
367 some_thing: Union[str, Contact,

Callers 15

addMethod · 0.95
deleteMethod · 0.95
topicMethod · 0.95
announceMethod · 0.95
hasMethod · 0.95
ownerMethod · 0.95
friendship_listenerMethod · 0.45
login_listenerMethod · 0.45
logout_listenerMethod · 0.45
message_listenerMethod · 0.45
room_join_listenerMethod · 0.45
room_leave_listenerMethod · 0.45

Calls 5

WechatyPayloadErrorClass · 0.90
is_readyMethod · 0.80
room_payloadMethod · 0.80
room_membersMethod · 0.80
loadMethod · 0.45

Tested by 2

test_room_ownerFunction · 0.36
test_finderMethod · 0.36