<commit_before>import typing

from curious.dataclasses.role import Role
from curious.dataclasses.status import Game, Status
from curious.dataclasses.user import User
from curious.dataclasses import guild


class Member(User):
    """
    A member is a user attached to a guild.
    """
    def __init__(self, client, **kwargs):
        super().__init__(client, **kwargs.get("user"))

        #: A dictionary of roles this user has.
        self._roles = {}

        #: The date the user joined the guild.
        # TODO: Make this a datetime.<commit_msg>Member objects now have a `user` attribute instead of inheriting User.<commit_after>import typing

from curious.dataclasses.bases import Dataclass
from curious.dataclasses.role import Role
from curious.dataclasses.status import Game, Status
from curious.dataclasses.user import User
from curious.dataclasses import guild


class Member(Dataclass):
    """
    A member is a user attached to a guild.
    """
    def __init__(self, client, **kwargs):
        super().__init__(kwargs["user"]["id"], client)

        #: The user object associated with this member.
        self.user = User(client, **kwargs.get("user"))

        #: A dictionary of roles this user has.
        self._roles = {}

        #: The date the user joined the guild.
        # TODO: Make this a datetime.
{'fraction_non_alphanumeric': 0.09699248120300752, 'fraction_numerical': 0.0, 'mean_word_length': 3.1207430340557276, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2241715', 'n_tokens_mistral': 381, 'n_tokens_neox': 355, 'n_words': 135}