def METHOD_NAME(
    self,
    channel_ids: List[int],
    limit: Optional[int] = None,
    oldest_first: bool = True,
) -> List[Document]:
    """Load data from the input directory.
    Args:
        channel_ids (List[int]): List of channel ids to read.
        limit (Optional[int]): Maximum number of messages to read.
        oldest_first (bool): Whether to read oldest messages first.
            Defaults to `True`.
    Returns:
        List[Document]: List of documents.
    """
    results: List[Document] = []
    for channel_id in channel_ids:
        if not isinstance(channel_id, int):
            raise ValueError(
                f"Channel id {channel_id} must be an integer, "
                f"not {type(channel_id)}."
            )
        channel_content = self._read_channel(
            channel_id, limit=limit, oldest_first=oldest_first
        )
        results.append(
            Document(text=channel_content, metadata={"channel": channel_id})
        )
    return results