Source code for osmium_chat.user.activity
from enum import IntEnum
from osmium_protos import PB_UserStatusActivity
__all__: tuple[str, ...] = (
"UserActivityType",
"UserStatusActivity",
)
[docs]
class UserActivityType(IntEnum):
"""The kind of activity a user is engaged in."""
GAME = 0
STREAMING = 1
LISTENING = 2
WATCHING = 3
[docs]
class UserStatusActivity:
"""A single activity shown in a user's status (e.g. a game being played)."""
__slots__: tuple[str, ...] = (
"title",
"type",
"start_time",
"end_time",
"state",
)
def __init__(self, activity: PB_UserStatusActivity) -> None:
"""Build an activity from a protobuf payload.
:param activity: The raw ``PB_UserStatusActivity`` to read fields from.
"""
self.title: str = activity.title
self.type: UserActivityType = UserActivityType(activity.type)
self.start_time: int = activity.start_time
self.end_time: int | None = activity.end_time
self.state: str | None = activity.state