def get_network_to_broadcast_rooms( api: GMatrixHttpApi) -> Dict[str, List[RoomInfo]]: room_alias_fragments = [ DISCOVERY_DEFAULT_ROOM, PATH_FINDING_BROADCASTING_ROOM, MONITORING_BROADCASTING_ROOM, ] server = urlparse(api.base_url).netloc network_to_broadcast: Dict[str, List[RoomInfo]] = dict() for network in Networks: broadcast_room_infos: List[RoomInfo] = list() network_to_broadcast[str(network.value)] = broadcast_room_infos for room_alias_fragment in room_alias_fragments: broadcast_room_alias = make_room_alias(ChainID(network.value), room_alias_fragment) local_room_alias = f"#{broadcast_room_alias}:{server}" try: room_id = api.get_room_id(local_room_alias) broadcast_room_infos.append( RoomInfo(room_id, broadcast_room_alias, server)) except MatrixError as ex: click.secho( f"Could not find room {broadcast_room_alias} with error {ex}" ) return network_to_broadcast
def get_discovery_room(api: GMatrixHttpApi, network_value: int) -> Optional[RoomInfo]: server = urlparse(api.base_url).netloc discovery_room_alias = make_room_alias(ChainID(network_value), DISCOVERY_DEFAULT_ROOM) local_room_alias = f"#{discovery_room_alias}:{server}" try: room_id = api.get_room_id(local_room_alias) return RoomInfo(room_id, discovery_room_alias, server) except MatrixError as ex: click.secho( f"Could not find room {discovery_room_alias} with error {ex}") return None