{
  "package": "darkob",
  "version": "0.18.0",
  "generated_from": "installed package source",
  "classes": {
    "Bot": {
      "summary": "The official Rubika Bot API. Token based, plain HTTP JSON.",
      "method_count": 48,
      "methods": [
        {
          "name": "ask",
          "signature": "ask(localself, chat_id: str, text: Optional[str]=None, *, filters: Optional[list]=None, timeout: float=60.0, inline_keypad: Any=None, chat_keypad: Any=None)",
          "group": "bot",
          "module": "darkob.bot.shortcuts",
          "doc": "Send a prompt and await the next matching reply in that chat.\n\nWhile the prompt is pending, the first message in the chat that\npasses *filters* is returned to you instead of being dispatched to\nhandlers, so a two-step flow needs no state flag::\n\n    name = await bot.ask(chat_id, \"Your name?\", timeout=30)\n\nRaises:\n    darkob.NoReply: when nothing arrives within ``timeout``."
        },
        {
          "name": "auto_delete_message",
          "signature": "auto_delete_message(self: 'darkob.Bot', chat_id: str, message_id: Union[str, int], time: Union[float, int])",
          "group": "bot",
          "module": "darkob.bot.auto_delete_message",
          "doc": "Automatically delete a message after a specified time.\n\nParameters:\n    chat_id (str): chat_id of the object associated with the message (e.g., user, group, channel).\n    message_id (str): The ID of the message to be deleted.\n    time (Union[float, int]): The time delay (in seconds) before deleting the message.\n\nReturns:\n    The updated information after deleting the message."
        },
        {
          "name": "ban_member",
          "signature": "ban_member(self: 'darkob.Bot', chat_id: str, sender_id: str)",
          "group": "bot",
          "module": "darkob.bot.ban_member",
          "doc": "Ban a member from a group or channel.\n\nParameters:\n    chat_id (str): chat_id of group (starts with 'g0') or channel (starts with 'c0').\n    sender_id (str): sender_id of member to ban (starts with 'u0').\n\nReturns:\n    dict: API response."
        },
        {
          "name": "close",
          "signature": "close(self: 'darkob.Bot')",
          "group": "bot",
          "module": "darkob.bot.session",
          "doc": "Async close — must be awaited inside the session's loop."
        },
        {
          "name": "delete",
          "signature": "delete(localself, event: Any)",
          "group": "bot",
          "module": "darkob.bot.shortcuts",
          "doc": "Delete the message that produced *event*."
        },
        {
          "name": "delete_message",
          "signature": "delete_message(self: 'darkob.Bot', chat_id: str, message_id: Union[int, str])",
          "group": "bot",
          "module": "darkob.bot.delete_message",
          "doc": "Provides a method to delete messages.\n\nParameters:\n    chat_id (str): chat_id of group (starts with 'g0') or channel (starts with 'c0') or user (starts with 'b0').\n    message_id (Union[str, int]): message_id of the message to be deleted.\n\nReturns:\n    dict: API response with delete message information."
        },
        {
          "name": "disconnect",
          "signature": "disconnect(self: 'darkob.Bot')",
          "group": "bot",
          "module": "darkob.bot.session",
          "doc": "Close the session synchronously, from any context:\n  - if a loop is running, schedule the close on it;\n  - if the owning loop is running in another thread, schedule there;\n  - otherwise, run a new/owner loop to completion."
        },
        {
          "name": "download_file",
          "signature": "download_file(self: 'darkob.Bot', file_id: str, name: str=None, path: str=None, save_as: bool=False, as_base64: bool=False, callback=None, resume: bool=True)",
          "group": "bot",
          "module": "darkob.bot.download_file",
          "doc": "Downloads the file associated with the specified file ID.\n\nParameters:\n    file_id (str): The identifier of the file to download.\n    name (str, optional): Custom filename (without extension).\n    path (str, optional): Custom save path (absolute).\n    save_as (bool, optional): If True, save to disk. If False, return bytes only. Defaults to False.\n    as_base64 (bool, optional): If True, return as base64 encoded string. Only works when save_as=False. Defaults to False.\n    callback (callable, optional): Progress callback function(downloaded, total, percent). Defaults to None.\n    resume (bool, optional): When saving to disk, continue a partial\n        file using a byte range instead of starting over. Defaults to True.\n\nReturns:\n    If save_as = True: dict with status and file_path.\n    If save_as = False and as_base64 = False: bytes of the file.\n    If save_as = False and as_base64 = True: base64 encoded string."
        },
        {
          "name": "edit",
          "signature": "edit(localself, event: Any, text: str, **kwargs: Any)",
          "group": "bot",
          "module": "darkob.bot.shortcuts",
          "doc": "Edit the message that produced *event* to say *text*."
        },
        {
          "name": "edit_chat_keypad",
          "signature": "edit_chat_keypad(self: 'darkob.Bot', chat_id: str, chat_keypad: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]], resize_keyboard: bool=True, one_time_keyboard: bool=False)",
          "group": "bot",
          "module": "darkob.bot.edit_chat_keypad",
          "doc": "Edits or adds a new chat keypad (custom keyboard) to the chat.\n\nParameters:\n    chat_id (str): chat_id of the group (starts with 'g0') or user (starts with 'b0').\n    chat_keypad (Dict[str, Any] or List): The keyboard layout to set.\n        Supports three formats:\n\n        1. Simple list of strings:\n            [\n                [\"Button 1\", \"Button 2\"],\n                [\"Button 3\"]\n            ]\n            Each inner list is a row. Buttons are strings.\n            The type is set to \"Simple\" and IDs are assigned automatically\n            starting from 100.\n\n        2. List of tuples: (button_text, button_id, button_type)\n            [\n                [(\"راهنما\", \"help\")],\n                [(\"تلاش مجدد\", \"retry\"), (\"بستن\", \"close\")],\n                [(\"پنل مدیریت\", \"panel\", \"Simple\"), (\"تنظیمات\", \"settings\", \"Simple\")],\n                [(\"درباره\", None), (\"پشتیبانی\", None)],\n                [(\"✅ تایید\", \"confirm\"), (\"❌ لغو\", \"cancel\"), (\"🔄 بازگشت\", \"back\")],\n            ]\n            Tuple structure: (text, id, type)\n                - text: button text\n                - id: button ID (if None, auto-assigned starting from 100)\n                - type: button type (if omitted, defaults to \"Simple\")\n            Note: comma after text is required for single-item tuples.\n\n        3. Full dictionary (raw API format):\n            {\n                \"rows\": [\n                    {\"buttons\": [{\"id\": \"1\", \"button_text\": \"Button 1\", \"type\": \"Simple\"}]},\n                    {\"buttons\": [{\"id\": \"2\", \"button_text\": \"Button 2\", \"type\": \"Simple\"}]}\n                ]\n            }\n\n    resize_keyboard (bool, optional): Requests clients to resize the keyboard vertically.\n        Defaults to True.\n    one_time_keyboard (bool, optional): Requests clients to hide the keyboard as soon as it's been used.\n        Defaults to False.\n\nReturns:\n    The API response after editing the chat keypad.\n\nRaises:\n    InvalidInput: If 'chat_id' format is invalid, or if 'chat_keypad' is empty/None."
        },
        {
          "name": "edit_inline_keypad",
          "signature": "edit_inline_keypad(self: 'darkob.Bot', chat_id: str, message_id: Union[str, int], inline_keypad: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]])",
          "group": "bot",
          "module": "darkob.bot.edit_inline_keypad",
          "doc": "Edits the inline keyboard of a specific message in a chat.\n\nParameters:\n    chat_id (str): chat_id of the chat containing the message.\n        Must be a valid GUID (c0..., g0..., b0...) or a username (@username).\n    message_id (str or int): Identifier of the message whose inline keypad should be updated.\n        If passed as a string, it must contain only digits.\n    inline_keypad (Dict[str, Any] or List): The new inline keyboard layout.\n        Supports three formats:\n\n        1. Simple list of strings:\n            [\n                [\"Button 1\", \"Button 2\"],\n                [\"Button 3\"]\n            ]\n            Each inner list is a row. Buttons are strings.\n            The type is set to \"Simple\" and IDs are assigned automatically\n            starting from 100.\n\n        2. List of tuples: (button_text, button_id, button_type)\n            [\n                [(\"راهنما\", \"help\")],\n                [(\"تلاش مجدد\", \"retry\"), (\"بستن\", \"close\")],\n                [(\"پنل مدیریت\", \"panel\", \"Simple\"), (\"تنظیمات\", \"settings\", \"Simple\")],\n                [(\"درباره\", None), (\"پشتیبانی\", None)],\n                [(\"✅ تایید\", \"confirm\"), (\"❌ لغو\", \"cancel\"), (\"🔄 بازگشت\", \"back\")],\n            ]\n            Tuple structure: (text, id, type)\n                - text: button text\n                - id: button ID (if None, auto-assigned starting from 100)\n                - type: button type (if omitted, defaults to \"Simple\")\n            Note: comma after text is required for single-item tuples.\n\n        3. Full dictionary (raw API format):\n            {\n                \"rows\": [\n                    {\"buttons\": [{\"id\": \"1\", \"button_text\": \"Button 1\", \"type\": \"Simple\"}]},\n                    {\"buttons\": [{\"id\": \"2\", \"button_text\": \"Button 2\", \"type\": \"Simple\"}]}\n                ]\n            }\n\n        Note:\n            Passing an empty list ([]) or None removes the inline keypad\n            from the message.\n\nUses the ``editMessageKeypad`` endpoint. The reference page's\ncURL sample shows ``editInlineKeypad``, but that name returns\n``INVALID_INPUT: Invalid Method`` against the live API, while\n``editMessageKeypad`` answers ``OK``. The prose heading is right\nand the sample is stale.\n\nReturns:\n    dict: API response with message information.\n\nRaises:\n    InvalidInput: If 'chat_id' format is invalid, or if 'message_id' is not\n        a digit-only string or an integer."
        },
        {
          "name": "edit_message",
          "signature": "edit_message(self: 'darkob.Bot', chat_id: str, message_id: Union[str, int], text: str, metadata: Optional[Dict[str, Any]]=None, inline_keypad: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]]=None)",
          "group": "bot",
          "module": "darkob.bot.edit_message",
          "doc": "Edits an existing message in a chat.\n\nParameters:\n    chat_id (str): chat_id of the chat.\n    message_id (Union[str, int]): The unique identifier of the message to edit.\n    text (str): The new text of the message.\n    metadata (dict, optional): Pre-formatted metadata (Bold, Italic, etc.).\n    inline_keypad (dict or list, optional): Replacement inline\n        keyboard. Accepts a Keyboard builder, a list of rows, or a\n        raw keypad dict. Pass an empty list to remove it.\n\nReturns:\n    dict: API response with message information."
        },
        {
          "name": "forward_message",
          "signature": "forward_message(self: 'darkob.Bot', from_chat_id: str, message_id: Union[str, int], to_chat_id: str, disable_notification: bool=False)",
          "group": "bot",
          "module": "darkob.bot.forward_message",
          "doc": "Provides a method to forward messages.\n\nParameters:\n    from_chat_id (str): chat_id of the source object from which messages are forwarded.\n    message_id (str): message_id of the message to be frowarded.\n    to_chat_id (str): chat_id of the destination object to which messages are forwarded.\n    disable_notification (bool): If set to True, the message will be sent silently without triggering a notification for users. Defaults to False.\n\nReturns:\n    dict: API response with message information."
        },
        {
          "name": "get_chat_info",
          "signature": "get_chat_info(self: 'darkob.Bot', chat_id: str)",
          "group": "bot",
          "module": "darkob.bot.get_chat_info",
          "doc": "Get information about a user, group, or channel.\n\nParameters:\n    chat_id (str): chat_id of group (starts with 'g0') or channel (starts with 'c0') or user (starts with 'b0').\n\nReturns:\n    dict: API response with chat information."
        },
        {
          "name": "get_chat_member",
          "signature": "get_chat_member(self: 'darkob.Bot', chat_id: str, user_id: str)",
          "group": "bot",
          "module": "darkob.bot.get_chat_member",
          "doc": "Get information about a single member of a chat.\n\nParameters:\n    chat_id (str): chat_id of group (starts with 'g0') or channel (starts with 'c0').\n    user_id (str): user_id of member to look up (starts with 'u0').\n\nReturns:\n    dict: API response."
        },
        {
          "name": "get_file",
          "signature": "get_file(self: 'darkob.Bot', file_id: str)",
          "group": "bot",
          "module": "darkob.bot.get_file",
          "doc": "Requests the file associated with the specified file ID.\n\nParameters:\n    file_id (str): The identifier of the file to retrieve. This should be a valid file ID within the system."
        },
        {
          "name": "get_me",
          "signature": "get_me(self: 'darkob.Bot', refresh: bool=False)",
          "group": "bot",
          "module": "darkob.bot.get_me",
          "doc": "Get information about the authenticated bot.\n\nThe result is cached for the lifetime of the bot, because a bot's\nidentity does not change. Pass ``refresh=True`` to force a new\nrequest.\n\nParameters:\n    refresh (bool): Ignore the cache and re-fetch. Defaults to False.\n\nReturns:\n    Information about the authenticated bot."
        },
        {
          "name": "get_token_string",
          "signature": "get_token_string(self: 'darkob.Bot', password: Optional[str]=None)",
          "group": "bot",
          "module": "darkob.bot.get_token_string",
          "doc": "Export current bot token as an encrypted TokenString.\n\nParameters:\n    password (Optional[str]): Optional password for encryption.\n        If provided, TokenString can only be opened with this password.\n\nReturns:\n    str: Encrypted TokenString that can be used later with\n         `Bot(token_string=..., password=...)`."
        },
        {
          "name": "get_updates",
          "signature": "get_updates(self: 'darkob.Bot', offset_id: str=None, limit: int=100)",
          "group": "bot",
          "module": "darkob.bot.get_updates",
          "doc": "Fetches new updates (like messages) from the API.\n\nParameters:\n    offset_id (str, optional): Identifier to fetch subsequent updates. Defaults to None.\n    limit (int, optional): Maximum number of updates to retrieve. Defaults to 100.\n\nReturns:\n    dict: The API response including updates and the next_offset_id."
        },
        {
          "name": "include_router",
          "signature": "include_router(self, router)",
          "group": "core",
          "module": "darkob.TheBot",
          "doc": "Register every handler declared on *router*, recursively.\n\nLets a bot be split into feature modules::\n\n    bot.include_router(admin_router)\n\nReturns the router so calls can be chained."
        },
        {
          "name": "iter_updates",
          "signature": "iter_updates(localself, limit: int=100, max_pages: Optional[int]=None)",
          "group": "bot",
          "module": "darkob.bot.shortcuts",
          "doc": "Yield updates one at a time, handling the offset cursor.\n\nArgs:\n    limit: Updates requested per round-trip.\n    max_pages: Stop after this many round-trips (``None`` = forever).\n\nYields:\n    Individual update payloads, in server order."
        },
        {
          "name": "member_is_admin",
          "signature": "member_is_admin(self: 'darkob.Bot', chat_id: str, user_id: str)",
          "group": "bot",
          "module": "darkob.bot.member_is_admin",
          "doc": "Check whether a member is an admin or owner of the given chat.\n\nParameters:\n    chat_id (str): chat_id of group (g0...) or channel (c0...).\n    user_id (str): user_id of the member (u0...).\n\nReturns:\n    bool: True if status is 'Admin' or 'Creator', else False."
        },
        {
          "name": "member_is_joined",
          "signature": "member_is_joined(self: 'darkob.Bot', chat_id: str, user_id: str)",
          "group": "bot",
          "module": "darkob.bot.member_is_joined",
          "doc": "Check whether a user is a member of the given chat.\n\nParameters:\n    chat_id (str): chat_id of group (g0...) or channel (c0...).\n    user_id (str): user_id of the user (u0...).\n\nReturns:\n    bool: True if the user is a member, else False."
        },
        {
          "name": "member_is_owner",
          "signature": "member_is_owner(self: 'darkob.Bot', chat_id: str, user_id: str)",
          "group": "bot",
          "module": "darkob.bot.member_is_owner",
          "doc": "Check whether a member is the owner of the given chat.\n\nParameters:\n    chat_id (str): chat_id of group (g0...) or channel (c0...).\n    user_id (str): user_id of the member (u0...).\n\nReturns:\n    bool: True if status is 'Creator', else False."
        },
        {
          "name": "register_all_endpoints",
          "signature": "register_all_endpoints(self: 'darkob.Bot', base_url: str, endpoints: Optional[List[str]]=None)",
          "group": "bot",
          "module": "darkob.bot.register_all_endpoints",
          "doc": "Register all webhook endpoints at once.\n\nThis is a convenience method that calls ``update_bot_endpoints``\nfor every event type.  Useful during initial setup.\n\nParameters:\n    base_url (str): Base URL of your server (e.g. `\"https://myserver.com\"`).\n        The path `/wk` will be appended automatically.\n    endpoints : list of str, optional\n        Which endpoints to register.  If `None`, registers all five.\n\nReturns:\n    list_of_dict: Responses for each registration call."
        },
        {
          "name": "remove_chat_keypad",
          "signature": "remove_chat_keypad(self: 'darkob.Bot', chat_id: str)",
          "group": "bot",
          "module": "darkob.bot.remove_chat_keypad",
          "doc": "Removes the custom reply keyboard from the specified chat.\n\nParameters:\n    chat_id (str): chat_id of the chat where the keypad should be removed.\n\nReturns:\n    The API response after removing the chat keypad."
        },
        {
          "name": "remove_commands",
          "signature": "remove_commands(self: 'darkob.Bot')",
          "group": "bot",
          "module": "darkob.bot.remove_commands",
          "doc": "Remove every custom command previously registered for this bot.\n\nThe Bot API exposes this as ``setCommands`` with an empty\n``bot_commands`` list, which is what this calls.\n\nReturns:\n    The API response."
        },
        {
          "name": "remove_member",
          "signature": "remove_member(self: 'darkob.Bot', chat_id: str, sender_id: str)",
          "group": "bot",
          "module": "darkob.bot.remove_member",
          "doc": "Remove (Ban) a member from a group or channel.\n\nParameters:\n    chat_id (str): chat_id of group (starts with 'g0') or channel (starts with 'c0').\n    sender_id (str): sender_id of member to ban.\n\nReturns:\n    The API response."
        },
        {
          "name": "reply",
          "signature": "reply(localself, event: Any, text: str, **kwargs: Any)",
          "group": "bot",
          "module": "darkob.bot.shortcuts",
          "doc": "Reply to the message that produced *event*.\n\nEquivalent to ``send_message`` with ``chat_id`` and\n``reply_to_message_id`` filled in from the event."
        },
        {
          "name": "request",
          "signature": "request(self: 'darkob.Bot', method: str, endpoint: str, **kwargs)",
          "group": "bot",
          "module": "darkob.bot.request",
          "doc": "Send an HTTP request to the Bot API with automatic retry and error mapping.\n\nParameters:\n    method (str): HTTP method, e.g. \"POST\" or \"GET\" (case-insensitive).\n    endpoint (str): API method name appended to `base_url`, e.g. \"getMe\".\n    **kwargs: Extra arguments passed to `aiohttp.ClientSession.request`, such as `json=` or `data=`.\n\nReturns:\n    Response: The parsed API response."
        },
        {
          "name": "request_send_file",
          "signature": "request_send_file(self: 'darkob.Bot', file_type: Literal['File', 'Image', 'Voice', 'Video', 'Music', 'Gif']='File')",
          "group": "bot",
          "module": "darkob.bot.request_send_file",
          "doc": "Request an upload URL for sending a file to the server.\n\nParameters:\n    file_type (str): Type of file to upload.\n        Options: 'File', 'Image', 'Voice', 'Video', 'Music', 'Gif'.\n        Defaults to 'File'.\n\nReturns:\n    str: Upload URL for the file.\n\nExamples:\n    # Get upload URL for an image\n    upload_url = await bot.request_send_file(file_type=\"Image\")\n\n    # Then upload file using that URL\n    file_id = await bot.upload_file(upload_url, \"photo.jpg\")"
        },
        {
          "name": "run",
          "signature": "run(self: 'darkob.Bot', poll_interval: float=0.005, webhook_url: Optional[str]=None, webhook_path: str='/wk', host: str='0.0.0.0', port: int=8080)",
          "group": "bot",
          "module": "darkob.bot.run",
          "doc": "Start the bot.\n\nParameters:\n    poll_interval (float): Seconds between polls in polling mode. Defaults to 0.005 seconds.\n    webhook_url (str, optional): Public URL for webhook mode. Defaults to None.\n    webhook_path (str): Path for the webhook receiver. Defaults to \"/wk\".\n    host (str): Bind address for the webhook server. Defaults to \"0.0.0.0\".\n    port (int): Bind port for the webhook server. Defaults to 8080."
        },
        {
          "name": "send_contact",
          "signature": "send_contact(self: 'darkob.Bot', chat_id: str, phone_number: str, first_name: str, last_name: str='', chat_keypad: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]]=None, inline_keypad: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]]=None, reply_to_message_id: Optional[Union[int, str]]=None, disable_notification: bool=False, resize_keyboard: bool=True, one_time_keyboard: bool=False)",
          "group": "bot",
          "module": "darkob.bot.send_contact",
          "doc": "Sends a contact message to a chat.\n\nParameters:\n    chat_id (str): chat_id for the target chat.\n    phone_number (str): Contact's phone number.\n    first_name (str): Contact's first name.\n    last_name (str, optional): Contact's last name. Defaults to ' '.\n    chat_keypad (Dict[str, Any], optional): Custom keyboard attached to the message. Defaults to None.\n    inline_keypad (Dict[str, Any], optional): Custom inline keyboard attached to the message. Defaults to None.\n    reply_to_message_id (Union[int, str], optional): If the message is a reply, the original message's ID. Defaults to None.\n    disable_notification (bool, optional): Sends the message silently. Users will not receive a notification. Defaults to False.\n    resize_keyboard (bool, optional): Requests clients to resize the keyboard vertically. Defaults to True.\n    one_time_keyboard (bool, optional): Requests clients to hide the keyboard as soon as it's been used. Defaults to False.\n\nReturns:\n    dict: API response with message information."
        },
        {
          "name": "send_file",
          "signature": "send_file(self: 'darkob.Bot', chat_id: str, file: Optional[Union[str, bytes]]=None, file_type: Literal['File', 'Image', 'Voice', 'Video', 'Music', 'Gif']='File', text: Optional[str]=None, file_id: Optional[str]=None, base64: Optional[str]=None, file_name: Optional[str]=None, metadata: Optional[Dict[str, Any]]=None, chat_keypad: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]]=None, inline_keypad: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]]=None, reply_to_message_id: Optional[Union[int, str]]=None, disable_notification: bool=False, resize_keyboard: bool=True, one_time_keyboard: bool=False)",
          "group": "bot",
          "module": "darkob.bot.send_file",
          "doc": "Sends a file to a chat.\n\nParameters:\n    chat_id (str): Target chat ID.\n    file (str | bytes, optional): Path to file, URL, or raw bytes.\n    file_type (str): Type of file ('File', 'Image', 'Voice', 'Video', 'Music', 'Gif').\n    text (str, optional): Caption text.\n    file_id (str, optional): Already uploaded file_id (skips upload).\n    base64 (str, optional): Base64 encoded file data.\n    file_name (str, optional): Custom file name. If not provided, auto-generated.\n    metadata (dict, optional): Pre-formatted metadata (Bold, Italic, etc.).\n    chat_keypad (Dict, optional): Custom keyboard attached to the message.\n    inline_keypad (Dict, optional): Custom inline keyboard attached to the message.\n    reply_to_message_id (Union[int, str], optional): Message ID to reply to.\n    disable_notification (bool): Disable notification.\n    resize_keyboard (bool): Resize keyboard vertically.\n    one_time_keyboard (bool): Hide keyboard after use.\n\nReturns:\n    dict: API response with message information."
        },
        {
          "name": "send_gif",
          "signature": "send_gif(self: 'darkob.Bot', chat_id: str, gif: Optional[Union[str, bytes]]=None, text: Optional[str]=None, file_id: Optional[str]=None, base64: Optional[str]=None, file_name: Optional[str]=None, chat_keypad: Dict[str, Any]=None, inline_keypad: Dict[str, Any]=None, reply_to_message_id: Optional[Union[int, str]]=None, disable_notification: bool=False, resize_keyboard: bool=True, one_time_keyboard: bool=False)",
          "group": "bot",
          "module": "darkob.bot.send_gif",
          "doc": "Sends a gif to a chat.\n\nParameters:\n    chat_id (str): Target chat ID.\n    gif (str | bytes, optional): Path to the gif file OR raw bytes.\n    text (str, optional): Caption text.\n    file_id (str, optional): Already uploaded file_id.\n    base64 (str, optional): Base64 encoded gif data.\n    file_name (str, optional): Custom file name. If not provided, auto-generated.\n    chat_keypad (Dict, optional): Custom keyboard attached to the message.\n    inline_keypad (Dict, optional): Custom inline keyboard attached to the message.\n    reply_to_message_id (Union[int, str], optional): Message ID to reply to.\n    disable_notification (bool): Disable notification.\n    resize_keyboard (bool): Resize keyboard vertically.\n    one_time_keyboard (bool): Hide keyboard after use.\n\nReturns:\n    dict: API response with message information."
        },
        {
          "name": "send_image",
          "signature": "send_image(self: 'darkob.Bot', chat_id: str, image: Optional[Union[str, bytes]]=None, text: Optional[str]=None, file_id: Optional[str]=None, base64: Optional[str]=None, file_name: Optional[str]=None, chat_keypad: Dict[str, Any]=None, inline_keypad: Dict[str, Any]=None, reply_to_message_id: Optional[Union[int, str]]=None, disable_notification: bool=False, resize_keyboard: bool=True, one_time_keyboard: bool=False)",
          "group": "bot",
          "module": "darkob.bot.send_image",
          "doc": "Sends an image to a chat.\n\nParameters:\n    chat_id (str): Target chat ID.\n    image (str | bytes, optional): Path to the image file OR raw bytes.\n    text (str, optional): Caption text.\n    file_id (str, optional): Already uploaded file_id.\n    base64 (str, optional): Base64 encoded image data.\n    file_name (str, optional): Custom file name. If not provided, auto-generated.\n    chat_keypad (Dict, optional): Custom keyboard attached to the message.\n    inline_keypad (Dict, optional): Custom inline keyboard attached to the message.\n    reply_to_message_id (Union[int, str], optional): Message ID to reply to.\n    disable_notification (bool): Disable notification.\n    resize_keyboard (bool): Resize keyboard vertically.\n    one_time_keyboard (bool): Hide keyboard after use.\n\nReturns:\n    dict: API response with message information."
        },
        {
          "name": "send_location",
          "signature": "send_location(self: 'darkob.Bot', chat_id: str, latitude: float, longitude: float, chat_keypad: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]]=None, inline_keypad: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]]=None, reply_to_message_id: Optional[Union[int, str]]=None, disable_notification: bool=False, resize_keyboard: bool=True, one_time_keyboard: bool=False)",
          "group": "bot",
          "module": "darkob.bot.send_location",
          "doc": "Sends a location message to a chat.\n\nParameters:\n    chat_id (str): chat_id for the target chat.\n    latitude (float): Latitude of the location.\n    longitude (float): Longitude of the location.\n    chat_keypad (Dict[str, Any], optional): Custom keyboard attached to the message. Defaults to None.\n    inline_keypad (Dict[str, Any], optional): Custom inline keyboard attached to the message. Defaults to None.\n    reply_to_message_id (Union[int, str], optional): If the message is a reply, the original message's ID. Defaults to None.\n    disable_notification (bool, optional): Sends the message silently. Users will not receive a notification. Defaults to False.\n    resize_keyboard (bool, optional): Requests clients to resize the keyboard vertically. Defaults to True.\n    one_time_keyboard (bool, optional): Requests clients to hide the keyboard as soon as it's been used. Defaults to False.\n\nReturns:\n    dict: API response with message information."
        },
        {
          "name": "send_message",
          "signature": "send_message(self: 'darkob.Bot', chat_id: str, text: str, metadata: Optional[Dict[str, Any]]=None, chat_keypad: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]]=None, inline_keypad: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]]=None, reply_to_message_id: Optional[Union[int, str]]=None, disable_notification: bool=False, resize_keyboard: bool=True, one_time_keyboard: bool=False)",
          "group": "bot",
          "module": "darkob.bot.send_message",
          "doc": "Sends a text message to a chat.\n\nParameters:\n    chat_id (str): chat_id for the target chat.\n    text (str): The text of the message to be sent.\n    metadata (dict, optional): Pre-formatted metadata (Bold, Italic, etc.).\n    chat_keypad (Dict[str, Any], optional): Custom keyboard attached to the message.\n    inline_keypad (Dict[str, Any], optional): Custom inline keyboard attached to the message.\n    reply_to_message_id (Union[int, str], optional): If the message is a reply, the original message's ID.\n    disable_notification (bool, optional): Sends the message silently.\n    resize_keyboard (bool, optional): Requests clients to resize the keyboard vertically.\n    one_time_keyboard (bool, optional): Requests clients to hide the keyboard as soon as it's been used.\n\nReturns:\n    MessageResult: API response with message information and action methods."
        },
        {
          "name": "send_music",
          "signature": "send_music(self: 'darkob.Bot', chat_id: str, music: Optional[Union[str, bytes]]=None, text: Optional[str]=None, file_id: Optional[str]=None, base64: Optional[str]=None, file_name: Optional[str]=None, chat_keypad: Dict[str, Any]=None, inline_keypad: Dict[str, Any]=None, reply_to_message_id: Optional[Union[int, str]]=None, disable_notification: bool=False, resize_keyboard: bool=True, one_time_keyboard: bool=False)",
          "group": "bot",
          "module": "darkob.bot.send_music",
          "doc": "Sends a music to a chat.\n\nParameters:\n    chat_id (str): Target chat ID.\n    music (str | bytes, optional): Path to the music file OR raw bytes.\n    text (str, optional): Caption text.\n    file_id (str, optional): Already uploaded file_id.\n    base64 (str, optional): Base64 encoded music data.\n    file_name (str, optional): Custom file name. If not provided, auto-generated.\n    chat_keypad (Dict, optional): Custom keyboard attached to the message.\n    inline_keypad (Dict, optional): Custom inline keyboard attached to the message.\n    reply_to_message_id (Union[int, str], optional): Message ID to reply to.\n    disable_notification (bool): Disable notification.\n    resize_keyboard (bool): Resize keyboard vertically.\n    one_time_keyboard (bool): Hide keyboard after use.\n\nReturns:\n    dict: API response with message information."
        },
        {
          "name": "send_poll",
          "signature": "send_poll(self: 'darkob.Bot', chat_id: str, question: str, options: List[str], is_anonymous: bool=True, multi_select: bool=False, chat_keypad: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]]=None, inline_keypad: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]]=None, reply_to_message_id: Optional[Union[int, str]]=None, disable_notification: bool=False, resize_keyboard: bool=True, one_time_keyboard: bool=False)",
          "group": "bot",
          "module": "darkob.bot.send_poll",
          "doc": "Send a poll message with the specified parameters.\n\nParameters:\n    chat_id (str): chat_id of the object associated with the poll (e.g., group or channel).\n    question (str): The question for the poll.\n    options (list): A list of string values representing the poll options.\n    is_anonymous (bool): Whether the poll is anonymous or not. Defaults to True.\n    multi_select (bool): Whether the poll allows multiple answers or not. Defaults to False.\n    chat_keypad (Dict, optional): Custom keyboard attached to the message.\n    inline_keypad (Dict, optional): Custom inline keyboard attached to the message.\n    reply_to_message_id (Union[str, int]): The ID of the message to reply to.\n    disable_notification (bool): If set to True, the poll will be sent silently without triggering a notification for users. Defaults to False.\n    resize_keyboard (bool): Resize keyboard vertically.\n    one_time_keyboard (bool): Hide keyboard after use.\n\nReturns:\n    dict: API response with message information."
        },
        {
          "name": "send_quiz",
          "signature": "send_quiz(self: 'darkob.Bot', chat_id: str, question: str, options: List[str], correct_option: Union[int, str], hint: Optional[str]=None, is_anonymous: bool=True, chat_keypad: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]]=None, inline_keypad: Optional[Union[Dict[str, Any], List[Dict[str, Any]]]]=None, reply_to_message_id: Optional[Union[int, str]]=None, disable_notification: bool=False, resize_keyboard: bool=True, one_time_keyboard: bool=False)",
          "group": "bot",
          "module": "darkob.bot.send_quiz",
          "doc": "Send a quiz-type poll message with the specified parameters.\n\nParameters:\n    chat_id (str): chat_id of the object associated with the quiz (e.g., group or channel).\n    question (str): The question for the quiz.\n    options (list): A list of string values representing the quiz options.\n    correct_option: Union[int, str]: The index or text of the correct option for quiz-type polls.\n    hint (str): A hint for the correct answer in quiz-type polls. Defaults to None.\n    is_anonymous (bool): Whether the poll is anonymous or not. Defaults to True.\n    chat_keypad (Dict, optional): Custom keyboard attached to the message.\n    inline_keypad (Dict, optional): Custom inline keyboard attached to the message.\n    reply_to_message_id (Union[str, int]): The ID of the message to reply to.\n    disable_notification (bool): If set to True, the poll will be sent silently without triggering a notification for users. Defaults to False.\n    resize_keyboard (bool): Resize keyboard vertically.\n    one_time_keyboard (bool): Hide keyboard after use.\n\nReturns:\n    dict: API response with message information."
        },
        {
          "name": "send_video",
          "signature": "send_video(self: 'darkob.Bot', chat_id: str, video: Optional[Union[str, bytes]]=None, text: Optional[str]=None, file_id: Optional[str]=None, base64: Optional[str]=None, file_name: Optional[str]=None, chat_keypad: Dict[str, Any]=None, inline_keypad: Dict[str, Any]=None, reply_to_message_id: Optional[Union[int, str]]=None, disable_notification: bool=False, resize_keyboard: bool=True, one_time_keyboard: bool=False)",
          "group": "bot",
          "module": "darkob.bot.send_video",
          "doc": "Sends a video to a chat.\n\nParameters:\n    chat_id (str): Target chat ID.\n    video (str | bytes, optional): Path to the video file OR raw bytes.\n    text (str, optional): Caption text.\n    file_id (str, optional): Already uploaded file_id.\n    base64 (str, optional): Base64 encoded video data.\n    file_name (str, optional): Custom file name. If not provided, auto-generated.\n    chat_keypad (Dict, optional): Custom keyboard attached to the message.\n    inline_keypad (Dict, optional): Custom inline keyboard attached to the message.\n    reply_to_message_id (Union[int, str], optional): Message ID to reply to.\n    disable_notification (bool): Disable notification.\n    resize_keyboard (bool): Resize keyboard vertically.\n    one_time_keyboard (bool): Hide keyboard after use.\n\nReturns:\n    dict: API response with message information."
        },
        {
          "name": "send_voice",
          "signature": "send_voice(self: 'darkob.Bot', chat_id: str, voice: Optional[Union[str, bytes]]=None, text: Optional[str]=None, file_id: Optional[str]=None, base64: Optional[str]=None, file_name: Optional[str]=None, chat_keypad: Dict[str, Any]=None, inline_keypad: Dict[str, Any]=None, reply_to_message_id: Optional[Union[int, str]]=None, disable_notification: bool=False, resize_keyboard: bool=True, one_time_keyboard: bool=False)",
          "group": "bot",
          "module": "darkob.bot.send_voice",
          "doc": "Sends a voice to a chat.\n\nParameters:\n    chat_id (str): Target chat ID.\n    voice (str | bytes, optional): Path to the voice file OR raw bytes.\n    text (str, optional): Caption text.\n    file_id (str, optional): Already uploaded file_id.\n    base64 (str, optional): Base64 encoded voice data.\n    file_name (str, optional): Custom file name. If not provided, auto-generated.\n    chat_keypad (Dict, optional): Custom keyboard attached to the message.\n    inline_keypad (Dict, optional): Custom inline keyboard attached to the message.\n    reply_to_message_id (Union[int, str], optional): Message ID to reply to.\n    disable_notification (bool): Disable notification.\n    resize_keyboard (bool): Resize keyboard vertically.\n    one_time_keyboard (bool): Hide keyboard after use.\n\nReturns:\n    dict: API response with message information."
        },
        {
          "name": "set_commands",
          "signature": "set_commands(self: 'darkob.Bot', commands: Optional[Union[List[Dict[str, str]], Dict[str, str]]]=None)",
          "group": "bot",
          "module": "darkob.bot.set_commands",
          "doc": "Sets custom commands for the bot. Pass empty list/dict to remove all commands.\n\nParameters:\n    commands (List[Dict[str, str]] or Dict[str, str], optional): \n        Either a list of dictionaries with 'command' and 'description',\n        or a simple dictionary like {\"start\": \"Start the bot\", \"help\": \"Help\"}.\n        Example: [{\"command\": \"start\", \"description\": \"Start the bot\"}, ...]\n        or: {\"start\": \"Start the bot\", \"help\": \"Show help\"}\n        If None or empty, all commands will be removed.\n\nReturns:\n    dict: API response."
        },
        {
          "name": "start",
          "signature": "start(self: 'darkob.Bot', poll_interval: float=0.005, webhook_url: Optional[str]=None, webhook_path: str='/wk', host: str='0.0.0.0', port: int=8080)",
          "group": "bot",
          "module": "darkob.bot.start",
          "doc": "Starts the server or polling mechanism with specified configurations.\n\nParameters:\n    poll_interval: The interval (in seconds) between each polling operation. Default is 0.005 seconds.\n    webhook_url: Optional URL for webhook integration. If provided, webhooks will be used.\n    webhook_path: The URL path on the server to handle webhook requests. Default is \"/wk\".\n    host: The hostname or IP address to bind the server. Default is \"0.0.0.0\" (all interfaces).\n    port: The port number on which to run the server. Default is 8080.\n\nReturns:\n    None"
        },
        {
          "name": "unban_member",
          "signature": "unban_member(self: 'darkob.Bot', chat_id: str, sender_id: str)",
          "group": "bot",
          "module": "darkob.bot.unban_member",
          "doc": "Unban a member from a group or channel.\n\nParameters:\n    chat_id (str): chat_id of group (starts with 'g0') or channel (starts with 'c0').\n    sender_id (str): sender_id of member to unban.\n\nReturns:\n    dict: API response."
        },
        {
          "name": "update_bot_endpoints",
          "signature": "update_bot_endpoints(self: 'darkob.Bot', url: str, endpoint_type: Literal['ReceiveUpdate', 'ReceiveInlineMessage', 'ReceiveQuery', 'GetSelectionItem', 'SearchSelectionItems']='ReceiveUpdate')",
          "group": "bot",
          "module": "darkob.bot.update_bot_endpoints",
          "doc": "Register a single webhook endpoint on the Rubika server.\n\nParameters:\n    url (str): Full URL that Rubika should call when an event occurs.\n        Must be publicly reachable (HTTPS recommended).\n    endpoint_type (str): Which kind of event this URL handles. Accepted values:\n        - `\"ReceiveUpdate\"` – new messages, edits, deletions\n        - `\"ReceiveInlineMessage\"` – inline-keyboard button presses\n        - `\"ReceiveQuery\"` – inline-query results\n        - `\"GetSelectionItem\"` – selection menu picks\n        - `\"SearchSelectionItems\"` – search-in-selection requests\n\nReturns:\n    dict: Raw response from the server confirming the registration."
        },
        {
          "name": "upload_file",
          "signature": "upload_file(self: 'darkob.Bot', url: str, file: Optional[Union[str, bytes]]=None, base64: Optional[str]=None, file_name: Optional[str]=None)",
          "group": "bot",
          "module": "darkob.bot.upload_file",
          "doc": "Upload a file to the server and return file_id.\n\nSupports: local path, URL, raw bytes, base64.\nThe entire file is uploaded in a single request.\n\nParameters:\n    url (str): Upload URL from ``request_send_file``.\n    file (str | bytes, optional): Path, URL, or raw bytes.\n    base64 (str, optional): Base64-encoded file data.\n    file_name (str, optional): Name of the file. Auto-detected when possible.\n\nReturns:\n    Optional[str]: file_id or None if failed."
        }
      ]
    },
    "Messenger": {
      "summary": "A real user account (userbot): channels, groups, voice chats, settings.",
      "method_count": 325,
      "methods": [
        {
          "name": "abort_two_step_setup",
          "signature": "abort_two_step_setup(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.abort_two_step_setup",
          "doc": "Abort the two-step verification setup process.\n\nReturns:\n    The result of the operation."
        },
        {
          "name": "accept_all_join_requests",
          "signature": "accept_all_join_requests(self: 'darkob.Client', chat: str, exclude: Optional[Union[str, List[str]]]=None)",
          "group": "chats",
          "module": "darkob.client.chats.accept_all_join_requests",
          "doc": "Accept all pending join requests in a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group or channel.\n    exclude (Optional[Union[str, List[str]]]): User GUID(s) or username(s) to exclude.\n\nReturns:\n    Result containing accepted count and details."
        },
        {
          "name": "accept_join_request",
          "signature": "accept_join_request(self: 'darkob.Client', chat: str, user: str)",
          "group": "chats",
          "module": "darkob.client.chats.accept_join_request",
          "doc": "Accept a join request for a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n    user (str): The user GUID or username of the requester.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "accept_ownership_request",
          "signature": "accept_ownership_request(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.accept_ownership_request",
          "doc": "Accept an ownership transfer request.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (channel/group).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "add_contact",
          "signature": "add_contact(self: 'darkob.Client', phone_number: Union[str, int], first_name: str, last_name: str='')",
          "group": "users",
          "module": "darkob.client.users.add_contact",
          "doc": "Adds a contact to the client's address book.\n\nParameters:\n    phone_number (str): The phone number of the contact to be added.\n    first_name (str): The first name of the contact.\n    last_name (str, optional): The last name of the contact. Defaults to an empty string.\n\nReturns:\n    The result of the API call.\n\nNote:\n    The `phone_number` parameter should be a valid phone number.\n    The `first_name` and `last_name` parameters represent the name of the contact.\n    If the contact has no last name, `last_name` can be an empty string."
        },
        {
          "name": "add_folder",
          "signature": "add_folder(self: 'darkob.Client', name: str, include_chats: Optional[Union[str, List[str]]]=None, exclude_chats: Optional[Union[str, List[str]]]=None, include_chat_types: Optional[List[str]]=None, exclude_chat_types: Optional[List[str]]=None, is_add_to_top: bool=True, suggestion_folder_id: str=None, folder_id: str=None)",
          "group": "settings",
          "module": "darkob.client.settings.add_folder",
          "doc": "Add a new folder to organize chats.\n\nParameters:\n    name (str): Folder name.\n    include_chats: Chats (GUIDs, links, usernames) to include in folder.\n    exclude_chats: Chats (GUIDs, links, usernames) to exclude from folder.\n    include_chat_types: Chat types to include (case-insensitive).\n        Valid values:\n            'Contacts', 'NonContacts' / 'Users', 'Groups',\n            'Channels', 'Bots', 'Services'.\n        Note: 'Users' expands to both 'Contacts' and 'NonContacts'.\n    exclude_chat_types: Chat types to exclude (case-insensitive).\n        Valid values: 'Mute', 'Read', 'Archive'.\n    is_add_to_top (bool): Add folder to top of list.\n    suggestion_folder_id (str): Suggestion folder ID.\n    folder_id (str): Folder ID.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "add_handler",
          "signature": "add_handler(self: 'darkob.Client', func: Callable, handler: Union[ChatUpdates, MessageUpdates, ShowActivities, ShowNotifications, RemoveNotifications])",
          "group": "core",
          "module": "darkob.client.core.handler_manager",
          "doc": ""
        },
        {
          "name": "add_live_comment",
          "signature": "add_live_comment(self: 'darkob.Client', access_token: str, live_id: str, comment: str)",
          "group": "extras",
          "module": "darkob.client.extras.add_live_comment",
          "doc": "Adds a comment to a live stream.\n\nParameters:\n    access_token (str): The access token for authentication.\n    live_id (str): The ID of the live stream.\n    comment (str): The text of the comment.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "add_members",
          "signature": "add_members(self: 'darkob.Client', chat: str, members: Union[str, List[str]])",
          "group": "chats",
          "module": "darkob.client.chats.add_members",
          "doc": "Add members to a channel or group.\n\nParameters:\n    chat (str): The GUID, link, or username of the channel/group.\n    members (Union[str, List[str]]): The GUID(s) or username(s) of the member(s) to be added.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "add_reaction",
          "signature": "add_reaction(self: 'darkob.Client', chat: str, message_id: Union[str, int], reaction_id: Union[int, str])",
          "group": "messages",
          "module": "darkob.client.messages.add_reaction",
          "doc": "Add a reaction to a specific message.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat associated with the message.\n    message_id (Union[str, int]): The ID of the message to which the reaction will be added.\n    reaction_id (Union[str, int]): The ID of the reaction to be added.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "add_saved_music_playlist",
          "signature": "add_saved_music_playlist(self: 'darkob.Client', files: Union[Path, str, List[Union[Path, str]]]=None, file_inlines: List[dict]=None, time: Optional[int]=None, performer: Optional[str]=None, file_name: Optional[str]=None, **kwargs)",
          "group": "settings",
          "module": "darkob.client.settings.add_saved_music_playlist",
          "doc": "Add a saved music playlist on your profile.\n\nParameters:\n    files: A single file path or a list of file paths to music files.\n    file_inlines: Pre-uploaded file_inline dicts to add directly.\n    time: Custom duration in seconds. If not provided, auto-detected.\n    performer: Custom performer name. If not provided, auto-detected.\n    file_name: Custom file name. If not provided, uses original file name.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "add_saved_music_track",
          "signature": "add_saved_music_track(self: 'darkob.Client', track: Union[Path, str]=None, file_inline: dict=None, time: Optional[int]=None, performer: Optional[str]=None, file_name: Optional[str]=None, **kwargs)",
          "group": "settings",
          "module": "darkob.client.settings.add_saved_music_track",
          "doc": "Add a single music track to your saved music playlist.\n\nParameters:\n    track: A file path (str or Path) to a music file, or raw bytes.\n    file_inline: A pre-uploaded file_inline dict to add directly.\n    time: Custom duration in seconds. If not provided, auto-detected.\n    performer: Custom performer name. If not provided, auto-detected.\n    file_name: Custom file name. If not provided, uses original file name.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "add_sticker_set",
          "signature": "add_sticker_set(self: 'darkob.Client', sticker_set_id: str)",
          "group": "extras",
          "module": "darkob.client.extras.add_sticker_set",
          "doc": "Add a sticker set.\n\nParameters:\n    sticker_set_id (str): The ID of the sticker set.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "add_to_my_gif_set",
          "signature": "add_to_my_gif_set(self: 'darkob.Client', chat: str, message_id: Union[str, int])",
          "group": "extras",
          "module": "darkob.client.extras.add_to_my_gif_set",
          "doc": "Adds a GIF message to the user's personal GIF set.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    message_id (Union[str, int]): The ID of the GIF message.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "archive_chat",
          "signature": "archive_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.archive_chat",
          "doc": "Archive a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to archive.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "archive_sticker_set",
          "signature": "archive_sticker_set(self: 'darkob.Client', sticker_set_id: str)",
          "group": "extras",
          "module": "darkob.client.extras.archive_sticker_set",
          "doc": "Archive a sticker set.\n\nParameters:\n    sticker_set_id (str): The ID of the sticker set.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "ask",
          "signature": "ask(self, chat_id: str, text: Optional[str]=None, *, filters: Optional[list]=None, timeout: float=60.0, inline_keypad: Any=None, chat_keypad: Any=None)",
          "group": "core",
          "module": "darkob.TheClient",
          "doc": "Send a prompt and await the next matching reply in that chat.\n\nThe reply is returned to you instead of being dispatched to\nhandlers while the prompt is pending."
        },
        {
          "name": "auto_delete_account",
          "signature": "auto_delete_account(self: 'darkob.Client', setting: Union[int, str])",
          "group": "settings",
          "module": "darkob.client.settings.auto_delete_account",
          "doc": "Set account auto-deletion after months of inactivity.\n\nParameters:\n    setting (Union[int, str]): Months of inactivity. Accepts: 3, 6, 12, or 24.\n        Can be int (3, 6, 12, 24) or str (\"3\", \"6\", \"12\", \"24\", \"3m\", \"6m\", \"12m\", \"24m\")\n\nReturns:\n    The updated privacy settings.\n\nExamples:\n    >>> await client.auto_delete_account(6)  # doctest: +SKIP\n    >>> await client.auto_delete_account(\"12m\")  # doctest: +SKIP"
        },
        {
          "name": "auto_delete_message",
          "signature": "auto_delete_message(self: 'darkob.Client', chat: str, message_id: Union[str, int], time: Union[float, int])",
          "group": "messages",
          "module": "darkob.client.messages.auto_delete_message",
          "doc": "Automatically delete a message after a specified time.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat associated with the message\n        (e.g., user, group, channel).\n    message_id (Union[str, int]): The ID of the message to be deleted.\n    time (Union[float, int]): The time delay (in seconds) before deleting the message.\n\nReturns:\n    The updated information after deleting the message."
        },
        {
          "name": "ban_member",
          "signature": "ban_member(self: 'darkob.Client', chat: str, member: str)",
          "group": "chats",
          "module": "darkob.client.chats.ban_member",
          "doc": "Ban a member from a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of group/channel.\n    member (str): The GUID or username of member to ban.\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "ban_members",
          "signature": "ban_members(self: 'darkob.Client', chat: str, members: List[str])",
          "group": "chats",
          "module": "darkob.client.chats.ban_members",
          "doc": "Ban multiple members from a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of group/channel.\n    members (List[str]): List of GUIDs or usernames of members to ban.\n\nReturns:\n    Results of all operations."
        },
        {
          "name": "block_user",
          "signature": "block_user(self: 'darkob.Client', user: str)",
          "group": "users",
          "module": "darkob.client.users.block_user",
          "doc": "Block a user.\n\nParameters:\n    user (str): The GUID or username of the user to block.\n\nReturns:\n    The result of the block operation."
        },
        {
          "name": "cancel_change_owner",
          "signature": "cancel_change_owner(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.cancel_change_owner",
          "doc": "Cancels a pending ownership transfer request for a channel or group.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (channel/group).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "change_owner",
          "signature": "change_owner(self: 'darkob.Client', chat: str, new_owner: str)",
          "group": "chats",
          "module": "darkob.client.chats.change_owner",
          "doc": "Request to transfer ownership of a chat to another user.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (channel/group).\n    new_owner (str): The GUID or username of the user to become new owner.\n\nReturns:\n    The result of the API call.\n\nNote:\n    - Only works if you are the current owner\n    - New owner must accept the request\n    - Irreversible action"
        },
        {
          "name": "change_password",
          "signature": "change_password(self: 'darkob.Client', password: str, new_password: str, new_hint: str)",
          "group": "settings",
          "module": "darkob.client.settings.change_password",
          "doc": "Changes the user's password.\n\nParameters:\n    password (str): The current password.\n    new_password (str): The new password.\n    new_hint (str): The new password hint.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "check_channel_username",
          "signature": "check_channel_username(self: 'darkob.Client', username: str)",
          "group": "channels",
          "module": "darkob.client.channels.check_channel_username",
          "doc": "Check the availability of a username for a channel.\n\nParameters:\n    username (str): The username to check.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "check_join",
          "signature": "check_join(self: 'darkob.Client', chat: str, member: str)",
          "group": "chats",
          "module": "darkob.client.chats.check_join",
          "doc": "Check if a user or bot is a member of a specific group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to check.\n    member (str): The GUID or username of the user/bot to check.\n\nReturns:\n    bool: True if user/bot is a member, False otherwise."
        },
        {
          "name": "check_two_step_passcode",
          "signature": "check_two_step_passcode(self: 'darkob.Client', password: str)",
          "group": "settings",
          "module": "darkob.client.settings.check_two_step_passcode",
          "doc": "Check if the provided two-step verification password is correct.\n\nParameters:\n    password (str): The two-step verification password to check.\n\nReturns:\n    Result containing status and user data if successful."
        },
        {
          "name": "check_user_username",
          "signature": "check_user_username(self: 'darkob.Client', username: str)",
          "group": "users",
          "module": "darkob.client.users.check_user_username",
          "doc": "Check the availability of a username for a user.\n\nParameters:\n    username (str): The username to be checked.\n\nReturns:\n    The result of the username availability check."
        },
        {
          "name": "clear_all_drafts",
          "signature": "clear_all_drafts(self: 'darkob.Client')",
          "group": "chats",
          "module": "darkob.client.chats.clear_all_drafts",
          "doc": "Clear all drafts.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "clear_black_list",
          "signature": "clear_black_list(self: 'darkob.Client', chat: str, exclude: Optional[Union[str, List[str]]]=None)",
          "group": "chats",
          "module": "darkob.client.chats.clear_black_list",
          "doc": "Clear black list with unban all banned members in a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group or channel.\n    exclude (Optional[Union[str, List[str]]]): Member GUID(s) or username(s) to exclude from unban. Default is None.\n\nReturns:\n    Result of unban operation."
        },
        {
          "name": "clear_chat_draft",
          "signature": "clear_chat_draft(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.clear_chat_draft",
          "doc": "Clear the draft of a specific chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "click_chat_ads",
          "signature": "click_chat_ads(self: 'darkob.Client', chat_ads_id: str)",
          "group": "chats",
          "module": "darkob.client.chats.click_chat_ads",
          "doc": "Register a click action on a chat ad.\n\nThe `chat_ads_id` is obtained from the `get_chat_ads` method.\n\nParameters:\n    chat_ads_id (str): The chat ads ID to register a click on.\n\nReturns:\n    The result of the operation."
        },
        {
          "name": "click_inline_button",
          "signature": "click_inline_button(self: 'darkob.Client', chat: str, message_id: Union[str, int], button_id: str)",
          "group": "messages",
          "module": "darkob.client.messages.click_inline_button",
          "doc": "Send API call response to a chat's inline keypad button.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    message_id (Union[str, int]): The ID of the message containing inline keyboard.\n    button_id (str): The ID of the button.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "click_keypad_button",
          "signature": "click_keypad_button(self: 'darkob.Client', chat: str, button_id: str)",
          "group": "chats",
          "module": "darkob.client.chats.click_keypad_button",
          "doc": "Click a button in the chat keypad.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (must be a bot).\n    button_id (str): The button ID to click.\n\nReturns:\n    The result of the button click."
        },
        {
          "name": "click_message_url",
          "signature": "click_message_url(self: 'darkob.Client', chat: str, message_id: typing.Union[str, int], link_url: str)",
          "group": "messages",
          "module": "darkob.client.messages.click_message_url",
          "doc": "Simulate clicking a URL contained within a specific message.\n\nParameters:\n    chat (str): The GUID, link or username of the chat.\n    message_id (Union[str, int]): The unique ID of the message that includes the URL.\n    link_url(str): The URL string embedded in the message to be clicked.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "close",
          "signature": "close(self: 'darkob.Client')",
          "group": "base",
          "module": "darkob.client.base.disconnect",
          "doc": "Close the connection to the Darkob server (async version)."
        },
        {
          "name": "confirm_unconfirmed_session",
          "signature": "confirm_unconfirmed_session(self: 'darkob.Client', unconfirmed_session_key: str)",
          "group": "settings",
          "module": "darkob.client.settings.confirm_unconfirmed_session",
          "doc": "Confirm an unconfirmed (pending) session.\n\nParameters:\n    unconfirmed_session_key (str): The session key to confirm.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "connect",
          "signature": "connect(self: 'darkob.Client')",
          "group": "base",
          "module": "darkob.client.base.connect",
          "doc": "Establish a connection to the Rubika API.\n\nCreates an Api instance and loads stored session information\n(auth, guid, private_key, user_agent) if available.\n\nReturns:\n    Client instance with active connection."
        },
        {
          "name": "create_channel",
          "signature": "create_channel(self: 'darkob.Client', title: str, members: Optional[Union[str, list]]=None, channel_type: str='Public', description: Optional[str]=None, avatar: Optional[Union[Path, str, bytes]]=None, thumbnail_avatar: Optional[Union[Path, str, bytes]]=None, *args, **kwargs)",
          "group": "channels",
          "module": "darkob.client.channels.create_channel",
          "doc": "Create a new channel.\n\nParameters:\n    title (str): The title of the new channel.\n    members (Union[str, list], optional): The GUID(s) or username(s) of the member(s) to be added to the new channel. Default is None.\n    channel_type (str): Set type of the channel. 'Public' or 'Private'. Default is 'Public'.\n    description (str, optional): The description of the new channel. Default is None.\n    avatar (Optional[Union[Path, str, bytes]]): The image to be used as the channel avatar. Default is None.\n    thumbnail_avatar (Optional[Union[Path, str, bytes]]): The image to be used as the channel thumbnail avatar. Default is None.\n\nReturns:\n    The result of the API call.\n\nNote:\n    If only `avatar` is provided, the thumbnail is taken from the same image.\n    If none of them are provided, no avatar is set for the channel."
        },
        {
          "name": "create_group",
          "signature": "create_group(self: 'darkob.Client', title: str, members: Union[str, List[str]], description: Optional[str]=None, avatar: Optional[Union[Path, str, bytes]]=None, thumbnail_avatar: Optional[Union[Path, str, bytes]]=None, *args, **kwargs)",
          "group": "groups",
          "module": "darkob.client.groups.create_group",
          "doc": "Create a new group.\n\nParameters:\n    title (str): The title of the group.\n    members (Union[str, List[str]]): A single member GUID/Username or a list of member GUIDs/Usernames to be added to the group.\n    description (Optional[str]): Description of the group (optional). Defaults to None.\n    avatar (Optional[Union[Path, str, bytes]]): The image to be used as the group avatar. Default is None.\n    thumbnail_avatar (Optional[Union[Path, str, bytes]]): The image to be used as the group thumbnail avatar. Default is None.\n\nReturns:\n    The result of the API call.\n\nNote:\n    If only `avatar` is provided, the thumbnail is taken from the same image.\n    If none of them are provided, no avatar is set for the group."
        },
        {
          "name": "create_join_link",
          "signature": "create_join_link(self: 'darkob.Client', chat: str, expire_time: Optional[int]=None, request_needed: bool=False, title: Optional[str]=None, usage_limit: int=0)",
          "group": "chats",
          "module": "darkob.client.chats.create_join_link",
          "doc": "Creates an invite link for a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the target group or channel.\n    expire_time (Optional[int]): The expiration time of the link in seconds.\n    request_needed (bool): Whether join requests must be approved manually.\n    title (Optional[str]): A custom title for the invite link.\n    usage_limit (int): The maximum number of times the link can be used.\n\nReturns:\n    The API response containing the created invite link."
        },
        {
          "name": "delete_account",
          "signature": "delete_account(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.delete_account",
          "doc": "Request to permanently delete your Rubika account.\n\nReturns:\n    str: User-friendly confirmation message."
        },
        {
          "name": "delete_all_avatars",
          "signature": "delete_all_avatars(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.delete_all_avatars",
          "doc": "Delete all avatars from a chat or user profile.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    Data: Result of the operation.\n\nNote:\n    If `chat` is 'me', 'cloud', 'self', or 'myself', it will be replaced with the client's GUID."
        },
        {
          "name": "delete_all_messages",
          "signature": "delete_all_messages(self: 'darkob.Client', chat: str, exclude_message_ids: Optional[Union[str, int, List[Union[str, int]]]]=None)",
          "group": "messages",
          "module": "darkob.client.messages.delete_all_messages",
          "doc": "Delete all messages in a chat except the first creation event message\nand optionally specified message IDs.\n\nThis method retrieves all messages from the chat and deletes them,\nwhile preserving:\n- Any message IDs specified in `exclude_message_ids`.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat\n    exclude_message_ids (Union[str, int, List[Union[str, int]]], optional): \n        Message ID(s) to preserve (not delete). Can be string, integer, or list.\n        Default is None.\n\nReturns:\n    Result of the deletion operation."
        },
        {
          "name": "delete_all_my_gif_set",
          "signature": "delete_all_my_gif_set(self: 'darkob.Client')",
          "group": "extras",
          "module": "darkob.client.extras.delete_all_my_gif_set",
          "doc": "Delete all GIFs from the user's personal GIF set.\n\nReturns:\n    Data: A Data object containing the deletion result."
        },
        {
          "name": "delete_avatar",
          "signature": "delete_avatar(self: 'darkob.Client', chat: str, avatar_id: str)",
          "group": "chats",
          "module": "darkob.client.chats.delete_avatar",
          "doc": "Delete an avatar.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat that owns the avatar.\n    avatar_id (str): The identifier of the avatar to be deleted.\n\nReturns:\n    The result of the API call.\n\nNote:\n    If `chat` is 'me', 'cloud', 'self', or 'myself', it will be replaced with the client's GUID."
        },
        {
          "name": "delete_bot_chat",
          "signature": "delete_bot_chat(self: 'darkob.Client', bot: str)",
          "group": "bots",
          "module": "darkob.client.bots.delete_bot_chat",
          "doc": "Delete a bot chat.\n\nParameters:\n    bot (str): The GUID or username of the bot.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "delete_channel",
          "signature": "delete_channel(self: 'darkob.Client', channel: str, confirm: bool=True)",
          "group": "channels",
          "module": "darkob.client.channels.delete_channel",
          "doc": "Delete a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n    confirm (bool): If True, ask the user for confirmation before\n        deleting the channel. If False, delete immediately.\n        Default is True.\n\nReturns:\n    The result of the API call.\n    Exits if cancelled."
        },
        {
          "name": "delete_chat_history",
          "signature": "delete_chat_history(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.delete_chat_history",
          "doc": "Delete chat history up to the last message.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (e.g., user, group).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "delete_contact",
          "signature": "delete_contact(self: 'darkob.Client', user: str)",
          "group": "users",
          "module": "darkob.client.users.delete_contact",
          "doc": "Deletes a contact from the client's address book.\n\nParameters:\n    user (str): The GUID or username of the contact to be deleted.\n\nReturns:\n    The result of the contact deletion operation.\n\nNote:\n    - The `user` parameter should be the GUID or username of the contact to be deleted."
        },
        {
          "name": "delete_folder",
          "signature": "delete_folder(self: 'darkob.Client', folder_id: str)",
          "group": "settings",
          "module": "darkob.client.settings.delete_folder",
          "doc": "Delete a folder.\n\nParameters:\n    folder_id (str): The ID of the folder to be deleted.\n\nReturns:\n    Result of the delete folder operation."
        },
        {
          "name": "delete_group",
          "signature": "delete_group(self: 'darkob.Client', group: str, confirm: bool=True)",
          "group": "groups",
          "module": "darkob.client.groups.delete_group",
          "doc": "Delete a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n    confirm (bool): If True, ask the user for confirmation before\n        deleting the group. If False, delete immediately.\n        Default is True.\n\nReturns:\n    The result of the API call.\n    Exits if cancelled."
        },
        {
          "name": "delete_messages",
          "signature": "delete_messages(self: 'darkob.Client', chat: str, message_ids: Union[str, int, list], type: Literal['Local', 'Global', 'Scheduled']='Global')",
          "group": "messages",
          "module": "darkob.client.messages.delete_messages",
          "doc": "Delete specified messages associated with the given chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat associated with the messages\n        (e.g., user, group, channel).\n    message_ids (Union[str, int, list]): The ID or list of IDs of the messages to be deleted.\n    type (str): The type of deletion, can be 'Global', 'Local', or 'Scheduled'. Default is 'Global'.\n\nReturns:\n    The updated information after deleting the messages."
        },
        {
          "name": "delete_my_gif_set",
          "signature": "delete_my_gif_set(self: 'darkob.Client', file_id: str)",
          "group": "extras",
          "module": "darkob.client.extras.delete_my_gif_set",
          "doc": "Deletes a GIF from the user's personal GIF set.\n\nParameters:\n    file_id (str): The file ID of the GIF to be removed.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "delete_my_messages",
          "signature": "delete_my_messages(self: 'darkob.Client', chat: str, exclude_message_ids: Optional[Union[str, int, List[Union[str, int]]]]=None)",
          "group": "messages",
          "module": "darkob.client.messages.delete_my_messages",
          "doc": "Delete all messages sent by the authenticated user in a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    exclude_message_ids (Optional[Union[str, int, List[Union[str, int]]]]): \n        Message ID(s) to exclude from deletion (preserve them). Default is None.\n\nReturns:\n    Result of the deletion operation."
        },
        {
          "name": "delete_saved_music_playlist",
          "signature": "delete_saved_music_playlist(self: 'darkob.Client', position: int=None)",
          "group": "settings",
          "module": "darkob.client.settings.delete_saved_music_playlist",
          "doc": "Delete tracks from the saved music playlist on your profile.\n\nParameters:\n    position (int, optional): The position of the track to delete. If None, deletes all.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "delete_service_chat",
          "signature": "delete_service_chat(self: 'darkob.Client', service: str)",
          "group": "bots",
          "module": "darkob.client.bots.delete_service_chat",
          "doc": "Delete a service chat.\n\nParameters:\n    service (str): The GUID of the service chat to delete.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "delete_sticker_set",
          "signature": "delete_sticker_set(self: 'darkob.Client', sticker_set_id: str)",
          "group": "extras",
          "module": "darkob.client.extras.delete_sticker_set",
          "doc": "Delete a sticker set.\n\nParameters:\n    sticker_set_id (str): The ID of the sticker set.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "delete_user_chat",
          "signature": "delete_user_chat(self: 'darkob.Client', user: str)",
          "group": "users",
          "module": "darkob.client.users.delete_user_chat",
          "doc": "Delete a user chat.\n\nParameters:\n    user (str): The GUID or username of the user whose chat is to be deleted.\n\nReturns:\n    The result of the user chat deletion."
        },
        {
          "name": "deny_unconfirmed_session",
          "signature": "deny_unconfirmed_session(self: 'darkob.Client', unconfirmed_session_key: str)",
          "group": "settings",
          "module": "darkob.client.settings.deny_unconfirmed_session",
          "doc": "Deny an unconfirmed (pending) session.\n\nParameters:\n    unconfirmed_session_key (str): The session key to deny.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "discard_call",
          "signature": "discard_call(self: 'darkob.Client', call_id: str, duration: int=0, reason: str='Disconnect')",
          "group": "users",
          "module": "darkob.client.users.discard_call",
          "doc": "Discard/end an active call.\n\nParameters:\n    call_id (str): ID of the call to discard\n    duration (int): Call duration in seconds\n    reason (str): Reason for ending the call.\n        Common options: 'Missed' and 'Disconnect'.\n        Default: 'Disconnect'\n\nReturns:\n    Result of the discard operation."
        },
        {
          "name": "discard_voice_chat",
          "signature": "discard_voice_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.discard_voice_chat",
          "doc": "Discard/End a voice chat for a channel or group.\n\nParameters:\n    chat (str): The GUID, link, or username of the channel or group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "disconnect",
          "signature": "disconnect(self: 'darkob.Client')",
          "group": "base",
          "module": "darkob.client.base.disconnect",
          "doc": "Disconnect from the Darkob server (sync version)."
        },
        {
          "name": "dont_show_chat_ads",
          "signature": "dont_show_chat_ads(self: 'darkob.Client', chat_ads_id: str)",
          "group": "chats",
          "module": "darkob.client.chats.dont_show_chat_ads",
          "doc": "Register a 'don't show' action on a chat ad.\n\nThe `chat_ads_id` is obtained from the `get_chat_ads` method.\n\nParameters:\n    chat_ads_id (str): The chat ads ID to hide.\n\nReturns:\n    The result of the operation."
        },
        {
          "name": "download_file",
          "signature": "download_file(self: 'darkob.Client', file_inline: Optional[Union[dict, Data]]=None, dc_id: Optional[int]=None, file_id: Optional[int]=None, access_hash: Optional[str]=None, size: Optional[int]=None, chunk: int=131072, callback: Optional[Callable[[int, int], Union[None, asyncio.Future]]]=None, gather: bool=False, save_as: Optional[Union[str, bool]]=None, file_name: Optional[str]=None, as_base64: bool=False, *args, **kwargs)",
          "group": "base",
          "module": "darkob.client.base.download_file",
          "doc": "Download a file from Rubika/Shad.\n\nParameters:\n    file_inline (dict or Data, optional): File inline object from messages.\n        If provided, dc_id, file_id, access_hash, size will be extracted.\n    dc_id (int, optional): Data center ID (if file_inline not provided).\n    file_id (int, optional): Unique identifier of the file.\n    access_hash (str, optional): Access hash associated with the file.\n    size (int, optional): Total size of the file in bytes.\n    chunk (int, optional): Size of each download chunk (default: 131072).\n    callback (callable, optional): Progress callback(total_size, downloaded_size).\n    gather (bool, optional): Download chunks in parallel (default: False).\n    save_as (str or bool, optional): Directory path or True for current dir. If None, returns bytes.\n    file_name (str, optional): Custom file name.\n    as_base64 (bool, optional): Return as base64 encoded string (default: False).\n\nReturns:\n    bytes, str, or Data: File content (bytes), base64 string, or Data object (when save_as used)."
        },
        {
          "name": "download_profile_picture",
          "signature": "download_profile_picture(self: 'darkob.Client', chat: Optional[str]=None, file_id: Optional[str]=None, access_hash_rec: Optional[str]=None, dc_id: Optional[str]=None, save_as: Optional[Union[str, bool]]=None, save_all: bool=False)",
          "group": "chats",
          "module": "darkob.client.chats.download_profile_picture",
          "doc": "Download the profile picture of a user, group, or channel.\n\nParameters:\n    chat (str, optional): The GUID, link, or username of the user, group, channel, or other chats.\n    file_id (str, optional): Direct file_id for download without fetching avatars.\n    access_hash_rec (str, optional): Direct access_hash_rec for download without fetching avatars.\n    dc_id (str, optional): DC ID required when using file_id and access_hash_rec directly.\n    save_as (str or bool, optional): Directory path to save the file(s). If True, saves in current directory. If None, returns bytes only.\n    save_all (bool): If True, downloads all avatars instead of just the latest. Returns list of bytes if save_as is None.\n\nReturns:\n    bytes, List[bytes]: Binary data or saved file paths."
        },
        {
          "name": "edit_can_called_by",
          "signature": "edit_can_called_by(self: 'darkob.Client', setting: str, exceptions: Optional[Dict[str, List[str]]]=None)",
          "group": "settings",
          "module": "darkob.client.settings.edit_can_called_by",
          "doc": "Edits the setting to control who can call you.\n\nParameters:\n    setting (str): 'Everybody', 'MyContacts' or 'Nobody'\n    exceptions (Optional[Dict[str, List[str]]]): \n        - 'include_users': List[str] - Users to always allow\n        - 'exclude_users': List[str] - Users to always deny\n\n        To clear exceptions, pass {'exclude_users': []}\n\nReturns:\n    The updated privacy settings after the change."
        },
        {
          "name": "edit_can_join_chat_by",
          "signature": "edit_can_join_chat_by(self: 'darkob.Client', setting: str, exceptions: Optional[Dict[str, List[str]]]=None)",
          "group": "settings",
          "module": "darkob.client.settings.edit_can_join_chat_by",
          "doc": "Edits the setting to control who can join your chats by link.\n\nParameters:\n    setting (str): 'Everybody', 'MyContacts' or 'Nobody'\n    exceptions (Optional[Dict[str, List[str]]]): \n        - 'include_users': List[str] - Users to always allow\n        - 'exclude_users': List[str] - Users to always deny\n\n        To clear exceptions, pass {'exclude_users': []}\n\nReturns:\n    The updated privacy settings after the change."
        },
        {
          "name": "edit_channel_info",
          "signature": "edit_channel_info(self: 'darkob.Client', channel: str, title: Optional[str]=None, description: Optional[str]=None, username: Optional[str]=None, channel_type: Literal['Public', 'Private']=None, sign_messages: Optional[bool]=None, is_restricted_content: Optional[bool]=None, reactions: Optional[Union[Literal['All', 'Disable'], List[int]]]=None)",
          "group": "channels",
          "module": "darkob.client.channels.edit_channel_info",
          "doc": "Edit information of a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n    title (str, optional): The new title of the channel. Max 60 characters.\n    description (str, optional): The new description of the channel. Max 300 characters.\n    username (str, optional): The new username of the channel. Max 32 characters.\n    channel_type (str, optional): The new type of the channel. 'Public' or 'Private'.\n    sign_messages (bool, optional): Whether to sign messages in the channel.\n    is_restricted_content (bool, optional): Restrict content (prevent screenshots and file saving).\n    reactions (Union[Literal['All', 'Disable'], List[int]], optional): \n        - 'All': Enable all reactions\n        - 'Disable': Disable all reactions\n        - List[int]: List of reaction IDs to enable (e.g., [1, 2, 6, 7, 8, 23, 44])\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "edit_channel_title",
          "signature": "edit_channel_title(self: 'darkob.Client', channel: str, title: str)",
          "group": "channels",
          "module": "darkob.client.channels.edit_channel_title",
          "doc": "Edit title of a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n    title (str): The new title of the channel.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "edit_group_info",
          "signature": "edit_group_info(self: 'darkob.Client', group: str, title: Optional[str]=None, description: Optional[str]=None, slow_mode: Optional[str]=None, event_messages: Optional[bool]=None, is_restricted_content: Optional[bool]=None, reactions: Optional[Union[Literal['All', 'Disable'], List[int]]]=None, chat_history_for_new_members: Optional[str]=None, restricted_period: Optional[List[Dict[str, Union[List[str], str]]]]=None)",
          "group": "groups",
          "module": "darkob.client.groups.edit_group_info",
          "doc": "Edit the information of a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n    title (Optional[str]): The new title for the group (max 60 characters).\n    description (Optional[str]): The new description for the group (max 300 characters).\n    slow_mode (Optional[str]): The new slow mode setting for the group.\n    event_messages (Optional[bool]): Enable or disable event messages for the group.\n    is_restricted_content (Optional[bool]): Restrict content (prevent screenshots and file saving).\n    reactions (Union[Literal['All', 'Disable'], List[int]], optional): \n        - 'All': Enable all reactions\n        - 'Disable': Disable all reactions\n        - List[int]: List of reaction IDs to enable (e.g., [1, 2, 6, 7, 8, 23, 44])\n    chat_history_for_new_members (Optional[str]): The new chat history setting for new members.\n    restricted_period (Optional[List[Dict[str, Union[List[str], str]]]]): \n        Time restrictions for sending messages (list of periods). Each period should contain:\n        - days_of_week: List of days ['Saturday', 'Sunday', ..., 'Friday']\n        - from_time: Start time in \"HH:MM\" format (24-hour)\n        - to_time: End time in \"HH:MM\" format (24-hour)\n        Note: Can accept multiple periods as a list of dictionaries.\n\nReturns:\n    The result of the API call.\n\nExamples:\n    # Enable all reactions\n    await client.edit_group_info(\n        group=\"g0...\",\n        reactions=\"All\"\n    )\n\n    # Disable all reactions\n    await client.edit_group_info(\n        group=\"g0...\",\n        reactions=\"Disable\"\n    )\n\n    # Enable specific reactions\n    await client.edit_group_info(\n        group=\"g0...\",\n        reactions=[1, 2, 6, 7, 8, 23, 44]\n    )\n\n    # Single restricted period\n    await client.edit_group_info(\n        group=\"g0...\",\n        restricted_period=[{\n            \"days_of_week\": [\"Saturday\", \"Sunday\"],\n            \"from_time\": \"00:00\",\n            \"to_time\": \"06:00\"\n        }]\n    )\n\n    # Multiple restricted periods\n    await client.edit_group_info(\n        group=\"g0...\",\n        restricted_period=[\n            {\n                \"days_of_week\": [\"Saturday\", \"Sunday\", \"Monday\"],\n                \"from_time\": \"01:13\",\n                \"to_time\": \"08:16\"\n            },\n            {\n                \"days_of_week\": [\"Tuesday\", \"Wednesday\"],\n                \"from_time\": \"22:00\",\n                \"to_time\": \"04:00\"  # Can cross midnight\n            }\n        ]\n    )"
        },
        {
          "name": "edit_group_timer",
          "signature": "edit_group_timer(self: 'darkob.Client', group: str, timer: typing.Union[str, int])",
          "group": "groups",
          "module": "darkob.client.groups.edit_group_timer",
          "doc": "Parameters:\n    group (str): The GUID or link of the group.\n    timer (Union[str, int]): The new slow mode setting for the group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "edit_group_title",
          "signature": "edit_group_title(self: 'darkob.Client', group: str, title: str)",
          "group": "groups",
          "module": "darkob.client.groups.edit_group_title",
          "doc": "Edit title of a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n    title (str): The new title of the group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "edit_join_link",
          "signature": "edit_join_link(self: 'darkob.Client', chat: str, join_link: str, title: Optional[str]=None, expire_time: Optional[int]=None, request_needed: Optional[bool]=None, usage_limit: Optional[int]=None)",
          "group": "chats",
          "module": "darkob.client.chats.edit_join_link",
          "doc": "Edit an existing invite link for a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the target group or channel.\n    join_link (str): The join link to edit.\n    expire_time (Optional[int]): The new expiration time of the link in seconds.\n    request_needed (Optional[bool]): Whether join requests must be approved manually.\n    title (Optional[str]): A new custom title for the invite link.\n    usage_limit (Optional[int]): The new maximum number of times the link can be used.\n\nReturns:\n    The API response containing the edited invite link."
        },
        {
          "name": "edit_message",
          "signature": "edit_message(self: 'darkob.Client', chat: str, message_id: Union[int, str], text: str, metadata: Optional[dict]=None)",
          "group": "messages",
          "module": "darkob.client.messages.edit_message",
          "doc": "Edit the specified message associated with the given chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat associated with the message\n        (e.g., user, group, channel).\n    message_id (Union[int, str]): The ID of the message to be edited.\n    text (str): The new text content for the message.\n    metadata (dict, optional): Pre-formatted metadata (Bold, Italic, etc.).\n\nReturns:\n    The updated information after editing the message."
        },
        {
          "name": "edit_show_birthday",
          "signature": "edit_show_birthday(self: 'darkob.Client', setting: str, exceptions: Optional[Dict[str, List[str]]]=None)",
          "group": "settings",
          "module": "darkob.client.settings.edit_show_birthday",
          "doc": "Edits the setting to show or hide the user's birthday.\n\nParameters:\n    setting (str): 'Everybody', 'MyContacts' or 'Nobody'\n    exceptions (Optional[Dict[str, List[str]]]): \n        - 'include_users': List[str] - Users to always allow\n        - 'exclude_users': List[str] - Users to always deny\n\n        To clear exceptions, pass {'exclude_users': []}\n\nReturns:\n    The updated privacy settings after the change."
        },
        {
          "name": "edit_show_last_online",
          "signature": "edit_show_last_online(self: 'darkob.Client', setting: str, exceptions: Optional[Dict[str, List[str]]]=None)",
          "group": "settings",
          "module": "darkob.client.settings.edit_show_last_online",
          "doc": "Edits the setting to control who can see the user's last online status.\n\nParameters:\n    setting (str): 'Everybody', 'MyContacts' or 'Nobody'\n    exceptions (Optional[Dict[str, List[str]]]): \n        - 'include_users': List[str] - Users to always allow\n        - 'exclude_users': List[str] - Users to always deny\n\n        To clear exceptions, pass {'exclude_users': []}\n\nReturns:\n    The updated privacy settings after the change."
        },
        {
          "name": "edit_show_phone_number",
          "signature": "edit_show_phone_number(self: 'darkob.Client', setting: str, exceptions: Optional[Dict[str, List[str]]]=None)",
          "group": "settings",
          "module": "darkob.client.settings.edit_show_phone_number",
          "doc": "Edits the setting to control who can see the user's phone number.\n\nParameters:\n    setting (str): 'Everybody', 'MyContacts' or 'Nobody'\n    exceptions (Optional[Dict[str, List[str]]]): \n        - 'include_users': List[str] - Users to always allow\n        - 'exclude_users': List[str] - Users to always deny\n\n        To clear exceptions, pass {'exclude_users': []}\n\nReturns:\n    The updated privacy settings after the change."
        },
        {
          "name": "edit_show_profile_photo",
          "signature": "edit_show_profile_photo(self: 'darkob.Client', setting: str, exceptions: Optional[Dict[str, List[str]]]=None)",
          "group": "settings",
          "module": "darkob.client.settings.edit_show_profile_photo",
          "doc": "Edits the setting to control who can see the user's profile photo.\n\nParameters:\n    setting (str): 'Everybody', 'MyContacts' or 'Nobody'\n    exceptions (Optional[Dict[str, List[str]]]): \n        - 'include_users': List[str] - Users to always allow\n        - 'exclude_users': List[str] - Users to always deny\n\n        To clear exceptions, pass {'exclude_users': []}\n\nReturns:\n    The updated privacy settings after the change."
        },
        {
          "name": "edit_slow_mode",
          "signature": "edit_slow_mode(self: 'darkob.Client', group: str, slow_mode: typing.Union[str, int])",
          "group": "groups",
          "module": "darkob.client.groups.edit_slow_mode",
          "doc": "Parameters:\n    group (str): The GUID or link of the group.\n    slow_mode (Union[str, int]): The new slow mode setting for the group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "feedback_voice_transcription",
          "signature": "feedback_voice_transcription(self: 'darkob.Client', chat: Union[str, int], message_id: Union[str, int], feedback_type: str, feedback_text: str=None)",
          "group": "extras",
          "module": "darkob.client.extras.feedback_voice_transcription",
          "doc": "Send feedback for a voice transcription.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    message_id (Union[str, int]): The ID of the voice message.\n    feedback_type (str): 'OK' or 'Incorrect'.\n    feedback_text (str, optional): Feedback text. If not provided, uses the transcription text.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "forward_messages",
          "signature": "forward_messages(self: 'darkob.Client', from_chat: str, message_ids: Union[str, int, list], to_chat: str, hide_author: bool=False, is_mute: bool=False, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None)",
          "group": "messages",
          "module": "darkob.client.messages.forward_messages",
          "doc": "Forward specified messages from one chat to another.\n\nParameters:\n    from_chat (str): The GUID, link, or username of the source chat.\n    message_ids (Union[str, int, list]): The IDs of the messages to forward.\n    to_chat (str): The GUID, link, or username of the destination chat.\n    hide_author (bool): Hide the original sender's identity. Default is False.\n    is_mute (bool): Forward silently without notification. Default is False.\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the forwarded message.\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online.\n\nReturns:\n    The updated information after forwarding the messages."
        },
        {
          "name": "get_all_drafts",
          "signature": "get_all_drafts(self: 'darkob.Client')",
          "group": "chats",
          "module": "darkob.client.chats.get_all_drafts",
          "doc": "Get all saved message drafts.\n\nReturns:\n    The result of the API call containing all drafts."
        },
        {
          "name": "get_all_messages",
          "signature": "get_all_messages(self: 'darkob.Client', chat: str, show_message_ids: bool=False)",
          "group": "messages",
          "module": "darkob.client.messages.get_all_messages",
          "doc": "Retrieve all messages from a chat.\n\nParameters:\n    chat (str): Chat identifier or link (username, GUID, or invite link)\n    show_message_ids (bool, optional): Include message IDs in output. Default is False.\n\nReturns:\n    Result containing all messages with total count, first/last IDs, and chat GUID."
        },
        {
          "name": "get_available_reactions",
          "signature": "get_available_reactions(self: 'darkob.Client')",
          "group": "extras",
          "module": "darkob.client.extras.get_available_reactions",
          "doc": "Retrieve the list of available message reactions that can be used in chats.\n\nReturns:\n    Shows available reactions data from the server."
        },
        {
          "name": "get_avatars",
          "signature": "get_avatars(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.get_avatars",
          "doc": "Get avatars of a specific chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to retrieve avatars for.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_banned_members",
          "signature": "get_banned_members(self: 'darkob.Client', chat: str, show_member_guids: bool=False)",
          "group": "chats",
          "module": "darkob.client.chats.get_banned_members",
          "doc": "Get a list of banned members in a channel or group.\n\nParameters:\n    chat (str): The GUID, link, or username of the channel or group.\n    show_member_guids (bool, optional): Show member GUIDs in output. Default is False.\n\nReturns:\n    The result containing banned members with total count and optionally GUIDs."
        },
        {
          "name": "get_blocked_users",
          "signature": "get_blocked_users(self: 'darkob.Client', show_user_guids: bool=False)",
          "group": "users",
          "module": "darkob.client.users.get_blocked_users",
          "doc": "Get a list of all blocked users.\n\nParameters:\n    show_user_guids (bool, optional): Show user GUIDs in output. Default is False.\n\nReturns:\n    The result containing all blocked users with total count."
        },
        {
          "name": "get_bot_info",
          "signature": "get_bot_info(self: 'darkob.Client', bot: str)",
          "group": "bots",
          "module": "darkob.client.bots.get_bot_info",
          "doc": "Get information about a bot.\n\nParameters:\n    bot (str): The GUID or username of the bot.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_channel_admin_access",
          "signature": "get_channel_admin_access(self: 'darkob.Client', channel: str, admin: str)",
          "group": "channels",
          "module": "darkob.client.channels.get_channel_admin_access",
          "doc": "Get the admin access list for a specific member in a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n    admin (str): The GUID or username of the admin for whom admin access is being checked.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_channel_admins",
          "signature": "get_channel_admins(self: 'darkob.Client', channel: str, show_admin_guids: bool=False)",
          "group": "channels",
          "module": "darkob.client.channels.get_channel_admins",
          "doc": "Get the list of admins in a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n    show_admin_guids (bool, optional): Show member GUIDs in output. Default is False.\n\nReturns:\n    Result containing all admins with total count and optionally member_guids."
        },
        {
          "name": "get_channel_info",
          "signature": "get_channel_info(self: 'darkob.Client', channel: str)",
          "group": "channels",
          "module": "darkob.client.channels.get_channel_info",
          "doc": "Get information about a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_channel_link",
          "signature": "get_channel_link(self: 'darkob.Client', channel: str)",
          "group": "channels",
          "module": "darkob.client.channels.get_channel_link",
          "doc": "Get the join link of a channel.\n\nParameters:\n    channel (str): The GUID of the channel.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_channel_members",
          "signature": "get_channel_members(self: 'darkob.Client', channel: str, search_text: str=None, start_id: str=None)",
          "group": "channels",
          "module": "darkob.client.channels.get_channel_members",
          "doc": "Get members in a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n    search_text (str, optional): Text to search for in members. Defaults to None.\n    start_id (str, optional): The ID to start fetching from. Defaults to None.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_channel_post_by_link",
          "signature": "get_channel_post_by_link(self: 'darkob.Client', url: str)",
          "group": "channels",
          "module": "darkob.client.channels.get_channel_post_by_link",
          "doc": "Retrieves channel post by application URL.\n\nParameters:\n    url (str): The channel post URL.\n\nReturns:\n    Channel info and message data."
        },
        {
          "name": "get_channel_seen_count",
          "signature": "get_channel_seen_count(self: 'darkob.Client', channel: str, min_id: Union[str, int], max_id=Union[str, int])",
          "group": "channels",
          "module": "darkob.client.channels.get_channel_seen_count",
          "doc": "Get the view count of a channel within a specific message ID range.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n    min_id (Union[str, int]): Minimum message ID in the range (inclusive).\n    max_id (Union[str, int]): Maximum message ID in the range (inclusive).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_channel_statistics",
          "signature": "get_channel_statistics(self: 'darkob.Client', channel: str)",
          "group": "channels",
          "module": "darkob.client.channels.get_channel_statistics",
          "doc": "Get all statistics for a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n\nReturns:\n    The result of the API call containing channel statistics."
        },
        {
          "name": "get_chat_ads",
          "signature": "get_chat_ads(self: 'darkob.Client', state: int=round(time()) - 150)",
          "group": "chats",
          "module": "darkob.client.chats.get_chat_ads",
          "doc": "Retrieves advertising information for chats.\n\nParameters:\n    state (int, optional): The timestamp state to filter chat ads. \n        Defaults to the current time minus 150 seconds.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_chat_info",
          "signature": "get_chat_info(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.get_chat_info",
          "doc": "Get information about a user, group, or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (user, group, or channel).\n\nReturns:\n    The update containing information about the chat."
        },
        {
          "name": "get_chat_messages",
          "signature": "get_chat_messages(self: 'darkob.Client', chat: str, max_id: Union[str, int]=None, sort: Literal['FromMax', 'FromMin']='FromMin', filter_type: Optional[Literal['Voice', 'File', 'Music', 'Gif', 'Media', 'Link']]=None, limit: int=None)",
          "group": "messages",
          "module": "darkob.client.messages.get_chat_messages",
          "doc": "Get messages from a chat with filtering and pagination.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    max_id (Union[str, int], optional): Maximum message ID to start from.\n    sort (Literal['FromMax', 'FromMin']): Sort direction. Default is 'FromMin'.\n    filter_type (Literal, optional): Filter messages by type:\n        'Voice', 'File', 'Music', 'Gif', 'Media', 'Link'\n    limit (int, optional): Maximum number of messages to retrieve. If None, fetches all messages.\n\nReturns:\n    The result containing messages, count, and pagination info."
        },
        {
          "name": "get_chat_voice_chat",
          "signature": "get_chat_voice_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.get_chat_voice_chat",
          "doc": "Get the voice chat information for a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n\nReturns:\n    The voice chat information."
        },
        {
          "name": "get_chats",
          "signature": "get_chats(self: 'darkob.Client', show_chat_guids: bool=False, auto_start_id: bool=True, start_id: str=None)",
          "group": "chats",
          "module": "darkob.client.chats.get_chats",
          "doc": "Get a list of all chats.\n\nParameters:\n    show_chat_guids (bool, optional):\n        If True, include chat GUIDs in the result.\n        Default is False.\n    auto_start_id (bool, optional):\n        If True, automatically fetch all pages of chats.\n        If False, only fetch one page using start_id.\n        Default is True.\n    start_id (str, optional):\n        Starting chat ID for pagination.\n        Only used when auto_start_id is False.\n\nReturns:\n    Data: The result containing chats with total count and optionally GUIDs."
        },
        {
          "name": "get_chats_info",
          "signature": "get_chats_info(self: 'darkob.Client', chats: Union[str, List[str]])",
          "group": "chats",
          "module": "darkob.client.chats.get_chats_info",
          "doc": "Get information about multiple chats by their GUIDs.\n\nParameters:\n    chats (Union[str, List[str]]): A single chat (GUID, username, or link) or a list of them.\n\nReturns:\n    The result of the API call containing chats information."
        },
        {
          "name": "get_chats_updates",
          "signature": "get_chats_updates(self: 'darkob.Client', state: Optional[Union[str, int]]=None)",
          "group": "chats",
          "module": "darkob.client.chats.get_chats_updates",
          "doc": "Get updates for chats.\n\nParameters:\n    state (Optional[Union[str, int]]): State parameter for syncing updates. If not provided,\n        it uses the current time minus 150 seconds.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_common_groups",
          "signature": "get_common_groups(self: 'darkob.Client', user: str)",
          "group": "users",
          "module": "darkob.client.users.get_common_groups",
          "doc": "Get groups in common with a user.\n\nParameters:\n    user (str): User's GUID/username.\n\nReturns:\n    Common groups list."
        },
        {
          "name": "get_contacts",
          "signature": "get_contacts(self: 'darkob.Client', show_user_guids: bool=False)",
          "group": "users",
          "module": "darkob.client.users.get_contacts",
          "doc": "Get a list of all contacts.\n\nParameters:\n    show_user_guids (bool, optional): Show user GUIDs in output.\n        Default is False.\n\nReturns:\n    The result containing all contacts with total count."
        },
        {
          "name": "get_contacts_last_online",
          "signature": "get_contacts_last_online(self: 'darkob.Client', users: Union[str, List[str]])",
          "group": "users",
          "module": "darkob.client.users.get_contacts_last_online",
          "doc": "Get the last online status of multiple users.\n\nParameters:\n    users (Union[str, List[str]]): The GUID(s) or username(s) of the contacts.\n\nReturns:\n    Last online status for each user."
        },
        {
          "name": "get_contacts_stories",
          "signature": "get_contacts_stories(self: 'darkob.Client')",
          "group": "users",
          "module": "darkob.client.users.get_contacts_stories",
          "doc": "Get stories from contacts in the chat page.\n\nReturns:\n    The result of the API call containing contacts stories."
        },
        {
          "name": "get_contacts_updates",
          "signature": "get_contacts_updates(self: 'darkob.Client', state: Optional[Union[str, int]]=round(time()) - 150)",
          "group": "users",
          "module": "darkob.client.users.get_contacts_updates",
          "doc": "Get updates related to contacts.\n\nParameters:\n    state (Optional[Union[str, int]], optional):\n        The state parameter to filter updates. Defaults to `round(time()) - 150`.\n\nReturns:\n    The update related to contacts."
        },
        {
          "name": "get_first_message",
          "signature": "get_first_message(self: 'darkob.Client', chat: str)",
          "group": "messages",
          "module": "darkob.client.messages.get_first_message",
          "doc": "Get the first message of a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    The first message details."
        },
        {
          "name": "get_first_messages",
          "signature": "get_first_messages(self: 'darkob.Client', chat: str, limit: int=100)",
          "group": "messages",
          "module": "darkob.client.messages.get_first_messages",
          "doc": "Get the first messages of a chat up to a limit.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    limit (int): Maximum number of messages to retrieve (max 100, min 1).\n\nReturns:\n    List of first messages and count."
        },
        {
          "name": "get_folders",
          "signature": "get_folders(self: 'darkob.Client', last_state: Union[int, str]=round(time()) - 150)",
          "group": "settings",
          "module": "darkob.client.settings.get_folders",
          "doc": "Get a list of folders.\n\nParameters:\n    last_state (Union[int, str]): The last state to retrieve folders.\n\nReturns:\n    List of folders."
        },
        {
          "name": "get_group_admin_access",
          "signature": "get_group_admin_access(self: 'darkob.Client', group: str, admin: str)",
          "group": "groups",
          "module": "darkob.client.groups.get_group_admin_access",
          "doc": "Get the admin access for a member in a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n    admin (str): The GUID or username of the admin for whom admin access is being checked.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_group_admins",
          "signature": "get_group_admins(self: 'darkob.Client', group: str, show_admin_guids: bool=False)",
          "group": "groups",
          "module": "darkob.client.groups.get_group_admins",
          "doc": "Get the list of admins in a group.\n\nParameters:\n    group (str): The GUID, link, or username of the group.\n    show_admin_guids (bool, optional): Show admin GUIDs in output. Default is False.\n\nReturns:\n    Result containing all admins with total count."
        },
        {
          "name": "get_group_default_access",
          "signature": "get_group_default_access(self: 'darkob.Client', group: str)",
          "group": "groups",
          "module": "darkob.client.groups.get_group_default_access",
          "doc": "Get the default access settings for a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_group_info",
          "signature": "get_group_info(self: 'darkob.Client', group: str)",
          "group": "groups",
          "module": "darkob.client.groups.get_group_info",
          "doc": "Get information about a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_group_link",
          "signature": "get_group_link(self: 'darkob.Client', group: str)",
          "group": "groups",
          "module": "darkob.client.groups.get_group_link",
          "doc": "Get the link associated with a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_group_members",
          "signature": "get_group_members(self: 'darkob.Client', group: str, search_text: str=None, start_id: str=None)",
          "group": "groups",
          "module": "darkob.client.groups.get_group_members",
          "doc": "Get members of a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n    search_text (str, optional): Search text for filtering members. Defaults to None.\n    start_id (str, optional): The starting ID for pagination. Defaults to None.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_group_mention_list",
          "signature": "get_group_mention_list(self: 'darkob.Client', group: str, search_mention: str=None)",
          "group": "groups",
          "module": "darkob.client.groups.get_group_mention_list",
          "doc": "Get the mention list for a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n    search_mention (str, optional): Search text for mentions.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_group_message_read_participants",
          "signature": "get_group_message_read_participants(self: 'darkob.Client', group: str, message_id: Union[str, int])",
          "group": "groups",
          "module": "darkob.client.groups.get_group_message_read_participants",
          "doc": "Get list of participants who have read a specific message in a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n    message_id (Union[str, int]): The ID of the message.\n\nReturns:\n    The result of the API call containing read participants."
        },
        {
          "name": "get_group_online_count",
          "signature": "get_group_online_count(self: 'darkob.Client', group: str)",
          "group": "groups",
          "module": "darkob.client.groups.get_group_online_count",
          "doc": "Retrieves the number of online members in a specified group.\n\nParameters:\n    group (str): The GUID or link of the group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_guid",
          "signature": "get_guid(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.get_guid",
          "doc": "Retrieves the GUID of a user, group, channel, or bot.\n\nParameters:\n    chat (str): The username, group link, channel link, or bot username.\n\nReturns:\n    str: The GUID of the chat."
        },
        {
          "name": "get_info_by_link",
          "signature": "get_info_by_link(self: 'darkob.Client', link: str)",
          "group": "chats",
          "module": "darkob.client.chats.get_info_by_link",
          "doc": "Get group or channel preview by join link.\n\nParameters:\n    link (str): The join link.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_info_by_username",
          "signature": "get_info_by_username(self: 'darkob.Client', username: str)",
          "group": "chats",
          "module": "darkob.client.chats.get_info_by_username",
          "doc": "Get an chat (user, bot, or channel) by its username.\n\nParameters:\n    username (str): The username of the chat.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_inline_bots",
          "signature": "get_inline_bots(self: 'darkob.Client', bots: Union[str, List[str]])",
          "group": "bots",
          "module": "darkob.client.bots.get_inline_bots",
          "doc": "Retrieve information about inline bots by their GUIDs or usernames.\n\nParameters:\n    bots (Union[str, List[str]]): A single bot GUID/username or a list of bot GUIDs/usernames.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_join_links",
          "signature": "get_join_links(self: 'darkob.Client', chat: str, creator: str=None)",
          "group": "chats",
          "module": "darkob.client.chats.get_join_links",
          "doc": "Retrieves a list of join links for a specific group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the target group or channel.\n\nReturns:\n    The API response containing the join links."
        },
        {
          "name": "get_join_requests",
          "signature": "get_join_requests(self: 'darkob.Client', chat: str, show_user_guids: bool=False)",
          "group": "chats",
          "module": "darkob.client.chats.get_join_requests",
          "doc": "Get a list of join requests in a channel or group.\n\nParameters:\n    chat (str): The GUID, link, or username of the channel or group.\n    show_user_guids (bool, optional): Show user GUIDs in output. Default is False.\n\nReturns:\n    Data: The result containing all join requests with total count."
        },
        {
          "name": "get_last_message",
          "signature": "get_last_message(self: 'darkob.Client', chat: str)",
          "group": "messages",
          "module": "darkob.client.messages.get_last_message",
          "doc": "Get the last message from a chat and retrieve its details.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    The last message details."
        },
        {
          "name": "get_last_messages",
          "signature": "get_last_messages(self: 'darkob.Client', chat: str, limit: int=100)",
          "group": "messages",
          "module": "darkob.client.messages.get_last_messages",
          "doc": "Get the last messages of a chat up to a limit.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    limit (int): Maximum number of messages to retrieve (max 1000).\n\nReturns:\n    List of last messages and count."
        },
        {
          "name": "get_last_online",
          "signature": "get_last_online(self: 'darkob.Client', user: str)",
          "group": "users",
          "module": "darkob.client.users.get_last_online",
          "doc": "Get the last online status of a user.\n\nParameters:\n    user (str): The GUID, link, or username of the user.\n\nReturns:\n    Last online status with details."
        },
        {
          "name": "get_link_from_app_url",
          "signature": "get_link_from_app_url(self: 'darkob.Client', url: str)",
          "group": "extras",
          "module": "darkob.client.extras.get_link_from_app_url",
          "doc": "Get a direct link from an application URL.\n\nParameters:\n    url (str): The application URL to extract the link from.\n\nReturns:\n    Data: The result containing the extracted link."
        },
        {
          "name": "get_live_comments",
          "signature": "get_live_comments(self: 'darkob.Client', live_id: str, access_token: str)",
          "group": "extras",
          "module": "darkob.client.extras.get_live_comments",
          "doc": "Get live stream comments.\n\nParameters:\n    live_id (str): Live stream ID.\n    access_token (str): Access token from send_live response.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_live_play_url",
          "signature": "get_live_play_url(self: 'darkob.Client', access_token: str, live_id: str)",
          "group": "extras",
          "module": "darkob.client.extras.get_live_play_url",
          "doc": "Retrieves the play URL for a live stream.\n\nParameters:\n    access_token (str): The access token for authentication.\n    live_id (str): The ID of the live stream.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_live_status",
          "signature": "get_live_status(self: 'darkob.Client', live_id: str, access_token: str)",
          "group": "extras",
          "module": "darkob.client.extras.get_live_status",
          "doc": "Get live stream status.\n\nParameters:\n    live_id (str): Live stream ID.\n    access_token (str): Access token from send_live response.\n\nReturns:\n    Live status info."
        },
        {
          "name": "get_location_view",
          "signature": "get_location_view(self: 'darkob.Client', latitude: float, longitude: float)",
          "group": "extras",
          "module": "darkob.client.extras.get_location_view",
          "doc": "Get map view for a location.\n\nParameters:\n    latitude (float): Latitude (-90 to 90)\n    longitude (float): Longitude (-180 to 180)\n\nReturns:\n    Map view data."
        },
        {
          "name": "get_me",
          "signature": "get_me(self: 'darkob.Client', refresh: bool=False, ttl: float=300.0)",
          "group": "users",
          "module": "darkob.client.users.get_me",
          "doc": "Get information about the authenticated user.\n\nThe result is cached for ``ttl`` seconds (default 5 minutes),\nbecause profile reads are frequent and rarely change. Pass\n``refresh=True`` to force a new request.\n\nParameters:\n    refresh (bool): Ignore the cache. Defaults to False.\n    ttl (float): Cache lifetime in seconds. Defaults to 300.\n\nReturns:\n    Information about the authenticated user."
        },
        {
          "name": "get_message_info",
          "signature": "get_message_info(self: 'darkob.Client', chat: str, message_id: Union[str, int])",
          "group": "messages",
          "module": "darkob.client.messages.get_message_info",
          "doc": "Get detailed information about a message.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    message_id (Union[str, int]): The ID of the message to retrieve.\n\nReturns:\n    Message information."
        },
        {
          "name": "get_message_url",
          "signature": "get_message_url(self: 'darkob.Client', chat: str, message_id: Union[str, int])",
          "group": "messages",
          "module": "darkob.client.messages.get_message_url",
          "doc": "Get the shareable URL of a specific message.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to which the message belongs.\n    message_id (Union[str, int]): The ID of the message for which to retrieve the shareable URL.\n\nReturns:\n    The shareable URL of the specified message."
        },
        {
          "name": "get_messages",
          "signature": "get_messages(self: 'darkob.Client', chat: str, types: Optional[Union[str, List[str]]]=None)",
          "group": "messages",
          "module": "darkob.client.messages.get_messages",
          "doc": "Get messages from a chat with optional type filtering.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    types (Optional[Union[str, List[str]]]): Type(s) of messages to filter by.\n        Each item is independent.\n        Available types:\n            - \"text\": Text messages\n            - \"image\": Image messages\n            - \"video\": Video messages (non-round)\n            - \"video_message\": Round video messages\n            - \"voice\": Voice messages\n            - \"music\": Music messages\n            - \"file\": File messages\n            - \"gif\": GIF messages\n            - \"live\": Live messages\n            - \"location\": Location messages\n            - \"poll\": Poll messages\n            - \"contact\": Contact messages (only private chats)\n            - \"event\": Event messages\n            - \"edited\": Edited messages\n            - \"forwarded\": Forwarded messages\n            - \"sticker\": Sticker messages\n            - \"me\": Messages sent by the client itself\n            - \"bots\": Messages sent by bots\n            - \"users\": Messages sent by users\n        You can also pass a member GUID or username for member filtering.\n        If None, returns all messages.\n\nReturns:\n    - messages: list of filtered messages.\n    - count: number of filtered messages.\n    - chat_guid: The GUID of the chat.\n    - total_all: total messages before filtering.\n    - filter_types: list of applied type filters.\n    - member_guids: list of applied member GUID filters."
        },
        {
          "name": "get_messages_by_id",
          "signature": "get_messages_by_id(self: 'darkob.Client', chat: str, message_ids: Union[str, int, list])",
          "group": "messages",
          "module": "darkob.client.messages.get_messages_by_id",
          "doc": "Retrieve messages by their IDs.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to which the messages belong.\n    message_ids (Union[str, int, list]): The ID or list of IDs of the messages to retrieve.\n\nReturns:\n    The retrieved messages identified by their IDs."
        },
        {
          "name": "get_messages_interval",
          "signature": "get_messages_interval(self: 'darkob.Client', chat: str, middle_message_id: Union[int, str])",
          "group": "messages",
          "module": "darkob.client.messages.get_messages_interval",
          "doc": "Retrieve messages in an interval around a middle message ID.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to which the messages belong.\n    middle_message_id (Union[int, str]): The middle message ID around which the interval is determined.\n\nReturns:\n    The retrieved messages in the specified interval."
        },
        {
          "name": "get_messages_reactions",
          "signature": "get_messages_reactions(self: 'darkob.Client', chat: str, min_id: Union[str, int], max_id: Union[str, int])",
          "group": "messages",
          "module": "darkob.client.messages.get_messages_reactions",
          "doc": "Get reactions of messages in a chat within a specific ID range.\n\nParameters:\n    chat (str): Chat identifier (link, username, or GUID)\n    min_id (Union[str, int]): Minimum message ID (lower bound)\n    max_id (Union[str, int]): Maximum message ID (upper bound)\n\nReturns:\n    List of reactions for messages in the specified range."
        },
        {
          "name": "get_messages_updates",
          "signature": "get_messages_updates(self: 'darkob.Client', chat: str, state: int=round(time()) - 150)",
          "group": "messages",
          "module": "darkob.client.messages.get_messages_updates",
          "doc": "Get message updates for a specific chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat for which updates are requested.\n    state (int): The state at which updates are requested. Defaults to a timestamp approximately 150 seconds ago.\n\nReturns:\n    The message updates for the specified chat."
        },
        {
          "name": "get_my_archived_sticker_sets",
          "signature": "get_my_archived_sticker_sets(self: 'darkob.Client', start_id: str=None)",
          "group": "extras",
          "module": "darkob.client.extras.get_my_archived_sticker_sets",
          "doc": "Get archived sticker sets of the current user.\n\nParameters:\n    start_id (str, optional): The ID to start fetching from. Defaults to None.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_my_gif_set",
          "signature": "get_my_gif_set(self: 'darkob.Client')",
          "group": "extras",
          "module": "darkob.client.extras.get_my_gif_set",
          "doc": "Gets the user's personal GIF set.\n\nReturns:\n    Information about the user's GIF set."
        },
        {
          "name": "get_my_guid",
          "signature": "get_my_guid(self: 'darkob.Client')",
          "group": "chats",
          "module": "darkob.client.chats.get_my_guid",
          "doc": "Get the GUID of the currently authenticated user.\n\nReturns:\n    str: The user's GUID."
        },
        {
          "name": "get_my_sessions",
          "signature": "get_my_sessions(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.get_my_sessions",
          "doc": "Get information about the current user's sessions.\n\nReturns:\n    Information about the user's sessions."
        },
        {
          "name": "get_my_sticker_sets",
          "signature": "get_my_sticker_sets(self: 'darkob.Client')",
          "group": "extras",
          "module": "darkob.client.extras.get_my_sticker_sets",
          "doc": "Get the sticker sets owned by the user.\n\nReturns:\n    The sticker sets owned by the user."
        },
        {
          "name": "get_notification_setting",
          "signature": "get_notification_setting(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.get_notification_setting",
          "doc": "Retrieves the current notification settings for the account.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_pending_owner",
          "signature": "get_pending_owner(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.get_pending_owner",
          "doc": "Retrieves the pending owner information for a specified chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    An update chat containing details about the\n        pending owner of the specified chat."
        },
        {
          "name": "get_pinned_messages",
          "signature": "get_pinned_messages(self: 'darkob.Client', chat: str)",
          "group": "messages",
          "module": "darkob.client.messages.get_pinned_messages",
          "doc": "Get all pinned messages from a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    Data: Dictionary containing pinned messages and optionally message IDs."
        },
        {
          "name": "get_poll_option_voters",
          "signature": "get_poll_option_voters(self: 'darkob.Client', poll_id: str, selection_index: Union[str, int], start_id: Optional[str]=None)",
          "group": "messages",
          "module": "darkob.client.messages.get_poll_option_voters",
          "doc": "Get voters for a specific poll option.\n\nParameters:\n    poll_id (str): The ID of the poll for which voters are requested.\n    selection_index (Union[str, int]): The index of the poll option for which voters are requested.\n    start_id (Optional[str]): The ID from which to start fetching voters. Defaults to None.\n\nReturns:\n    The voters for the specified poll option."
        },
        {
          "name": "get_poll_status",
          "signature": "get_poll_status(self: 'darkob.Client', poll_id: str)",
          "group": "messages",
          "module": "darkob.client.messages.get_poll_status",
          "doc": "Get the status of a specific poll.\n\nParameters:\n    poll_id (str): The ID of the poll for which the status is requested.\n\nReturns:\n    The status of the specified poll."
        },
        {
          "name": "get_post_by_ask_link",
          "signature": "get_post_by_ask_link(self: 'darkob.Client', url: str)",
          "group": "channels",
          "module": "darkob.client.channels.get_post_by_ask_link",
          "doc": "Retrieves channel post by ask_join_link (go.rubika.ir link).\n\nParameters:\n    url (str): The go.rubika.ir link.\n\nReturns:\n    Channel info and message data."
        },
        {
          "name": "get_privacy_setting",
          "signature": "get_privacy_setting(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.get_privacy_setting",
          "doc": "Get the current user's privacy setting.\n\nReturns:\n    The current user's privacy setting."
        },
        {
          "name": "get_profile_link_items",
          "signature": "get_profile_link_items(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.get_profile_link_items",
          "doc": "Get profile link items for a given chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_related_chats",
          "signature": "get_related_chats(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.get_related_chats",
          "doc": "Get related chats for a given chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_saved_music_playlist",
          "signature": "get_saved_music_playlist(self: 'darkob.Client', user: str)",
          "group": "users",
          "module": "darkob.client.users.get_saved_music_playlist",
          "doc": "Get the saved music playlist of a user.\n\nParameters:\n    user (str): The GUID or username of the user.\n\nReturns:\n    The result of the API call containing saved music playlist."
        },
        {
          "name": "get_scheduled_messages",
          "signature": "get_scheduled_messages(self: 'darkob.Client', chat: str, start_id: str=None)",
          "group": "messages",
          "module": "darkob.client.messages.get_scheduled_messages",
          "doc": "Get scheduled messages in a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    start_id (str, optional): The ID to start fetching from. Defaults to None.\n\nReturns:\n    The result of the API call containing scheduled messages."
        },
        {
          "name": "get_service_info",
          "signature": "get_service_info(self: 'darkob.Client', service: str)",
          "group": "bots",
          "module": "darkob.client.bots.get_service_info",
          "doc": "Get information about a service.\n\nParameters:\n    service (str): The GUID of the service.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_sticker_set_by_id",
          "signature": "get_sticker_set_by_id(self: 'darkob.Client', sticker_set_id: str)",
          "group": "extras",
          "module": "darkob.client.extras.get_sticker_set_by_id",
          "doc": "Get a sticker set by its ID.\n\nParameters:\n    sticker_set_id (str): The ID of the sticker set.\n\nReturns:\n    The sticker set corresponding to the provided ID."
        },
        {
          "name": "get_sticker_setting",
          "signature": "get_sticker_setting(self: 'darkob.Client')",
          "group": "extras",
          "module": "darkob.client.extras.get_sticker_setting",
          "doc": "Get the sticker settings of the current user.\n\nReturns:\n    The result of the API call containing sticker settings."
        },
        {
          "name": "get_stickers_by_emoji",
          "signature": "get_stickers_by_emoji(self: 'darkob.Client', emoji: str, suggest_by: str='All')",
          "group": "extras",
          "module": "darkob.client.extras.get_stickers_by_emoji",
          "doc": "Get stickers by emoji.\n\nParameters:\n    emoji (str): The emoji character.\n    suggest_by (str): The type of suggestion (default is 'All').\n\nReturns:\n    Stickers corresponding to the provided emoji and suggestion type."
        },
        {
          "name": "get_stickers_by_set_ids",
          "signature": "get_stickers_by_set_ids(self: 'darkob.Client', sticker_set_ids: Union[str, list])",
          "group": "extras",
          "module": "darkob.client.extras.get_stickers_by_set_ids",
          "doc": "Get stickers by set IDs.\n\nParameters:\n    sticker_set_ids (Union[str, list]): The sticker set ID or a list of sticker set IDs.\n\nReturns:\n    Stickers corresponding to the provided set IDs."
        },
        {
          "name": "get_string_session",
          "signature": "get_string_session(self: 'darkob.Client', password: Optional[str]=None)",
          "group": "base",
          "module": "darkob.client.base.get_string_session",
          "doc": "Export current session as an encrypted StringSession.\n\nParameters:\n    password (Optional[str]): Optional password for encryption.\n        If provided, StringSession can only be opened with this password.\n\nReturns:\n    str: Encrypted StringSession that can be used later with\n         `Messenger(string_session=..., password=...)`."
        },
        {
          "name": "get_suggested_folders",
          "signature": "get_suggested_folders(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.get_suggested_folders",
          "doc": "Get the suggested folders for the user.\n\nReturns:\n    The suggested folders for the user."
        },
        {
          "name": "get_time",
          "signature": "get_time(self: 'darkob.Client')",
          "group": "extras",
          "module": "darkob.client.extras.get_time",
          "doc": "Retrieve the current server time.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_top_users",
          "signature": "get_top_users(self: 'darkob.Client')",
          "group": "users",
          "module": "darkob.client.users.get_top_users",
          "doc": "Get list of top users.\n\nReturns:\n    List of top users."
        },
        {
          "name": "get_trend_sticker_sets",
          "signature": "get_trend_sticker_sets(self: 'darkob.Client', start_id: str=None)",
          "group": "extras",
          "module": "darkob.client.extras.get_trend_sticker_sets",
          "doc": "Get trending sticker sets.\n\nParameters:\n    start_id (str): The start ID for pagination.\n\nReturns:\n    Trending sticker sets."
        },
        {
          "name": "get_two_passcode_status",
          "signature": "get_two_passcode_status(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.get_two_passcode_status",
          "doc": "Get the two-passcode status for the user.\n\nReturns:\n    The two-passcode status for the user."
        },
        {
          "name": "get_unconfirmed_sessions",
          "signature": "get_unconfirmed_sessions(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.get_unconfirmed_sessions",
          "doc": "Get a list of unconfirmed (pending) sessions for the current account.\n\nReturns:\n    The result of the API call containing unconfirmed sessions."
        },
        {
          "name": "get_unread_mentions",
          "signature": "get_unread_mentions(self: 'darkob.Client', group: str, max_id: Union[str, int], min_id: Union[str, int], sort: str=None)",
          "group": "groups",
          "module": "darkob.client.groups.get_unread_mentions",
          "doc": "Get unread mentions in a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n    max_id (Union[str, int]): Maximum message ID.\n    min_id (Union[str, int]): Minimum message ID.\n    sort (str, optional): Sort order. Defaults to None.\n\nReturns:\n    The result of the API call containing unread mentions."
        },
        {
          "name": "get_updates",
          "signature": "get_updates(self: 'darkob.Client')",
          "group": "base",
          "module": "darkob.client.base.get_updates",
          "doc": "Listen for updates from Rubika's WebSocket.\n\nReturns:\n    None"
        },
        {
          "name": "get_user_info",
          "signature": "get_user_info(self: 'darkob.Client', user: str=None)",
          "group": "users",
          "module": "darkob.client.users.get_user_info",
          "doc": "Get information about a specific user.\n\nParameters:\n    user (str): The GUID or username of the user.\n\nReturns:\n    Information about the specified user."
        },
        {
          "name": "get_voice_chat_participants",
          "signature": "get_voice_chat_participants(self: 'darkob.Client', chat: str, show_user_guids: bool=False)",
          "group": "chats",
          "module": "darkob.client.chats.get_voice_chat_participants",
          "doc": "Get list of participants in a voice chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n    show_user_guids (bool, optional): Show user GUIDs in output. Default is False.\n\nReturns:\n    The result containing all voice chat participants with total count."
        },
        {
          "name": "get_voice_chat_updates",
          "signature": "get_voice_chat_updates(self: 'darkob.Client', chat: str, state: int=None)",
          "group": "chats",
          "module": "darkob.client.chats.get_voice_chat_updates",
          "doc": "Get voice chat updates for a group.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n    state (int, optional): The state for updates. If not provided, it defaults to the current time minus 150 seconds.\n\nReturns:\n    Update group containing the voice chat updates."
        },
        {
          "name": "get_wallet_transaction_message",
          "signature": "get_wallet_transaction_message(self: 'darkob.Client', transfer_id: str, access_transfer: str)",
          "group": "extras",
          "module": "darkob.client.extras.get_wallet_transaction_message",
          "doc": "Get the message associated with a wallet transaction.\n\nParameters:\n    transfer_id (str): The ID of the wallet transaction.\n    access_transfer (str): The access hash for the transaction.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_wallpapers",
          "signature": "get_wallpapers(self: 'darkob.Client')",
          "group": "extras",
          "module": "darkob.client.extras.get_wallpapers",
          "doc": "Get the current chat wallpaper settings.\n\nReturns:\n    The result of the API call containing wallpaper information."
        },
        {
          "name": "heartbeat",
          "signature": "heartbeat(self: 'darkob.Client', chat_guid: str)",
          "group": "chats",
          "module": "darkob.client.chats.play_voice_chat",
          "doc": ""
        },
        {
          "name": "iter_messages",
          "signature": "iter_messages(self: 'darkob.Client', chat: str, *, sort: str='FromMin', filter_type: Optional[str]=None, page_size: int=25, max_items: Optional[int]=None)",
          "group": "messages",
          "module": "darkob.client.messages.iter_messages",
          "doc": "Yield messages from *chat*, one page at a time.\n\nParameters:\n    chat (str): Chat GUID, link or username.\n    sort (str): 'FromMin' (oldest first) or 'FromMax' (newest first).\n    filter_type (str, optional): 'Voice', 'File', 'Music', 'Gif',\n        'Media' or 'Link'.\n    page_size (int): Messages requested per round-trip.\n    max_items (int, optional): Stop after this many messages.\n\nYields:\n    Each message as a :class:`~darkob.data.Data` object."
        },
        {
          "name": "join_channel",
          "signature": "join_channel(self: 'darkob.Client', channel: str)",
          "group": "channels",
          "module": "darkob.client.channels.join_channel",
          "doc": "Join a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n\nReturns:\n    Result of the API call."
        },
        {
          "name": "join_chat",
          "signature": "join_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.join_chat",
          "doc": "Join a chat (channel or group).\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (channel or group).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "join_group",
          "signature": "join_group(self: 'darkob.Client', group: str)",
          "group": "groups",
          "module": "darkob.client.groups.join_group",
          "doc": "Join a group using the provided link.\n\nParameters:\n    group (str): The group link.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "join_voice_chat",
          "signature": "join_voice_chat(self: 'darkob.Client', chat: str, sdp_offer_data: str | None = None)",
          "group": "chats",
          "module": "darkob.client.chats.join_voice_chat",
          "doc": "Join to the group | channel voice chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n    sdp_offer_data (str, optional): SDP offer data. If not provided, uses default.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "leave_channel",
          "signature": "leave_channel(self: 'darkob.Client', channel: str)",
          "group": "channels",
          "module": "darkob.client.channels.leave_channel",
          "doc": "Leave a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "leave_chat",
          "signature": "leave_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.leave_chat",
          "doc": "Leave a chat (channel or group).\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (channel or group).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "leave_group",
          "signature": "leave_group(self: 'darkob.Client', group: str)",
          "group": "groups",
          "module": "darkob.client.groups.leave_group",
          "doc": "Leave a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "leave_voice_chat",
          "signature": "leave_voice_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.leave_voice_chat",
          "doc": "Leave a voice chat in a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "lock_group",
          "signature": "lock_group(self: 'darkob.Client', group: str)",
          "group": "groups",
          "module": "darkob.client.groups.lock_group",
          "doc": "Lock a group by disabling SendMessage access.\n\nParameters:\n    group (str): The GUID or link of the group.\n\nReturns:\n    Result message."
        },
        {
          "name": "login_disable_two_step",
          "signature": "login_disable_two_step(self: 'darkob.Client', phone_number: str, email_code: str, forget_password_code_hash: str)",
          "group": "settings",
          "module": "darkob.client.settings.login_disable_two_step",
          "doc": "Disable two-step verification during login.\n\nParameters:\n    phone_number (str): The phone number associated with the account.\n    email_code (str): The verification code sent to email.\n    forget_password_code_hash (str): The code hash for\n        forgotten password flow.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "login_two_step_forget_password",
          "signature": "login_two_step_forget_password(self: 'darkob.Client', phone_number: str)",
          "group": "settings",
          "module": "darkob.client.settings.login_two_step_forget_password",
          "doc": "Start the password recovery process for two-step verification.\n\nUse this when the user has forgotten their two-step verification password.\nThis will initiate the recovery flow (e.g. sending a code to email/phone).\n\nParameters:\n    phone_number (str): The phone number associated with the account.\n\nReturns:\n    The result of the API call, typically containing a hash or\n    instructions for the next step of recovery."
        },
        {
          "name": "logout",
          "signature": "logout(self: 'darkob.Client', confirm: bool=True)",
          "group": "settings",
          "module": "darkob.client.settings.logout",
          "doc": "Log out of the current session.\n\nParameters:\n    confirm (bool): If True, ask the user for confirmation before\n        logging out. If False, log out immediately.\n        Default is True.\n\nReturns:\n    The result of the logout operation if confirmed.\n    Exits if cancelled."
        },
        {
          "name": "mark_as_read",
          "signature": "mark_as_read(self: 'darkob.Client', chat: str)",
          "group": "messages",
          "module": "darkob.client.messages.mark_as_read",
          "doc": "Mark a chat as read by seeing the last message.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "mark_as_seen",
          "signature": "mark_as_seen(self: 'darkob.Client', chat: str, message_id: Union[str, int]=None)",
          "group": "messages",
          "module": "darkob.client.messages.mark_as_seen",
          "doc": "Mark a specific message as seen.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    message_id (Union[str, int], optional): Specific message ID. Defaults to last message.\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "member_is_admin",
          "signature": "member_is_admin(self: 'darkob.Client', chat: str, member: str)",
          "group": "chats",
          "module": "darkob.client.chats.member_is_admin",
          "doc": "Checks if a member is an admin in a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group or channel.\n    member (str): The GUID or username of the member.\n\nReturns:\n    bool: True if the user is an admin, False otherwise."
        },
        {
          "name": "mute_chat",
          "signature": "mute_chat(self: 'darkob.Client', chat: str, duration: Union[int, timedelta]=None)",
          "group": "chats",
          "module": "darkob.client.chats.mute_chat",
          "doc": "Mute a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to mute.\n    duration (Union[int, timedelta], optional): Duration of mute.\n        - int: seconds, must be at least 1800 (30 minutes).\n        - timedelta: e.g., timedelta(hours=1), timedelta(minutes=30).\n        Defaults to None (permanent mute).\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "on_add_reaction",
          "signature": "on_add_reaction(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_add_reaction",
          "doc": "Decorator for reaction added."
        },
        {
          "name": "on_call_signal",
          "signature": "on_call_signal(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_call_signal",
          "doc": "Decorator for call signal data."
        },
        {
          "name": "on_call_update",
          "signature": "on_call_update(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_call_update",
          "doc": "Decorator for call updates."
        },
        {
          "name": "on_chat_updates",
          "signature": "on_chat_updates(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_chat_updates",
          "doc": "Decorator for chat updates with optional filters."
        },
        {
          "name": "on_delete_message",
          "signature": "on_delete_message(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_delete_message",
          "doc": "Decorator for deleted messages."
        },
        {
          "name": "on_draft_message",
          "signature": "on_draft_message(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_draft_message",
          "doc": "Decorator for draft message updates."
        },
        {
          "name": "on_edit_message",
          "signature": "on_edit_message(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_edit_message",
          "doc": "Decorator for edited messages with optional filters."
        },
        {
          "name": "on_message",
          "signature": "on_message(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_message",
          "doc": "Decorator for message updates with optional filters."
        },
        {
          "name": "on_new_message",
          "signature": "on_new_message(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_new_message",
          "doc": "Decorator for new messages with optional filters."
        },
        {
          "name": "on_remove_notifications",
          "signature": "on_remove_notifications(self: 'darkob.Client', *args, **kwargs)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_remove_notifications",
          "doc": ""
        },
        {
          "name": "on_remove_reaction",
          "signature": "on_remove_reaction(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_remove_reaction",
          "doc": "Decorator for reaction removed."
        },
        {
          "name": "on_scheduled_message",
          "signature": "on_scheduled_message(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_scheduled_message",
          "doc": "Decorator for scheduled message updates."
        },
        {
          "name": "on_show_activities",
          "signature": "on_show_activities(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_show_activities",
          "doc": "Decorator for show activities (typing, uploading, recording) with optional filters."
        },
        {
          "name": "on_show_notifications",
          "signature": "on_show_notifications(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_show_notifications",
          "doc": "Decorator for show notifications with optional filters."
        },
        {
          "name": "on_unconfirmed_session",
          "signature": "on_unconfirmed_session(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_unconfirmed_session",
          "doc": "Decorator for unconfirmed session updates (anti-login)."
        },
        {
          "name": "on_voice_chat_participant",
          "signature": "on_voice_chat_participant(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_voice_chat_participant",
          "doc": "Decorator for voice chat participant updates."
        },
        {
          "name": "on_voice_chat_update",
          "signature": "on_voice_chat_update(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_voice_chat_update",
          "doc": "Decorator for voice chat updates."
        },
        {
          "name": "pin_chat",
          "signature": "pin_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.pin_chat",
          "doc": "Pin a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to pin.\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "pin_chat_in_folder",
          "signature": "pin_chat_in_folder(self: 'darkob.Client', chat: str, folder_id: str)",
          "group": "chats",
          "module": "darkob.client.chats.pin_chat_in_folder",
          "doc": "Pin a chat in a folder.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to pin.\n    folder_id (str): The folder ID to pin the chat in.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "pin_message",
          "signature": "pin_message(self: 'darkob.Client', chat: str, message_id: Union[str, int])",
          "group": "messages",
          "module": "darkob.client.messages.pin_message",
          "doc": "pin a message.\n\nParameters:\n    chat (str): The GUID, link, or username of the recipient.\n    message_id (Union[str, int]): The ID of the message to pin.\n\nReturns:\n    The update indicating the success of the operation."
        },
        {
          "name": "play_voice_chat",
          "signature": "play_voice_chat(self: 'darkob.Client', chat: str, media: pathlib.Path)",
          "group": "chats",
          "module": "darkob.client.chats.play_voice_chat",
          "doc": "Plays voice media in a chat.\n\nParameters:\n    chat: The GUID, link, or username of the chat to play the voice media in.\n    media: The path to the voice media file."
        },
        {
          "name": "register_device",
          "signature": "register_device(self: 'darkob.Client', device_model: str=None, *args, **kwargs)",
          "group": "settings",
          "module": "darkob.client.settings.register_device",
          "doc": "Register the current device with the Rubika server.\n\nParameters:\n    device_model (str, optional):\n        Custom device model name.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "reject_join_request",
          "signature": "reject_join_request(self: 'darkob.Client', chat: str, user: str)",
          "group": "chats",
          "module": "darkob.client.chats.reject_join_request",
          "doc": "Reject a join request for a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n    user (str): The user GUID or username of the requester.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "reject_ownership_request",
          "signature": "reject_ownership_request(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.reject_ownership_request",
          "doc": "Reject an ownership transfer request.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (channel/group).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "remove_from_top_users",
          "signature": "remove_from_top_users(self: 'darkob.Client', user: str)",
          "group": "users",
          "module": "darkob.client.users.remove_from_top_users",
          "doc": "Remove user from top users list.\n\nParameters:\n    user (str): The user GUID or username to remove.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "remove_handler",
          "signature": "remove_handler(self: 'darkob.Client', func)",
          "group": "core",
          "module": "darkob.client.core.handler_manager",
          "doc": ""
        },
        {
          "name": "remove_reaction",
          "signature": "remove_reaction(self: 'darkob.Client', chat: str, message_id: Union[str, int], reaction_id: Union[int, str])",
          "group": "messages",
          "module": "darkob.client.messages.remove_reaction",
          "doc": "Remove a reaction from a specific message.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat associated with the message.\n    message_id (str): The ID of the message from which the reaction will be removed.\n    reaction_id (int): The ID of the reaction to be removed.\n\nReturns:\n    The update indicating the success of removing the reaction."
        },
        {
          "name": "reorder_folder",
          "signature": "reorder_folder(self: 'darkob.Client', folder_ids: Union[str, List[str]])",
          "group": "settings",
          "module": "darkob.client.settings.reorder_folder",
          "doc": "Reorder folders.\n\nParameters:\n    folder_ids (Union[str, List[str]]): A single folder ID or a list of folder IDs in the new order.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "reorder_sticker_sets",
          "signature": "reorder_sticker_sets(self: 'darkob.Client', ordered_sticker_set_ids: Union[str, List[str]])",
          "group": "extras",
          "module": "darkob.client.extras.reorder_sticker_sets",
          "doc": "Reorder sticker sets in the user's collection.\n\nParameters:\n    ordered_sticker_set_ids (Union[str, List[str]]): A single sticker\n        set ID or a list of sticker set IDs in the desired order.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "report_chat",
          "signature": "report_chat(self: 'darkob.Client', chat: str, report_type: Union[int, str], description: Optional[str]=None)",
          "group": "chats",
          "module": "darkob.client.chats.report_chat",
          "doc": "Report a chat (user, channel, group, etc.) for a specific reason.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to be reported.\n    report_type (Union[int, str]): The report reason.\n        Can be:\n            - Integer code between 100 and 106\n            - String name (case-insensitive): 'Other', 'Violence',\n              'Spam', 'Porn', 'ChildAbuse', 'Copyright', 'Fraud'\n        If set to 100 (Other), `description` becomes required.\n    description (Optional[str]): Description for the report.\n        Required when `report_type` is 100 (Other).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "report_chat_ads",
          "signature": "report_chat_ads(self: 'darkob.Client', chat_ads_id: str)",
          "group": "chats",
          "module": "darkob.client.chats.report_chat_ads",
          "doc": "Register a report action on a chat ad.\n\nThe `chat_ads_id` is obtained from the `get_chat_ads` method.\n\nParameters:\n    chat_ads_id (str): The chat ads ID to report.\n\nReturns:\n    The result of the operation."
        },
        {
          "name": "report_live",
          "signature": "report_live(self: 'darkob.Client', live_id: str, report_type: Union[int, str], description: Optional[str]=None)",
          "group": "extras",
          "module": "darkob.client.extras.report_live",
          "doc": "Report a live stream.\n\nParameters:\n    live_id (str): The ID of the live stream to report.\n    report_type (Union[int, str]): The report reason.\n        Can be:\n            - Integer code between 100 and 106\n            - String name (case-insensitive): 'Other', 'Violence',\n              'Spam', 'Porn', 'ChildAbuse', 'Copyright', 'Fraud'\n        If set to 100 (Other), `description` becomes required.\n    description (Optional[str]): Description for the report.\n        Required when `report_type` is 100 (Other).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "report_message",
          "signature": "report_message(self: 'darkob.Client', chat: str, message_id: Union[str, int], report_type: Union[int, str], description: Optional[str]=None)",
          "group": "messages",
          "module": "darkob.client.messages.report_message",
          "doc": "Report a message for a specific reason.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    message_id (Union[str, int]): The ID of the message to be reported.\n    report_type (Union[int, str]): The report reason.\n        Can be:\n            - Integer code between 100 and 106\n            - String name (case-insensitive): 'Other', 'Violence',\n              'Spam', 'Porn', 'ChildAbuse', 'Copyright', 'Fraud'\n        If set to 100 (Other), `description` becomes required.\n    description (Optional[str]): Description for the report.\n        Required when `report_type` is 100 (Other).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "request",
          "signature": "request(self: 'darkob.Client', method: str, input: Optional[Dict]=None, tmp_session: bool=False, encrypt: bool=True)",
          "group": "base",
          "module": "darkob.client.base.request",
          "doc": "Build and send a request to the Rubika API.\n\nParameters:\n    method (str): API method name (e.g., 'sendMessage', 'getUserInfo').\n    input (dict, optional): Input data for the method.\n    tmp_session (bool): Use temporary session instead of auth (default: False).\n        When True, the client will auto-connect if not connected yet.\n    encrypt (bool): Encrypt the request data (default: True).\n\nReturns:\n    Data or None: The API response.\n\nRaises:\n    NoConnection: If the client has not been started and `tmp_session=False`."
        },
        {
          "name": "request_change_phone_number",
          "signature": "request_change_phone_number(self: 'darkob.Client', new_phone_number: str)",
          "group": "settings",
          "module": "darkob.client.settings.request_change_phone_number",
          "doc": "Request to change the account phone number.\n\nParameters:\n    new_phone_number (str): The new phone number (e.g., 09123456789, +989123456789, +1234567890).\n\nReturns:\n    The result of the API call containing phone_code_hash for verification."
        },
        {
          "name": "request_forget_password",
          "signature": "request_forget_password(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.request_forget_password",
          "doc": "Request to reset the account password.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "request_recovery_email",
          "signature": "request_recovery_email(self: 'darkob.Client', password: str, recovery_email: str)",
          "group": "settings",
          "module": "darkob.client.settings.request_recovery_email",
          "doc": "Request a recovery code to be sent to the recovery email.\n\nParameters:\n    password (str): User's current password.\n    recovery_email (str): Recovery email address.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "request_send_file",
          "signature": "request_send_file(self: 'darkob.Client', file_name: str, size: Union[str, int, float], mime: str=None)",
          "group": "messages",
          "module": "darkob.client.messages.request_send_file",
          "doc": "Request sending a file.\n\nParameters:\n    file_name (str): The name of the file to be sent.\n    size (Union[str, int, float]): The size of the file to be sent.\n    mime (str, optional): The MIME type of the file. If None, it will be derived from the file name.\n\nReturns:\n    The update indicating the success of the file sending request."
        },
        {
          "name": "request_video_call",
          "signature": "request_video_call(self: 'darkob.Client', user: str, library_versions: Optional[List[str]]=None, max_layer: int=92, min_layer: int=65, sip_version: int=1, support_call_out: bool=True)",
          "group": "users",
          "module": "darkob.client.users.request_video_call",
          "doc": "Request a video call with a user.\n\nParameters:\n    user (str): The GUID or username of the user to call.\n    library_versions (List[str], optional): List of supported library versions. Default: ['2.7.7', '2.4.4']\n    max_layer (int): Maximum protocol layer. Default: 92\n    min_layer (int): Minimum protocol layer. Default: 65\n    sip_version (int): SIP version. Default: 1\n    support_call_out (bool): Support outgoing calls. Default: True\n\nReturns:\n    Call request result containing session info."
        },
        {
          "name": "request_voice_call",
          "signature": "request_voice_call(self: 'darkob.Client', user: str, library_versions: Optional[List[str]]=None, max_layer: int=92, min_layer: int=65, sip_version: int=1, support_call_out: bool=True)",
          "group": "users",
          "module": "darkob.client.users.request_voice_call",
          "doc": "Request a voice call with a user.\n\nParameters:\n    user (str): The GUID or username of the user to call.\n    library_versions (List[str], optional): List of supported library versions. Default: ['2.7.7', '2.4.4']\n    max_layer (int): Maximum protocol layer. Default: 92\n    min_layer (int): Minimum protocol layer. Default: 65\n    sip_version (int): SIP version. Default: 1\n    support_call_out (bool): Support outgoing calls. Default: True\n\nReturns:\n    Call request result containing session info."
        },
        {
          "name": "reset_contacts",
          "signature": "reset_contacts(self: 'darkob.Client')",
          "group": "users",
          "module": "darkob.client.users.reset_contacts",
          "doc": "Reset all saved contacts for the authenticated user.\n\nThis method clears the entire contact list on the server side.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "reset_wallpapers",
          "signature": "reset_wallpapers(self: 'darkob.Client')",
          "group": "extras",
          "module": "darkob.client.extras.reset_wallpapers",
          "doc": "Reset all chat wallpapers to default.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "retract_poll",
          "signature": "retract_poll(self: 'darkob.Client', poll_id: str)",
          "group": "messages",
          "module": "darkob.client.messages.retract_poll",
          "doc": "Retract a poll.\n\nParameters:\n    poll_id (str): The ID of the poll to retract.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "revoke_join_link",
          "signature": "revoke_join_link(self: 'darkob.Client', chat: str, join_link: str)",
          "group": "chats",
          "module": "darkob.client.chats.revoke_join_link",
          "doc": "Revoke a invite link for a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n    join_link (str): The join link to revoke.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "run",
          "signature": "run(self, coroutine: Optional[Coroutine]=None)",
          "group": "base",
          "module": "darkob.client.base.run",
          "doc": "Start the client and listen for updates.\n\nParameters:\n    coroutine: Optional coroutine to run before listening for updates.\n\nReturns:\n    None when used normally (runs forever until stopped)."
        },
        {
          "name": "search_chat_messages",
          "signature": "search_chat_messages(self: 'darkob.Client', chat: str, search_text: str)",
          "group": "messages",
          "module": "darkob.client.messages.search_chat_messages",
          "doc": "Searches for chat messages based on the specified criteria.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    search_text (str): The text to search for in messages. \n\nReturns:\n    The search results containing messages."
        },
        {
          "name": "search_global_chats",
          "signature": "search_global_chats(self: 'darkob.Client', text: str, filter_type: Optional[Union[str, List[str]]]=None, start_id: Optional[str]=None)",
          "group": "chats",
          "module": "darkob.client.chats.search_global_chats",
          "doc": "Search for global chats (users, channels, etc.) based on the given search text.\n\nParameters:\n    text (str): The text to search for.\n    filter_type (str or list, optional): Filter results by type. \n        'User', 'Channel', 'Bot' or a list of them.\n    start_id (str, optional): The ID to start fetching from. Defaults to None.\n\nReturns:\n    The update containing search results."
        },
        {
          "name": "search_global_messages",
          "signature": "search_global_messages(self: 'darkob.Client', search_text: str, start_id: Optional[str]=None)",
          "group": "messages",
          "module": "darkob.client.messages.search_global_messages",
          "doc": "Search for messages globally across all chats.\n\nParameters:\n    search_text (str): The text or hashtag to search for.\n    start_id (str, optional): The ID to start fetching from. Defaults to None.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "search_messages",
          "signature": "search_messages(self: 'darkob.Client', chat: str, text: str)",
          "group": "messages",
          "module": "darkob.client.messages.search_messages",
          "doc": "Search for messages containing specific text in a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    text (str): The text to search for.\n\nReturns:\n    The search results."
        },
        {
          "name": "search_stickers",
          "signature": "search_stickers(self: 'darkob.Client', search_text: str='', start_id: str=None)",
          "group": "extras",
          "module": "darkob.client.extras.search_stickers",
          "doc": "Search for stickers.\n\nParameters:\n    search_text (str): The search text.\n    start_id (str): The start ID for pagination.\n\nReturns:\n    Stickers matching the search criteria."
        },
        {
          "name": "seen_channel_messages",
          "signature": "seen_channel_messages(self: 'darkob.Client', channel: str, min_id: Union[int, str], max_id: Union[int, str])",
          "group": "channels",
          "module": "darkob.client.channels.seen_channel_messages",
          "doc": "Mark channel messages as seen within a specific range.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n    min_id (Union[int, str]): The minimum message ID to mark as seen.\n    max_id (Union[int, str]): The maximum message ID to mark as seen.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "seen_chats",
          "signature": "seen_chats(self: 'darkob.Client', seen_list: dict)",
          "group": "chats",
          "module": "darkob.client.chats.seen_chats",
          "doc": "Marks multiple chats as seen.\n\nParameters:\n    seen_list (dict): A dictionary containing chat GUIDs and their last seen message IDs.\n\nReturns:\n    The result of the operation."
        },
        {
          "name": "send_chat_activity",
          "signature": "send_chat_activity(self: 'darkob.Client', chat: str, activity: Literal['Typing', 'Recording', 'Uploading']='Typing')",
          "group": "chats",
          "module": "darkob.client.chats.send_chat_activity",
          "doc": "Sends a chat activity, such as typing, uploading, or recording.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/user.\n    activity (str, optional): The type of activity. Defaults to 'Typing'.\n\nReturns:\n    The result of the operation.\n\nRaises:\n    InvalidInput: If the `activity` argument is not one of `\"Typing\", \"Uploading\", or \"Recording\"`."
        },
        {
          "name": "send_code",
          "signature": "send_code(self: 'darkob.Client', phone_number: str, pass_key: Optional[str]=None)",
          "group": "base",
          "module": "darkob.client.base.send_code",
          "doc": "Send a verification code to a phone number.\n\nParameters:\n    phone_number (str): The target phone number.\n    pass_key (str): The optional account pass key.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "send_contact",
          "signature": "send_contact(self: 'darkob.Client', chat: str, phone_number: Union[str, int], user: str, first_name: str, last_name: str='', vcard: Optional[str]=None, reply_to_message_id: Optional[Union[str, int]]=None)",
          "group": "messages",
          "module": "darkob.client.messages.send_contact",
          "doc": "Send a contact message to a specified chat.\n\nParameters:\n    chat (str): The GUID or username of the user or bot.\n    phone_number (Union[str, int]): Contact's phone number.\n    user (str): Contact's username or user GUID.\n    first_name (str): Contact's first name.\n    last_name (str, optional): Contact's last name. Defaults to \"\".\n    vcard (str, optional): Custom vCard string. Defaults to None.\n    reply_to_message_id (Union[str, int], optional): ID of the message\n        to reply to. Defaults to None.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "send_file",
          "signature": "send_file(self: 'darkob.Client', chat: str, file: Union[Path, bytes]=None, text: Optional[str]=None, reply_to_message_id: Optional[Union[str, int]]=None, via_bot: Optional[str]=None, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None, base64: str=None, **kwargs)",
          "group": "messages",
          "module": "darkob.client.messages.send_file",
          "doc": "Send a file.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    file (Union[Path, bytes], optional): The file data (path or bytes).\n    text (Optional[str]): The caption for the file. Defaults to None.\n    reply_to_message_id (Optional[Union[str, int]]): The ID of the message to which this is a reply. Defaults to None.\n    via_bot (Optional[str]): Bot GUID or username to send the message via. Defaults to None.\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the message.\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online (users only).\n    base64 (str, optional): Base64 encoded file data.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "send_gif",
          "signature": "send_gif(self: 'darkob.Client', chat: str, gif: Union[Path, bytes]=None, text: Optional[str]=None, reply_to_message_id: Optional[Union[str, int]]=None, via_bot: Optional[str]=None, thumb: Optional[Union[bool, str]]=None, width: Optional[int]=None, height: Optional[int]=None, time: Optional[int]=None, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None, base64: str=None, **kwargs)",
          "group": "messages",
          "module": "darkob.client.messages.send_gif",
          "doc": "Send a GIF to a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    gif (Path, bytes, optional): The GIF data. Can be a file path or bytes.\n    text (Optional[str]): Caption for the GIF. Defaults to None.\n    reply_to_message_id (Optional[Union[str, int]]): ID of the message to reply to. Defaults to None.\n    via_bot (Optional[str]): Bot GUID or username to send the message via. Defaults to None.\n    thumb (Optional[Union[bool, str]]): Thumbnail behavior:\n        - None or True: Auto-generate thumbnail using available libraries (default)\n        - False: Use default thumbnail\n        - str: Custom thumbnail as Base64 string (pure Base64, no data:image header)\n    width (Optional[int]): Custom width for the GIF. Defaults to None (auto-detect).\n    height (Optional[int]): Custom height for the GIF. Defaults to None (auto-detect).\n    time (Optional[int]): Custom duration for the GIF in seconds. Defaults to None (auto-detect).\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the message.\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online (users only).\n    base64 (str, optional): Base64 encoded GIF data.\n\nReturns:\n    The API response containing the sent message details."
        },
        {
          "name": "send_image",
          "signature": "send_image(self: 'darkob.Client', chat: str, image: Union[Path, bytes]=None, text: Optional[str]=None, reply_to_message_id: Optional[Union[str, int]]=None, is_spoil: bool=False, via_bot: Optional[str]=None, thumb: Optional[Union[bool, str]]=None, width: Optional[int]=None, height: Optional[int]=None, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None, base64: str=None, **kwargs)",
          "group": "messages",
          "module": "darkob.client.messages.send_image",
          "doc": "Send an image to a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    image (Path, bytes, optional): The image data. Can be a file path or bytes.\n    text (Optional[str]): Caption for the image. Defaults to None.\n    reply_to_message_id (Optional[Union[str, int]]): ID of the message to reply to. Defaults to None.\n    is_spoil (bool): Whether the image should be marked as a spoiler. Defaults to False.\n    via_bot (Optional[str]): Bot GUID or username to send the message via. Defaults to None.\n    thumb (Optional[Union[bool, str]]): Thumbnail behavior:\n        - None or True: Auto-generate thumbnail using available libraries (or default).\n        - str: Custom thumbnail as Base64 string.\n    width (Optional[int]): Custom width for the image. Defaults to None (auto-detect).\n    height (Optional[int]): Custom height for the image. Defaults to None (auto-detect).\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the message.\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online (users only).\n    base64 (str, optional): Base64 encoded image data.\n\nReturns:\n    The API response containing the sent message details."
        },
        {
          "name": "send_live",
          "signature": "send_live(self: 'darkob.Client', chat: str, title: str=None, reply_to_message_id: Union[str, int]=None, thumb: Optional[Union[str, Path, bytes]]=None)",
          "group": "messages",
          "module": "darkob.client.messages.send_live",
          "doc": "Send a live stream.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    title (str): Live stream title.\n    reply_to_message_id (Optional[Union[str, int]]): The ID of the message to which this is a reply. Defaults to None.\n    thumb (Optional[Union[str, Path, bytes]]): Thumbnail for the live stream.\n        - str: Base64 encoded string, file path, or URL.\n        - Path: Path to thumbnail file.\n        - bytes: Raw thumbnail bytes.\n        If not provided, a default thumbnail will be used.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "send_location",
          "signature": "send_location(self: 'darkob.Client', chat: str, latitude: float, longitude: float, reply_to_message_id: Union[str, int]=None)",
          "group": "messages",
          "module": "darkob.client.messages.send_location",
          "doc": "Send a map location.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    latitude (float): Latitude (-90 to 90).\n    longitude (float): Longitude (-180 to 180).\n    reply_to_message_id (Optional[Union[str, int]]): The ID of the message to which this is a reply. Defaults to None.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "send_message",
          "signature": "send_message(self: 'darkob.Client', chat: str, text: Optional[str]=None, reply_to_message_id: Optional[Union[str, int]]=None, via_bot: Optional[str]=None, file_inline: Optional[Union[Data, Path, bytes]]=None, base64_data: Optional[str]=None, sticker: Optional[Union[Data, dict]]=None, type: str='File', is_spoil: bool=False, thumb: Optional[Union[bool, str, Path, bytes]]=None, audio_info: bool=True, metadata: Optional[dict]=None, performer: Optional[str]=None, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None, **kwargs)",
          "group": "messages",
          "module": "darkob.client.messages.send_message",
          "doc": "Send a message to a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    text (Optional[str]): The text content of the message.\n    reply_to_message_id (Optional[Union[str, int]]): The ID of the message to reply to.\n    via_bot (Optional[str]): Bot GUID or username to send the message via.\n    metadata (Optional[dict]): Additional metadata for text formatting.\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the message. Accepts:\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now (e.g., timedelta(hours=1))\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online.\n\nReturns:\n    MessageResult: The API response containing the sent message details,\n    with action methods like edit, delete, reply, forward, pin."
        },
        {
          "name": "send_message_api_call",
          "signature": "send_message_api_call(self: 'darkob.Client', chat: str, message_id: Union[str, int], button_id: str)",
          "group": "messages",
          "module": "darkob.client.messages.send_message_api_call",
          "doc": "Send API call response to a chat's inline keyboard button.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    message_id (Union[str, int]): ID of the message containing inline keyboard.\n    button_id (str): ID of the button.\n\nReturns:\n    The result of the API call.\n\nExample:\n    >>> await client.send_message_api_call(  # doctest: +SKIP\n    ...     chat=\"b0C2y04506bd2306f068aa161e0502db\",\n    ...     message_id=\"1499338519906784\",\n    ...     button_id=\"b0SPm00c8ab83b689ac2eeffe16ec7db\"\n    ... )"
        },
        {
          "name": "send_music",
          "signature": "send_music(self: 'darkob.Client', chat: str, music: Union[Path, bytes]=None, text: Optional[str]=None, reply_to_message_id: Optional[Union[str, int]]=None, via_bot: Optional[str]=None, performer: Optional[str]=None, time: Optional[int]=None, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None, base64: str=None, **kwargs)",
          "group": "messages",
          "module": "darkob.client.messages.send_music",
          "doc": "Send a music file to a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    music (Path, bytes, optional): The music data. Can be a file path or bytes.\n    text (Optional[str]): Caption for the music. Defaults to None.\n    reply_to_message_id (Optional[Union[str, int]]): ID of the message to reply to. Defaults to None.\n    via_bot (Optional[str]): Bot GUID or username to send the message via. Defaults to None.\n    performer (Optional[str]): Name of the performer/artist. Defaults to None (auto-detect).\n    time (Optional[int]): Custom duration for the music in seconds. Defaults to None (auto-detect).\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the message.\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online (users only).\n    base64 (str, optional): Base64 encoded music data.\n\nReturns:\n    The API response containing the sent message details."
        },
        {
          "name": "send_now_scheduled_message",
          "signature": "send_now_scheduled_message(self: 'darkob.Client', chat: str, message_id: Union[int, str])",
          "group": "messages",
          "module": "darkob.client.messages.send_now_scheduled_message",
          "doc": "Send a scheduled message immediately.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    message_id (int): The ID of the scheduled message to send now.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "send_poll",
          "signature": "send_poll(self: 'darkob.Client', chat: str, question: str, options: list, is_anonymous: bool=True, multiple_answers: bool=False, reply_to_message_id: Optional[Union[str, int]]=None)",
          "group": "messages",
          "module": "darkob.client.messages.send_poll",
          "doc": "Send a poll message with the specified parameters.\n\nParameters:\n    chat (str): The GUID, link or username of the chat associated with the poll (e.g., group, channel).\n    question (str): The question for the poll.\n    options (list): A list of string values representing the poll options.\n    is_anonymous (bool): Whether the poll is anonymous or not. Defaults to True.\n    multiple_answers (bool): Whether the poll allows multiple answers or not. Defaults to False.\n    reply_to_message_id (Optional[Union[str, int]]): The ID of the message to reply to. Defaults to None.\n\nReturns:\n    The updated information after creating the poll."
        },
        {
          "name": "send_quiz",
          "signature": "send_quiz(self: 'darkob.Client', chat: str, question: str, options: list, correct_option: Union[int, str], hint: str=None, is_anonymous: bool=True, reply_to_message_id: Optional[Union[str, int]]=None)",
          "group": "messages",
          "module": "darkob.client.messages.send_quiz",
          "doc": "Send a quiz-type poll message with the specified parameters.\n\nParameters:\n    chat (str): The GUID or link or username of the chat associated with the quiz (e.g., group, channel).\n    question (str): The question for the quiz.\n    options (list): A list of string values representing the quiz options.\n    correct_option (Union[int, str]): The index or ID of the correct option for quiz-type polls.\n    hint (str): A hint for the correct answer in quiz-type polls. Defaults to None.\n    is_anonymous (bool): Whether the poll is anonymous or not. Defaults to True.\n    reply_to_message_id (Union[str, int]): The ID of the message to reply to. Defaults to None.\n\nReturns:\n    The updated information after creating the quiz-type poll."
        },
        {
          "name": "send_rubino_post",
          "signature": "send_rubino_post(self: 'darkob.Client', chat: str, post_id: str, post_profile_id: str, is_mute: bool=False)",
          "group": "messages",
          "module": "darkob.client.messages.send_rubino_post",
          "doc": "Send a Rubino post to a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    post_id (str): The post ID to send.\n    post_profile_id (str): The post profile ID.\n    is_mute (bool): Send silently without notification. Default is False.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "send_rubino_product",
          "signature": "send_rubino_product(self: 'darkob.Client', chat: str, store_id: str, product_id: str, product_varieties: List[dict])",
          "group": "messages",
          "module": "darkob.client.messages.send_rubino_product",
          "doc": "Send a Rubino product to a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    store_id (str): The store ID.\n    product_id (str): The product ID.\n    product_varieties (List[dict]): List of product varieties.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "send_rubino_story",
          "signature": "send_rubino_story(self: 'darkob.Client', chat: str, story_id: str, story_profile_id: str, reply_text: str='', type: Literal['Reply', 'Direct']='Reply', is_mute: bool=False)",
          "group": "messages",
          "module": "darkob.client.messages.send_rubino_story",
          "doc": "Send a Rubino story reply or direct message.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    story_id (str): The story ID.\n    story_profile_id (str): The story profile ID.\n    reply_text (str): Reply text. Default is empty string.\n    type (str): 'Reply' or 'Direct'. Default is 'Reply'.\n    is_mute (bool): Send silently without notification. Default is False.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "send_sticker",
          "signature": "send_sticker(self: 'darkob.Client', chat: str, emoji_character: str, sticker_id: str, sticker_set_id: str, file: dict, w_h_ratio: str='1.0', reply_to_message_id: Optional[Union[str, int]]=None, via_bot: Optional[str]=None, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None)",
          "group": "messages",
          "module": "darkob.client.messages.send_sticker",
          "doc": "Send a sticker.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    emoji_character (str): The emoji character associated with the sticker.\n    sticker_id (str): The ID of the sticker.\n    sticker_set_id (str): The ID of the sticker set.\n    file (dict): The file data for the sticker.\n    w_h_ratio (str): The width-to-height ratio of the sticker. Defaults to '1.0'.\n    reply_to_message_id (Optional[Union[str, int]]): The ID of the message to which this is a reply. Defaults to None.\n    via_bot (Optional[str]): Bot GUID or username to send the message via. Defaults to None.\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the message.\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online (users only)."
        },
        {
          "name": "send_video",
          "signature": "send_video(self: 'darkob.Client', chat: str, video: Union[Path, bytes]=None, text: Optional[str]=None, reply_to_message_id: Optional[Union[str, int]]=None, is_spoil: bool=False, via_bot: Optional[str]=None, thumb: Optional[Union[bool, str]]=None, width: Optional[int]=None, height: Optional[int]=None, time: Optional[int]=None, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None, base64: str=None, **kwargs)",
          "group": "messages",
          "module": "darkob.client.messages.send_video",
          "doc": "Send a video to a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    video (Path, bytes, optional): The video data. Can be a file path or bytes.\n    text (Optional[str]): Caption for the video. Defaults to None.\n    reply_to_message_id (Optional[Union[str, int]]): ID of the message to reply to. Defaults to None.\n    is_spoil (bool): Whether the video should be marked as a spoiler. Defaults to False.\n    via_bot (Optional[str]): Bot GUID or username to send the message via. Defaults to None.\n    thumb (Optional[Union[bool, str]]): Thumbnail behavior:\n        - None or True: Auto-generate thumbnail using available libraries (or default).\n        - str: Custom thumbnail as Base64 string.\n    width (Optional[int]): Custom width for the video. Defaults to None (auto-detect).\n    height (Optional[int]): Custom height for the video. Defaults to None (auto-detect).\n    time (Optional[int]): Custom duration for the video in seconds. Defaults to None (auto-detect).\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the message.\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online (users only).\n    base64 (str, optional): Base64 encoded video data.\n\nReturns:\n    The API response containing the sent message details."
        },
        {
          "name": "send_video_message",
          "signature": "send_video_message(self: 'darkob.Client', chat: str, video_message: Union[Path, bytes]=None, text: Optional[str]=None, reply_to_message_id: Optional[Union[str, int]]=None, is_spoil: bool=False, via_bot: Optional[str]=None, thumb: Optional[Union[bool, str]]=None, width: Optional[int]=None, height: Optional[int]=None, time: Optional[int]=None, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None, base64: str=None, **kwargs)",
          "group": "messages",
          "module": "darkob.client.messages.send_video_message",
          "doc": "Send a video message (round video) to a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    video_message (Path, bytes, optional): The video message data. Can be a file path or bytes.\n    text (Optional[str]): Caption for the video message. Defaults to None.\n    reply_to_message_id (Optional[Union[str, int]]): ID of the message to reply to. Defaults to None.\n    is_spoil (bool): Whether the video message should be marked as a spoiler. Defaults to False.\n    via_bot (Optional[str]): Bot GUID or username to send the message via. Defaults to None.\n    thumb (Optional[Union[bool, str]]): Thumbnail behavior:\n        - None or True: Auto-generate thumbnail using available libraries (or default).\n        - str: Custom thumbnail as Base64 string.\n    width (Optional[int]): Custom width for the video message. Defaults to None (auto-detect).\n    height (Optional[int]): Custom height for the video message. Defaults to None (auto-detect).\n    time (Optional[int]): Custom duration for the video message in seconds. Defaults to None (auto-detect).\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the message.\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online (users only).\n    base64 (str, optional): Base64 encoded video message data.\n\nReturns:\n    The API response containing the sent message details."
        },
        {
          "name": "send_voice",
          "signature": "send_voice(self: 'darkob.Client', chat: str, voice: Union[Path, bytes]=None, text: Optional[str]=None, reply_to_message_id: Optional[Union[str, int]]=None, via_bot: Optional[str]=None, time: Optional[int]=None, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None, base64: str=None, **kwargs)",
          "group": "messages",
          "module": "darkob.client.messages.send_voice",
          "doc": "Send a voice message to a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    voice (Path, bytes, optional): The voice data. Can be a file path or bytes.\n    text (Optional[str]): Caption for the voice message. Defaults to None.\n    reply_to_message_id (Optional[Union[str, int]]): ID of the message to reply to. Defaults to None.\n    via_bot (Optional[str]): Bot GUID or username to send the message via. Defaults to None.\n    time (Optional[int]): Custom duration for the voice message in seconds. Defaults to None (auto-detect).\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the message.\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online (users only).\n    base64 (str, optional): Base64 encoded voice data.\n\nReturns:\n    The API response containing the sent message details."
        },
        {
          "name": "send_voice_chat_activity",
          "signature": "send_voice_chat_activity(self: 'darkob.Client', chat: str, activity: Literal['Speaking']='Speaking', participant_chat_guid: str=None)",
          "group": "chats",
          "module": "darkob.client.chats.send_voice_chat_activity",
          "doc": "Set voice chat activity automatically.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n    activity (str): Literal['Speaking'] and Default is `Speaking`.\n    participant_chat_guid (str): Participant chat guid, Default is `self.guid`.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_admin",
          "signature": "set_admin(self: 'darkob.Client', chat: str, member: str, access: Union[List[str], str]=[], custom_title: str='')",
          "group": "chats",
          "module": "darkob.client.chats.set_admin",
          "doc": "Set a member as admin in a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of group/channel.\n    member (str): The GUID or username of member to set as admin.\n    access (Union[List[str], str]): List of allowed permissions or single permission string.\n        Can also be 'all' or 'All' to grant all permissions.\n    custom_title (str): Custom title for admin in groups. (optional)\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "set_ask_spam",
          "signature": "set_ask_spam(self: 'darkob.Client', chat: str, action: Literal['AddToContact', 'BlockUser', 'Cancel', 'ReportAndLeave']='Cancel')",
          "group": "chats",
          "module": "darkob.client.chats.set_ask_spam",
          "doc": "Perform an action for a pending spam request.\n\nParameters:\n    chat (str): The GUID, link, or username of the user, group, or channel.\n    action (str): The action to apply:\n        - For user (u0): 'AddToContact', 'BlockUser', 'Cancel'.\n        - For group/channel (g0/c0): 'ReportAndLeave'.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_channel_link",
          "signature": "set_channel_link(self: 'darkob.Client', channel: str)",
          "group": "channels",
          "module": "darkob.client.channels.set_channel_link",
          "doc": "Set a custom link for the channel.\n\nParameters:\n    channel (str): The GUID of the channel.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_channel_type",
          "signature": "set_channel_type(self: 'darkob.Client', channel: str, channel_type: typing.Literal['Public', 'Private'])",
          "group": "channels",
          "module": "darkob.client.channels.set_channel_type",
          "doc": "Set type of a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n    channel_type (str): The new type of the channel. 'Public' or 'Private'.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_chat_auto_delete",
          "signature": "set_chat_auto_delete(self: 'darkob.Client', chat: Union[str, List[str]], auto_delete: Union[str, int])",
          "group": "chats",
          "module": "darkob.client.chats.set_chat_auto_delete",
          "doc": "Set auto-delete timer for one or more groups or channels.\n\nParameters:\n    chat (Union[str, List[str]]): The GUID, link, username of a group/channel, or a list of them.\n    auto_delete (Union[str, int]): Auto-delete duration. Accepts:\n        - Integer: 1-365 (days)\n        - String: '1m'-'60m', '1h'-'24h', '1d'-'365d', '1w'-'52w', '1y', 'off'\n        - Common words: 'day', 'week', 'month', 'year', 'never', 'disabled'\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_chat_protected_content",
          "signature": "set_chat_protected_content(self: 'darkob.Client', chat: str, enabled: bool)",
          "group": "chats",
          "module": "darkob.client.chats.set_chat_protected_content",
          "doc": "Set the chat protected content setting.\n\nParameters:\n    chat (int): The GUID or username of the target chat.\n    enabled (bool): Pass True to enable the protected content setting, False to disable.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_chat_use_time",
          "signature": "set_chat_use_time(self: 'darkob.Client', chat: str, use_time: int)",
          "group": "chats",
          "module": "darkob.client.chats.set_chat_use_time",
          "doc": "Send chat usage time to the server.\n\nThis helps the server recognize natural user behavior\nand can reduce rate limiting and bot detection.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    use_time (int): Time spent in the chat in seconds.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_current_live_location",
          "signature": "set_current_live_location(self: 'darkob.Client', longitude: float, latitude: float, tile_side_count: int, tile_urls: List[str], x_loc: float, y_loc: float)",
          "group": "extras",
          "module": "darkob.client.extras.set_current_live_location",
          "doc": "Set the current live location.\n\nParameters:\n    longitude (float): Longitude coordinate.\n    latitude (float): Latitude coordinate.\n    tile_side_count (int): Number of tiles per side.\n    tile_urls (List[str]): URLs of map tiles.\n    x_loc (float): X position on the map.\n    y_loc (float): Y position on the map.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_group_default_access",
          "signature": "set_group_default_access(self: 'darkob.Client', group: str, access: Union[str, list])",
          "group": "groups",
          "module": "darkob.client.groups.set_group_default_access",
          "doc": "Set default access for a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n    access (Union[str, list]): List of allowed actions. Must be one or more of:\n        - \"ViewMembers\": Allows viewing group members.\n        - \"ViewAdmins\": Allows viewing group admins.\n        - \"SendMessages\": Allows sending messages.\n        - \"AddMember\": Allows adding members.\n        If only specific actions are listed (e.g. [\"SendMessages\"]), ONLY those are enabled and others are disabled.\n        If empty list \"[]\", ALL access permissions are disabled/closed.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_group_link",
          "signature": "set_group_link(self: 'darkob.Client', group: str)",
          "group": "groups",
          "module": "darkob.client.groups.set_group_link",
          "doc": "Set private link for group.\n\nParameters:\n    group (str): The GUID or link of the group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_notification",
          "signature": "set_notification(self: 'darkob.Client', user_notification: Optional[bool]=None, user_message_preview: Optional[bool]=None, group_notification: Optional[bool]=None, group_message_preview: Optional[bool]=None, channel_notification: Optional[bool]=None, channel_message_preview: Optional[bool]=None, in_app_sound: Optional[bool]=None, in_app_preview: Optional[bool]=None, new_contacts: Optional[bool]=None)",
          "group": "settings",
          "module": "darkob.client.settings.set_notification",
          "doc": "Update notification settings.\n\nParameters:\n    user_notification (bool, optional): Enable/disable user notifications.\n    user_message_preview (bool, optional): Show/hide user message preview.\n    group_notification (bool, optional): Enable/disable group notifications.\n    group_message_preview (bool, optional): Show/hide group message preview.\n    channel_notification (bool, optional): Enable/disable channel notifications.\n    channel_message_preview (bool, optional): Show/hide channel message preview.\n    in_app_sound (bool, optional): Enable/disable in-app sound.\n    in_app_preview (bool, optional): Enable/disable in-app preview.\n    new_contacts (bool, optional): Enable/disable new contacts notification.\n\nReturns:\n    The updated notification settings."
        },
        {
          "name": "set_saved_music_playlist",
          "signature": "set_saved_music_playlist(self: 'darkob.Client', files: Union[Path, str, List[Union[Path, str]]]=None, file_inlines: List[dict]=None, time: Optional[int]=None, performer: Optional[str]=None, file_name: Optional[str]=None, **kwargs)",
          "group": "settings",
          "module": "darkob.client.settings.set_saved_music_playlist",
          "doc": "Replace the saved music playlist on your profile.\n\nParameters:\n    files: A single file path or a list of file paths to music files.\n    file_inlines: Pre-uploaded file_inline dicts to set directly.\n    time: Custom duration in seconds. If not provided, auto-detected.\n    performer: Custom performer name. If not provided, auto-detected.\n    file_name: Custom file name. If not provided, uses original file name.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_setting",
          "signature": "set_setting(self: 'darkob.Client', show_my_last_online: Optional[PrivacyValue]=None, show_my_phone_number: Optional[PrivacyValue]=None, show_my_profile_photo: Optional[PrivacyValue]=None, link_forward_message: Optional[PrivacyValue]=None, can_join_chat_by: Optional[PrivacyValue]=None, show_my_birth_date: Optional[PrivacyValue]=None, can_called_by: Optional[PrivacyValue]=None, auto_delete_messages: Optional[Union[str, int]]=None, inactive_account_delete: Optional[int]=None, show_my_last_online_exceptions: Optional[Dict[str, List[str]]]=None, show_my_phone_number_exceptions: Optional[Dict[str, List[str]]]=None, show_my_profile_photo_exceptions: Optional[Dict[str, List[str]]]=None, can_join_chat_by_exceptions: Optional[Dict[str, List[str]]]=None, show_my_birth_date_exceptions: Optional[Dict[str, List[str]]]=None, can_called_by_exceptions: Optional[Dict[str, List[str]]]=None)",
          "group": "settings",
          "module": "darkob.client.settings.set_setting",
          "doc": "Set various privacy and auto-delete settings for the user.\n\nParameters:\n    Privacy Settings (accept: 'Everybody', 'MyContacts', 'Nobody'):\n        show_my_last_online: Who can see your last online status\n        show_my_phone_number: Who can see your phone number\n        show_my_profile_photo: Who can see your profile photo\n        link_forward_message: Who can forward your message links\n        can_join_chat_by: Who can join your chats by link\n        show_my_birth_date: Who can see your birth date\n        can_called_by: Who can call you\n\n    Exceptions (for privacy settings except link_forward_message):\n        Each exception should be a dict with:\n            - 'include_users': List[str] - Users to always allow\n            - 'exclude_users': List[str] - Users to always deny\n\n        To CLEAR exceptions for a setting, pass {'exclude_users': []}:\n            can_called_by_exceptions={'exclude_users': []}\n\n        Example:\n            show_my_last_online_exceptions={\n                'include_users': ['u0abc123...'],\n                'exclude_users': ['u0xyz789...']\n            }\n\n    Auto Delete Messages:\n        auto_delete_messages: Message auto-delete duration.\n\n    Delete Inactive Account:\n        inactive_account_delete: Delete account after X months.\n\nReturns:\n    The result of the setting operation."
        },
        {
          "name": "set_two_step_verification",
          "signature": "set_two_step_verification(self: 'darkob.Client', password: Union[int, str], hint: str=None, recovery_email: str=None)",
          "group": "settings",
          "module": "darkob.client.settings.set_two_step_verification",
          "doc": "Set up two-step verification for the user.\n\nParameters:\n    password (Union[int, str]): The current user password.\n    hint (str): A hint to help remember the password. Defaults to None.\n    recovery_email (str): The recovery email for two-step verification. Defaults to None.\n\nReturns:\n    The updated user information after setting up two-step verification."
        },
        {
          "name": "set_voice_chat_setting",
          "signature": "set_voice_chat_setting(self: 'darkob.Client', chat: str, title: str=None, join_muted: bool=None)",
          "group": "chats",
          "module": "darkob.client.chats.set_voice_chat_setting",
          "doc": "Set voice chat settings for group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n    title (str, optional): New title for voice chat.\n    join_muted (bool, optional): Whether new participants join muted. (Only for groups)\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_voice_chat_state",
          "signature": "set_voice_chat_state(self: 'darkob.Client', chat: str, action: typing.Literal['Mute', 'Unmute', 'RequestSpeak', 'CancelRequestSpeak']='Unmute', participant_chat_guid: str=None)",
          "group": "chats",
          "module": "darkob.client.chats.set_voice_chat_state",
          "doc": "Set group or channel voice chat state automatically.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n    action (str): Literal['Mute', 'Unmute'] and Default is `Unmute`.\n    participant_chat_guid (str): Participant chat guid, Default is `self.guid`.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "sign_in",
          "signature": "sign_in(self: 'darkob.Client', phone_number: str, phone_code: str, phone_code_hash: str, public_key: str)",
          "group": "base",
          "module": "darkob.client.base.sign_in",
          "doc": "Sign in using the verification code.\n\nParameters:\n    phone_number (str): The phone number.\n    phone_code (str): The verification code.\n    phone_code_hash (str): The verification code hash.\n    public_key (str): The client's public key.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "speaking",
          "signature": "speaking(self: 'darkob.Client', chat_guid: str)",
          "group": "chats",
          "module": "darkob.client.chats.play_voice_chat",
          "doc": ""
        },
        {
          "name": "start",
          "signature": "start(self: 'darkob.Client', phone_number: str=None)",
          "group": "base",
          "module": "darkob.client.base.start",
          "doc": "Start the client, handling authentication and registration.\n\nParameters:\n    phone_number (str, optional): Phone number for registration.\n\nReturns:\n    Client: The initialized client instance."
        },
        {
          "name": "start_bot",
          "signature": "start_bot(self: 'darkob.Client', bot: str)",
          "group": "bots",
          "module": "darkob.client.bots.start_bot",
          "doc": "Parameters:\n    bot (str): The GUID or username of the bot.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "start_voice_chat",
          "signature": "start_voice_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.start_voice_chat",
          "doc": "Start a voice chat for a channel or group.\n\nParameters:\n    chat (str): The GUID, link, or username of the channel/group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "stop",
          "signature": "stop(self)",
          "group": "core",
          "module": "darkob.TheClient",
          "doc": ""
        },
        {
          "name": "stop_bot",
          "signature": "stop_bot(self: 'darkob.Client', bot: str)",
          "group": "bots",
          "module": "darkob.client.bots.stop_bot",
          "doc": "Parameters:\n    bot (str): The GUID or username of the bot.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "stop_poll",
          "signature": "stop_poll(self: 'darkob.Client', poll_id: str)",
          "group": "messages",
          "module": "darkob.client.messages.stop_poll",
          "doc": "Stop a poll.\n\nParameters:\n    poll_id (str): The ID of the poll to stop.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "terminate_other_sessions",
          "signature": "terminate_other_sessions(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.terminate_other_sessions",
          "doc": "Terminate other account sessions.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "terminate_session",
          "signature": "terminate_session(self: 'darkob.Client', session_key: str)",
          "group": "settings",
          "module": "darkob.client.settings.terminate_session",
          "doc": "Terminate a user session.\n\nParameters:\n    session_key (str): The session key of the session to be terminated.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "transcribe_voice",
          "signature": "transcribe_voice(self: 'darkob.Client', chat: Union[str, int], message_id: Union[str, int])",
          "group": "messages",
          "module": "darkob.client.messages.transcribe_voice",
          "doc": "Transcribes voice messages.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (chat, channel, or group) containing the voice message.\n    message_id (str): The ID of the voice message.\n\nReturns:\n    The transcription result."
        },
        {
          "name": "turn_off_two_step",
          "signature": "turn_off_two_step(self: 'darkob.Client', password: str)",
          "group": "settings",
          "module": "darkob.client.settings.turn_off_two_step",
          "doc": "Turn off two-step verification passcode for the account.\n\nParameters:\n    password (str): Current two-step verification password\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "unarchive_chat",
          "signature": "unarchive_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.unarchive_chat",
          "doc": "Unarchive a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to unarchive.\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "unban_all_members",
          "signature": "unban_all_members(self: 'darkob.Client', chat: str, exclude: Optional[Union[str, List[str]]]=None)",
          "group": "chats",
          "module": "darkob.client.chats.unban_all_members",
          "doc": "Unban all banned members in a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group or channel.\n    exclude (Optional[Union[str, List[str]]]): Member GUID(s) or username(s) to exclude from unban. Default is None.\n\nReturns:\n    Result of unban operation."
        },
        {
          "name": "unban_member",
          "signature": "unban_member(self: 'darkob.Client', chat: str, member: str)",
          "group": "chats",
          "module": "darkob.client.chats.unban_member",
          "doc": "Unban a member from a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of group/channel.\n    member (str): The GUID or username of member to unban.\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "unban_members",
          "signature": "unban_members(self: 'darkob.Client', chat: str, members: List[str])",
          "group": "chats",
          "module": "darkob.client.chats.unban_members",
          "doc": "Unban multiple members from a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of group/channel.\n    members (List[str]): List of GUIDs or usernames of members to unban.\n\nReturns:\n    Results of all operations."
        },
        {
          "name": "unblock_all_users",
          "signature": "unblock_all_users(self: 'darkob.Client', exclude: Optional[Union[str, List[str]]]=None)",
          "group": "users",
          "module": "darkob.client.users.unblock_all_users",
          "doc": "Unblock all blocked users.\n\nParameters:\n    exclude (Optional[Union[str, List[str]]]): User GUID(s) or username(s) to exclude from unblock. Default is None.\n\nReturns:\n    Result of unblock operation."
        },
        {
          "name": "unblock_user",
          "signature": "unblock_user(self: 'darkob.Client', user: str)",
          "group": "users",
          "module": "darkob.client.users.unblock_user",
          "doc": "Unblock a user.\n\nParameters:\n    user (str): The GUID or username of the user to unblock.\n\nReturns:\n    The result of the unblock operation."
        },
        {
          "name": "unlock_group",
          "signature": "unlock_group(self: 'darkob.Client', group: str)",
          "group": "groups",
          "module": "darkob.client.groups.unlock_group",
          "doc": "Unlock a group by enabling SendMessage access.\n\nParameters:\n    group (str): The GUID or link of the group.\n\nReturns:\n    Result message."
        },
        {
          "name": "unmute_chat",
          "signature": "unmute_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.unmute_chat",
          "doc": "Unmute a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to unmute.\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "unpin_all_messages",
          "signature": "unpin_all_messages(self: 'darkob.Client', chat: str)",
          "group": "messages",
          "module": "darkob.client.messages.unpin_all_messages",
          "doc": "Unpin all pinned messages in a group, channel, or private chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    The update indicating the success of the operation."
        },
        {
          "name": "unpin_chat",
          "signature": "unpin_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.unpin_chat",
          "doc": "Unpin a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to unpin.\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "unpin_chat_in_folder",
          "signature": "unpin_chat_in_folder(self: 'darkob.Client', chat: str, folder_id: str)",
          "group": "chats",
          "module": "darkob.client.chats.unpin_chat_in_folder",
          "doc": "Unpin a chat from a folder.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to unpin.\n    folder_id (str): The folder ID to unpin the chat from.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "unpin_message",
          "signature": "unpin_message(self: 'darkob.Client', chat: str, message_id: Union[str, int])",
          "group": "messages",
          "module": "darkob.client.messages.unpin_message",
          "doc": "unpin a message.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    message_id (Union[str, int]): The ID of the message to unpin.\n\nReturns:\n    The update indicating the success of the operation."
        },
        {
          "name": "unset_admin",
          "signature": "unset_admin(self: 'darkob.Client', chat: str, member: str)",
          "group": "chats",
          "module": "darkob.client.chats.unset_admin",
          "doc": "Unset a member as admin in a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of group/channel.\n    member (str): The GUID or username of member to unset as admin.\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "update_channel_username",
          "signature": "update_channel_username(self: 'darkob.Client', channel: str, username: str)",
          "group": "channels",
          "module": "darkob.client.channels.update_channel_username",
          "doc": "Update the username of a channel.\n\nParameters:\n    channel (str): The GUID or username of the channel.\n    username (str): The new username for the channel.\n        Must be between 7 and 32 characters\n        Can only contain English letters (a-z, A-Z), numbers (0-9), and underscore (_)\n        Should not start with number or underscore\n        Should not end with underscore\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "update_my_bio",
          "signature": "update_my_bio(self: 'darkob.Client', bio: str)",
          "group": "settings",
          "module": "darkob.client.settings.update_my_bio",
          "doc": "Update user's biography.\n\nParameters:\n    bio (str): The updated biography (max 150 characters).\n\nReturns:\n    The updated user information.\n\nRaises:\n    InvalidInput: If bio exceeds 150 characters."
        },
        {
          "name": "update_my_birthday",
          "signature": "update_my_birthday(self: 'darkob.Client', birthday: Union[str, datetime])",
          "group": "settings",
          "module": "darkob.client.settings.update_my_birthday",
          "doc": "Update the birthday in your profile.\n\nParameters:\n    birthday (str | datetime): Birthday in format YYYY-MM-DD (e.g., \"2026-02-03\") or a datetime object.\n\nReturns:\n    The updated user information."
        },
        {
          "name": "update_my_name",
          "signature": "update_my_name(self: 'darkob.Client', first_name: Optional[str]=None, last_name: Optional[str]=None)",
          "group": "settings",
          "module": "darkob.client.settings.update_my_name",
          "doc": "Update user's first name and/or last name.\n\nParameters:\n    first_name (Optional[str]): The updated first name (max 30 characters).\n    last_name (Optional[str]): The updated last name (max 50 characters).\n\nReturns:\n    The updated user information."
        },
        {
          "name": "update_my_profile",
          "signature": "update_my_profile(self: 'darkob.Client', first_name: Optional[str]=None, last_name: Optional[str]=None, bio: Optional[str]=None, birthday: Optional[str]=None, location: Optional[Dict[str, Union[float, Dict[str, Union[int, List[str], float]]]]]=None)",
          "group": "settings",
          "module": "darkob.client.settings.update_my_profile",
          "doc": "Update user profile information.\n\nParameters:\n    first_name (Optional[str]): The updated first name.\n    last_name (Optional[str]): The updated last name.\n    bio (Optional[str]): The updated biography.\n    birthday (str): Birthday in format YYYY-MM-DD (e.g., \"2026-07-05\").\n    location (Optional[dict]): Location information containing:\n        - longitude (float): Longitude coordinate.\n        - latitude (float): Latitude coordinate.\n        - map_view (dict): Map view details with:\n            - tile_side_count (int): Number of tile sides.\n            - tile_urls (List[str]): List of tile URLs.\n            - x_loc (float): X location on map.\n            - y_loc (float): Y location on map.\n\nReturns:\n    The updated user information after the profile update."
        },
        {
          "name": "update_my_username",
          "signature": "update_my_username(self: 'darkob.Client', username: str)",
          "group": "settings",
          "module": "darkob.client.settings.update_my_username",
          "doc": "Update the username of the user.\n\nParameters:\n    username (str): The new username for the user.\n        - Must be between 7 and 32 characters\n        - Can only contain English letters (a-z, A-Z), numbers (0-9), and underscore (_)\n        - Should not start with number or underscore\n        - Should not end with underscore\n\nReturns:\n    The updated user information."
        },
        {
          "name": "upgrade_to_api6",
          "signature": "upgrade_to_api6(self: 'darkob.Client', save_as: bool=True, file_name: Optional[str]=None)",
          "group": "settings",
          "module": "darkob.client.settings.upgrade_to_api6",
          "doc": "Upgrade from API v5 to v6 by setting an RSA public key.\n\nThis allows old v5 auth keys to be used with API v6.\nAfter upgrade, save the returned private_key for future v6 logins.\n\nParameters:\n    save_as (bool): If True (default), saves auth and private_key to a JSON file.\n    file_name (str, optional): Custom file name for the JSON file. Defaults to 'darkob_{auth[:10]}'.\n\nReturns:\n    Data: Response with status, message, auth, and private_key."
        },
        {
          "name": "upload_avatar",
          "signature": "upload_avatar(self: 'darkob.Client', chat: str, main_image: Union[Path, str, bytes], thumbnail_image: Optional[Union[Path, str, bytes]]=None, *args, **kwargs)",
          "group": "chats",
          "module": "darkob.client.chats.upload_avatar",
          "doc": "Uploads an avatar image for a specified chat (user, group, or channel).\n\nParameters:\n    chat (str): The GUID, link, or username of the chat for which the avatar is being uploaded.\n    main_image (Union[Path, str, bytes]): The image file or bytes to be used as the avatar.\n    thumbnail_image (Optional[Union[Path, str, bytes]]): The image file or bytes of the thumbnail image.\n\nReturns:\n    The result of the avatar upload operation.\n\nNote:\n    If `chat` is 'me', 'cloud', or 'self', it will be replaced with the client's GUID.\n    If `main_image` is a string or Path (path to a file), the file name is extracted from the path.\n        Otherwise, a default file name ('darkob.jpg') is used.\n    The `upload_file` method is used internally to handle the file upload process."
        },
        {
          "name": "upload_file",
          "signature": "upload_file(self: 'darkob.Client', file: Union[str, bytes, None]=None, base64_data: Optional[str]=None, mime: Optional[str]=None, file_name: Optional[str]=None, chunk: int=1048576, callback: Optional[Callable[[int, int], Union[None, asyncio.Future]]]=None, *args, **kwargs)",
          "group": "base",
          "module": "darkob.client.base.upload_file",
          "doc": "Upload a file to Rubika with chunked transfer and retry logic.\n\nParameters:\n    file (str, bytes, or None): File path, bytes, or URL to upload.\n    base64_data (str, optional): Base64 encoded file data.\n    mime (str, optional): MIME type of the file.\n    file_name (str, optional): Name of the file.\n    chunk (int, optional): Chunk size in bytes (default: 1MB).\n    callback (callable, optional): Progress callback(total_size, uploaded_bytes).\n\nReturns:\n    Metadata about the uploaded file."
        },
        {
          "name": "verify_change_phone_number",
          "signature": "verify_change_phone_number(self: 'darkob.Client', code: Union[str, int], hash: str)",
          "group": "settings",
          "module": "darkob.client.settings.verify_change_phone_number",
          "doc": "Verify phone number change with the received code.\n\nParameters:\n    code (str): The verification code sent to the new phone number.\n    hash (str): The hash received from request_change_phone_number.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "verify_recovery_email",
          "signature": "verify_recovery_email(self: 'darkob.Client', password: str, code: Union[str, int])",
          "group": "settings",
          "module": "darkob.client.settings.verify_recovery_email",
          "doc": "Verify the recovery code sent to the recovery email.\n\nParameters:\n    password (str): User's current password.\n    code (Union[str, int]): The verification code received in email.\n        Can be a string or an integer.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "view_chat_ads",
          "signature": "view_chat_ads(self: 'darkob.Client', chat_ads_id: str)",
          "group": "chats",
          "module": "darkob.client.chats.view_chat_ads",
          "doc": "Register a view action on a chat ad.\n\nThe `chat_ads_id` is obtained from the `get_chat_ads` method.\n\nParameters:\n    chat_ads_id (str): The chat ads ID to register a view on.\n\nReturns:\n    The result of the operation."
        },
        {
          "name": "vote_poll",
          "signature": "vote_poll(self: 'darkob.Client', poll_id: str, selection_index: Union[str, int])",
          "group": "messages",
          "module": "darkob.client.messages.vote_poll",
          "doc": "Vote on a poll option.\n\nParameters:\n    poll_id (str): The ID of the poll.\n    selection_index (Union[str, int]): The index of the option to vote for.\n\nReturns:\n    The update indicating the success of the vote."
        }
      ]
    },
    "Shad": {
      "summary": "The Shad education platform. Same Messenger protocol, Shad hosts.",
      "method_count": 325,
      "methods": [
        {
          "name": "abort_two_step_setup",
          "signature": "abort_two_step_setup(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.abort_two_step_setup",
          "doc": "Abort the two-step verification setup process.\n\nReturns:\n    The result of the operation."
        },
        {
          "name": "accept_all_join_requests",
          "signature": "accept_all_join_requests(self: 'darkob.Client', chat: str, exclude: Optional[Union[str, List[str]]]=None)",
          "group": "chats",
          "module": "darkob.client.chats.accept_all_join_requests",
          "doc": "Accept all pending join requests in a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group or channel.\n    exclude (Optional[Union[str, List[str]]]): User GUID(s) or username(s) to exclude.\n\nReturns:\n    Result containing accepted count and details."
        },
        {
          "name": "accept_join_request",
          "signature": "accept_join_request(self: 'darkob.Client', chat: str, user: str)",
          "group": "chats",
          "module": "darkob.client.chats.accept_join_request",
          "doc": "Accept a join request for a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n    user (str): The user GUID or username of the requester.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "accept_ownership_request",
          "signature": "accept_ownership_request(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.accept_ownership_request",
          "doc": "Accept an ownership transfer request.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (channel/group).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "add_contact",
          "signature": "add_contact(self: 'darkob.Client', phone_number: Union[str, int], first_name: str, last_name: str='')",
          "group": "users",
          "module": "darkob.client.users.add_contact",
          "doc": "Adds a contact to the client's address book.\n\nParameters:\n    phone_number (str): The phone number of the contact to be added.\n    first_name (str): The first name of the contact.\n    last_name (str, optional): The last name of the contact. Defaults to an empty string.\n\nReturns:\n    The result of the API call.\n\nNote:\n    The `phone_number` parameter should be a valid phone number.\n    The `first_name` and `last_name` parameters represent the name of the contact.\n    If the contact has no last name, `last_name` can be an empty string."
        },
        {
          "name": "add_folder",
          "signature": "add_folder(self: 'darkob.Client', name: str, include_chats: Optional[Union[str, List[str]]]=None, exclude_chats: Optional[Union[str, List[str]]]=None, include_chat_types: Optional[List[str]]=None, exclude_chat_types: Optional[List[str]]=None, is_add_to_top: bool=True, suggestion_folder_id: str=None, folder_id: str=None)",
          "group": "settings",
          "module": "darkob.client.settings.add_folder",
          "doc": "Add a new folder to organize chats.\n\nParameters:\n    name (str): Folder name.\n    include_chats: Chats (GUIDs, links, usernames) to include in folder.\n    exclude_chats: Chats (GUIDs, links, usernames) to exclude from folder.\n    include_chat_types: Chat types to include (case-insensitive).\n        Valid values:\n            'Contacts', 'NonContacts' / 'Users', 'Groups',\n            'Channels', 'Bots', 'Services'.\n        Note: 'Users' expands to both 'Contacts' and 'NonContacts'.\n    exclude_chat_types: Chat types to exclude (case-insensitive).\n        Valid values: 'Mute', 'Read', 'Archive'.\n    is_add_to_top (bool): Add folder to top of list.\n    suggestion_folder_id (str): Suggestion folder ID.\n    folder_id (str): Folder ID.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "add_handler",
          "signature": "add_handler(self: 'darkob.Client', func: Callable, handler: Union[ChatUpdates, MessageUpdates, ShowActivities, ShowNotifications, RemoveNotifications])",
          "group": "core",
          "module": "darkob.client.core.handler_manager",
          "doc": ""
        },
        {
          "name": "add_live_comment",
          "signature": "add_live_comment(self: 'darkob.Client', access_token: str, live_id: str, comment: str)",
          "group": "extras",
          "module": "darkob.client.extras.add_live_comment",
          "doc": "Adds a comment to a live stream.\n\nParameters:\n    access_token (str): The access token for authentication.\n    live_id (str): The ID of the live stream.\n    comment (str): The text of the comment.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "add_members",
          "signature": "add_members(self: 'darkob.Client', chat: str, members: Union[str, List[str]])",
          "group": "chats",
          "module": "darkob.client.chats.add_members",
          "doc": "Add members to a channel or group.\n\nParameters:\n    chat (str): The GUID, link, or username of the channel/group.\n    members (Union[str, List[str]]): The GUID(s) or username(s) of the member(s) to be added.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "add_reaction",
          "signature": "add_reaction(self: 'darkob.Client', chat: str, message_id: Union[str, int], reaction_id: Union[int, str])",
          "group": "messages",
          "module": "darkob.client.messages.add_reaction",
          "doc": "Add a reaction to a specific message.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat associated with the message.\n    message_id (Union[str, int]): The ID of the message to which the reaction will be added.\n    reaction_id (Union[str, int]): The ID of the reaction to be added.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "add_saved_music_playlist",
          "signature": "add_saved_music_playlist(self: 'darkob.Client', files: Union[Path, str, List[Union[Path, str]]]=None, file_inlines: List[dict]=None, time: Optional[int]=None, performer: Optional[str]=None, file_name: Optional[str]=None, **kwargs)",
          "group": "settings",
          "module": "darkob.client.settings.add_saved_music_playlist",
          "doc": "Add a saved music playlist on your profile.\n\nParameters:\n    files: A single file path or a list of file paths to music files.\n    file_inlines: Pre-uploaded file_inline dicts to add directly.\n    time: Custom duration in seconds. If not provided, auto-detected.\n    performer: Custom performer name. If not provided, auto-detected.\n    file_name: Custom file name. If not provided, uses original file name.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "add_saved_music_track",
          "signature": "add_saved_music_track(self: 'darkob.Client', track: Union[Path, str]=None, file_inline: dict=None, time: Optional[int]=None, performer: Optional[str]=None, file_name: Optional[str]=None, **kwargs)",
          "group": "settings",
          "module": "darkob.client.settings.add_saved_music_track",
          "doc": "Add a single music track to your saved music playlist.\n\nParameters:\n    track: A file path (str or Path) to a music file, or raw bytes.\n    file_inline: A pre-uploaded file_inline dict to add directly.\n    time: Custom duration in seconds. If not provided, auto-detected.\n    performer: Custom performer name. If not provided, auto-detected.\n    file_name: Custom file name. If not provided, uses original file name.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "add_sticker_set",
          "signature": "add_sticker_set(self: 'darkob.Client', sticker_set_id: str)",
          "group": "extras",
          "module": "darkob.client.extras.add_sticker_set",
          "doc": "Add a sticker set.\n\nParameters:\n    sticker_set_id (str): The ID of the sticker set.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "add_to_my_gif_set",
          "signature": "add_to_my_gif_set(self: 'darkob.Client', chat: str, message_id: Union[str, int])",
          "group": "extras",
          "module": "darkob.client.extras.add_to_my_gif_set",
          "doc": "Adds a GIF message to the user's personal GIF set.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    message_id (Union[str, int]): The ID of the GIF message.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "archive_chat",
          "signature": "archive_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.archive_chat",
          "doc": "Archive a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to archive.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "archive_sticker_set",
          "signature": "archive_sticker_set(self: 'darkob.Client', sticker_set_id: str)",
          "group": "extras",
          "module": "darkob.client.extras.archive_sticker_set",
          "doc": "Archive a sticker set.\n\nParameters:\n    sticker_set_id (str): The ID of the sticker set.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "ask",
          "signature": "ask(self, chat_id: str, text: Optional[str]=None, *, filters: Optional[list]=None, timeout: float=60.0, inline_keypad: Any=None, chat_keypad: Any=None)",
          "group": "core",
          "module": "darkob.TheClient",
          "doc": "Send a prompt and await the next matching reply in that chat.\n\nThe reply is returned to you instead of being dispatched to\nhandlers while the prompt is pending."
        },
        {
          "name": "auto_delete_account",
          "signature": "auto_delete_account(self: 'darkob.Client', setting: Union[int, str])",
          "group": "settings",
          "module": "darkob.client.settings.auto_delete_account",
          "doc": "Set account auto-deletion after months of inactivity.\n\nParameters:\n    setting (Union[int, str]): Months of inactivity. Accepts: 3, 6, 12, or 24.\n        Can be int (3, 6, 12, 24) or str (\"3\", \"6\", \"12\", \"24\", \"3m\", \"6m\", \"12m\", \"24m\")\n\nReturns:\n    The updated privacy settings.\n\nExamples:\n    >>> await client.auto_delete_account(6)  # doctest: +SKIP\n    >>> await client.auto_delete_account(\"12m\")  # doctest: +SKIP"
        },
        {
          "name": "auto_delete_message",
          "signature": "auto_delete_message(self: 'darkob.Client', chat: str, message_id: Union[str, int], time: Union[float, int])",
          "group": "messages",
          "module": "darkob.client.messages.auto_delete_message",
          "doc": "Automatically delete a message after a specified time.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat associated with the message\n        (e.g., user, group, channel).\n    message_id (Union[str, int]): The ID of the message to be deleted.\n    time (Union[float, int]): The time delay (in seconds) before deleting the message.\n\nReturns:\n    The updated information after deleting the message."
        },
        {
          "name": "ban_member",
          "signature": "ban_member(self: 'darkob.Client', chat: str, member: str)",
          "group": "chats",
          "module": "darkob.client.chats.ban_member",
          "doc": "Ban a member from a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of group/channel.\n    member (str): The GUID or username of member to ban.\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "ban_members",
          "signature": "ban_members(self: 'darkob.Client', chat: str, members: List[str])",
          "group": "chats",
          "module": "darkob.client.chats.ban_members",
          "doc": "Ban multiple members from a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of group/channel.\n    members (List[str]): List of GUIDs or usernames of members to ban.\n\nReturns:\n    Results of all operations."
        },
        {
          "name": "block_user",
          "signature": "block_user(self: 'darkob.Client', user: str)",
          "group": "users",
          "module": "darkob.client.users.block_user",
          "doc": "Block a user.\n\nParameters:\n    user (str): The GUID or username of the user to block.\n\nReturns:\n    The result of the block operation."
        },
        {
          "name": "cancel_change_owner",
          "signature": "cancel_change_owner(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.cancel_change_owner",
          "doc": "Cancels a pending ownership transfer request for a channel or group.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (channel/group).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "change_owner",
          "signature": "change_owner(self: 'darkob.Client', chat: str, new_owner: str)",
          "group": "chats",
          "module": "darkob.client.chats.change_owner",
          "doc": "Request to transfer ownership of a chat to another user.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (channel/group).\n    new_owner (str): The GUID or username of the user to become new owner.\n\nReturns:\n    The result of the API call.\n\nNote:\n    - Only works if you are the current owner\n    - New owner must accept the request\n    - Irreversible action"
        },
        {
          "name": "change_password",
          "signature": "change_password(self: 'darkob.Client', password: str, new_password: str, new_hint: str)",
          "group": "settings",
          "module": "darkob.client.settings.change_password",
          "doc": "Changes the user's password.\n\nParameters:\n    password (str): The current password.\n    new_password (str): The new password.\n    new_hint (str): The new password hint.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "check_channel_username",
          "signature": "check_channel_username(self: 'darkob.Client', username: str)",
          "group": "channels",
          "module": "darkob.client.channels.check_channel_username",
          "doc": "Check the availability of a username for a channel.\n\nParameters:\n    username (str): The username to check.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "check_join",
          "signature": "check_join(self: 'darkob.Client', chat: str, member: str)",
          "group": "chats",
          "module": "darkob.client.chats.check_join",
          "doc": "Check if a user or bot is a member of a specific group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to check.\n    member (str): The GUID or username of the user/bot to check.\n\nReturns:\n    bool: True if user/bot is a member, False otherwise."
        },
        {
          "name": "check_two_step_passcode",
          "signature": "check_two_step_passcode(self: 'darkob.Client', password: str)",
          "group": "settings",
          "module": "darkob.client.settings.check_two_step_passcode",
          "doc": "Check if the provided two-step verification password is correct.\n\nParameters:\n    password (str): The two-step verification password to check.\n\nReturns:\n    Result containing status and user data if successful."
        },
        {
          "name": "check_user_username",
          "signature": "check_user_username(self: 'darkob.Client', username: str)",
          "group": "users",
          "module": "darkob.client.users.check_user_username",
          "doc": "Check the availability of a username for a user.\n\nParameters:\n    username (str): The username to be checked.\n\nReturns:\n    The result of the username availability check."
        },
        {
          "name": "clear_all_drafts",
          "signature": "clear_all_drafts(self: 'darkob.Client')",
          "group": "chats",
          "module": "darkob.client.chats.clear_all_drafts",
          "doc": "Clear all drafts.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "clear_black_list",
          "signature": "clear_black_list(self: 'darkob.Client', chat: str, exclude: Optional[Union[str, List[str]]]=None)",
          "group": "chats",
          "module": "darkob.client.chats.clear_black_list",
          "doc": "Clear black list with unban all banned members in a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group or channel.\n    exclude (Optional[Union[str, List[str]]]): Member GUID(s) or username(s) to exclude from unban. Default is None.\n\nReturns:\n    Result of unban operation."
        },
        {
          "name": "clear_chat_draft",
          "signature": "clear_chat_draft(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.clear_chat_draft",
          "doc": "Clear the draft of a specific chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "click_chat_ads",
          "signature": "click_chat_ads(self: 'darkob.Client', chat_ads_id: str)",
          "group": "chats",
          "module": "darkob.client.chats.click_chat_ads",
          "doc": "Register a click action on a chat ad.\n\nThe `chat_ads_id` is obtained from the `get_chat_ads` method.\n\nParameters:\n    chat_ads_id (str): The chat ads ID to register a click on.\n\nReturns:\n    The result of the operation."
        },
        {
          "name": "click_inline_button",
          "signature": "click_inline_button(self: 'darkob.Client', chat: str, message_id: Union[str, int], button_id: str)",
          "group": "messages",
          "module": "darkob.client.messages.click_inline_button",
          "doc": "Send API call response to a chat's inline keypad button.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    message_id (Union[str, int]): The ID of the message containing inline keyboard.\n    button_id (str): The ID of the button.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "click_keypad_button",
          "signature": "click_keypad_button(self: 'darkob.Client', chat: str, button_id: str)",
          "group": "chats",
          "module": "darkob.client.chats.click_keypad_button",
          "doc": "Click a button in the chat keypad.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (must be a bot).\n    button_id (str): The button ID to click.\n\nReturns:\n    The result of the button click."
        },
        {
          "name": "click_message_url",
          "signature": "click_message_url(self: 'darkob.Client', chat: str, message_id: typing.Union[str, int], link_url: str)",
          "group": "messages",
          "module": "darkob.client.messages.click_message_url",
          "doc": "Simulate clicking a URL contained within a specific message.\n\nParameters:\n    chat (str): The GUID, link or username of the chat.\n    message_id (Union[str, int]): The unique ID of the message that includes the URL.\n    link_url(str): The URL string embedded in the message to be clicked.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "close",
          "signature": "close(self: 'darkob.Client')",
          "group": "base",
          "module": "darkob.client.base.disconnect",
          "doc": "Close the connection to the Darkob server (async version)."
        },
        {
          "name": "confirm_unconfirmed_session",
          "signature": "confirm_unconfirmed_session(self: 'darkob.Client', unconfirmed_session_key: str)",
          "group": "settings",
          "module": "darkob.client.settings.confirm_unconfirmed_session",
          "doc": "Confirm an unconfirmed (pending) session.\n\nParameters:\n    unconfirmed_session_key (str): The session key to confirm.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "connect",
          "signature": "connect(self: 'darkob.Client')",
          "group": "base",
          "module": "darkob.client.base.connect",
          "doc": "Establish a connection to the Rubika API.\n\nCreates an Api instance and loads stored session information\n(auth, guid, private_key, user_agent) if available.\n\nReturns:\n    Client instance with active connection."
        },
        {
          "name": "create_channel",
          "signature": "create_channel(self: 'darkob.Client', title: str, members: Optional[Union[str, list]]=None, channel_type: str='Public', description: Optional[str]=None, avatar: Optional[Union[Path, str, bytes]]=None, thumbnail_avatar: Optional[Union[Path, str, bytes]]=None, *args, **kwargs)",
          "group": "channels",
          "module": "darkob.client.channels.create_channel",
          "doc": "Create a new channel.\n\nParameters:\n    title (str): The title of the new channel.\n    members (Union[str, list], optional): The GUID(s) or username(s) of the member(s) to be added to the new channel. Default is None.\n    channel_type (str): Set type of the channel. 'Public' or 'Private'. Default is 'Public'.\n    description (str, optional): The description of the new channel. Default is None.\n    avatar (Optional[Union[Path, str, bytes]]): The image to be used as the channel avatar. Default is None.\n    thumbnail_avatar (Optional[Union[Path, str, bytes]]): The image to be used as the channel thumbnail avatar. Default is None.\n\nReturns:\n    The result of the API call.\n\nNote:\n    If only `avatar` is provided, the thumbnail is taken from the same image.\n    If none of them are provided, no avatar is set for the channel."
        },
        {
          "name": "create_group",
          "signature": "create_group(self: 'darkob.Client', title: str, members: Union[str, List[str]], description: Optional[str]=None, avatar: Optional[Union[Path, str, bytes]]=None, thumbnail_avatar: Optional[Union[Path, str, bytes]]=None, *args, **kwargs)",
          "group": "groups",
          "module": "darkob.client.groups.create_group",
          "doc": "Create a new group.\n\nParameters:\n    title (str): The title of the group.\n    members (Union[str, List[str]]): A single member GUID/Username or a list of member GUIDs/Usernames to be added to the group.\n    description (Optional[str]): Description of the group (optional). Defaults to None.\n    avatar (Optional[Union[Path, str, bytes]]): The image to be used as the group avatar. Default is None.\n    thumbnail_avatar (Optional[Union[Path, str, bytes]]): The image to be used as the group thumbnail avatar. Default is None.\n\nReturns:\n    The result of the API call.\n\nNote:\n    If only `avatar` is provided, the thumbnail is taken from the same image.\n    If none of them are provided, no avatar is set for the group."
        },
        {
          "name": "create_join_link",
          "signature": "create_join_link(self: 'darkob.Client', chat: str, expire_time: Optional[int]=None, request_needed: bool=False, title: Optional[str]=None, usage_limit: int=0)",
          "group": "chats",
          "module": "darkob.client.chats.create_join_link",
          "doc": "Creates an invite link for a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the target group or channel.\n    expire_time (Optional[int]): The expiration time of the link in seconds.\n    request_needed (bool): Whether join requests must be approved manually.\n    title (Optional[str]): A custom title for the invite link.\n    usage_limit (int): The maximum number of times the link can be used.\n\nReturns:\n    The API response containing the created invite link."
        },
        {
          "name": "delete_account",
          "signature": "delete_account(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.delete_account",
          "doc": "Request to permanently delete your Rubika account.\n\nReturns:\n    str: User-friendly confirmation message."
        },
        {
          "name": "delete_all_avatars",
          "signature": "delete_all_avatars(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.delete_all_avatars",
          "doc": "Delete all avatars from a chat or user profile.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    Data: Result of the operation.\n\nNote:\n    If `chat` is 'me', 'cloud', 'self', or 'myself', it will be replaced with the client's GUID."
        },
        {
          "name": "delete_all_messages",
          "signature": "delete_all_messages(self: 'darkob.Client', chat: str, exclude_message_ids: Optional[Union[str, int, List[Union[str, int]]]]=None)",
          "group": "messages",
          "module": "darkob.client.messages.delete_all_messages",
          "doc": "Delete all messages in a chat except the first creation event message\nand optionally specified message IDs.\n\nThis method retrieves all messages from the chat and deletes them,\nwhile preserving:\n- Any message IDs specified in `exclude_message_ids`.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat\n    exclude_message_ids (Union[str, int, List[Union[str, int]]], optional): \n        Message ID(s) to preserve (not delete). Can be string, integer, or list.\n        Default is None.\n\nReturns:\n    Result of the deletion operation."
        },
        {
          "name": "delete_all_my_gif_set",
          "signature": "delete_all_my_gif_set(self: 'darkob.Client')",
          "group": "extras",
          "module": "darkob.client.extras.delete_all_my_gif_set",
          "doc": "Delete all GIFs from the user's personal GIF set.\n\nReturns:\n    Data: A Data object containing the deletion result."
        },
        {
          "name": "delete_avatar",
          "signature": "delete_avatar(self: 'darkob.Client', chat: str, avatar_id: str)",
          "group": "chats",
          "module": "darkob.client.chats.delete_avatar",
          "doc": "Delete an avatar.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat that owns the avatar.\n    avatar_id (str): The identifier of the avatar to be deleted.\n\nReturns:\n    The result of the API call.\n\nNote:\n    If `chat` is 'me', 'cloud', 'self', or 'myself', it will be replaced with the client's GUID."
        },
        {
          "name": "delete_bot_chat",
          "signature": "delete_bot_chat(self: 'darkob.Client', bot: str)",
          "group": "bots",
          "module": "darkob.client.bots.delete_bot_chat",
          "doc": "Delete a bot chat.\n\nParameters:\n    bot (str): The GUID or username of the bot.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "delete_channel",
          "signature": "delete_channel(self: 'darkob.Client', channel: str, confirm: bool=True)",
          "group": "channels",
          "module": "darkob.client.channels.delete_channel",
          "doc": "Delete a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n    confirm (bool): If True, ask the user for confirmation before\n        deleting the channel. If False, delete immediately.\n        Default is True.\n\nReturns:\n    The result of the API call.\n    Exits if cancelled."
        },
        {
          "name": "delete_chat_history",
          "signature": "delete_chat_history(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.delete_chat_history",
          "doc": "Delete chat history up to the last message.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (e.g., user, group).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "delete_contact",
          "signature": "delete_contact(self: 'darkob.Client', user: str)",
          "group": "users",
          "module": "darkob.client.users.delete_contact",
          "doc": "Deletes a contact from the client's address book.\n\nParameters:\n    user (str): The GUID or username of the contact to be deleted.\n\nReturns:\n    The result of the contact deletion operation.\n\nNote:\n    - The `user` parameter should be the GUID or username of the contact to be deleted."
        },
        {
          "name": "delete_folder",
          "signature": "delete_folder(self: 'darkob.Client', folder_id: str)",
          "group": "settings",
          "module": "darkob.client.settings.delete_folder",
          "doc": "Delete a folder.\n\nParameters:\n    folder_id (str): The ID of the folder to be deleted.\n\nReturns:\n    Result of the delete folder operation."
        },
        {
          "name": "delete_group",
          "signature": "delete_group(self: 'darkob.Client', group: str, confirm: bool=True)",
          "group": "groups",
          "module": "darkob.client.groups.delete_group",
          "doc": "Delete a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n    confirm (bool): If True, ask the user for confirmation before\n        deleting the group. If False, delete immediately.\n        Default is True.\n\nReturns:\n    The result of the API call.\n    Exits if cancelled."
        },
        {
          "name": "delete_messages",
          "signature": "delete_messages(self: 'darkob.Client', chat: str, message_ids: Union[str, int, list], type: Literal['Local', 'Global', 'Scheduled']='Global')",
          "group": "messages",
          "module": "darkob.client.messages.delete_messages",
          "doc": "Delete specified messages associated with the given chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat associated with the messages\n        (e.g., user, group, channel).\n    message_ids (Union[str, int, list]): The ID or list of IDs of the messages to be deleted.\n    type (str): The type of deletion, can be 'Global', 'Local', or 'Scheduled'. Default is 'Global'.\n\nReturns:\n    The updated information after deleting the messages."
        },
        {
          "name": "delete_my_gif_set",
          "signature": "delete_my_gif_set(self: 'darkob.Client', file_id: str)",
          "group": "extras",
          "module": "darkob.client.extras.delete_my_gif_set",
          "doc": "Deletes a GIF from the user's personal GIF set.\n\nParameters:\n    file_id (str): The file ID of the GIF to be removed.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "delete_my_messages",
          "signature": "delete_my_messages(self: 'darkob.Client', chat: str, exclude_message_ids: Optional[Union[str, int, List[Union[str, int]]]]=None)",
          "group": "messages",
          "module": "darkob.client.messages.delete_my_messages",
          "doc": "Delete all messages sent by the authenticated user in a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    exclude_message_ids (Optional[Union[str, int, List[Union[str, int]]]]): \n        Message ID(s) to exclude from deletion (preserve them). Default is None.\n\nReturns:\n    Result of the deletion operation."
        },
        {
          "name": "delete_saved_music_playlist",
          "signature": "delete_saved_music_playlist(self: 'darkob.Client', position: int=None)",
          "group": "settings",
          "module": "darkob.client.settings.delete_saved_music_playlist",
          "doc": "Delete tracks from the saved music playlist on your profile.\n\nParameters:\n    position (int, optional): The position of the track to delete. If None, deletes all.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "delete_service_chat",
          "signature": "delete_service_chat(self: 'darkob.Client', service: str)",
          "group": "bots",
          "module": "darkob.client.bots.delete_service_chat",
          "doc": "Delete a service chat.\n\nParameters:\n    service (str): The GUID of the service chat to delete.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "delete_sticker_set",
          "signature": "delete_sticker_set(self: 'darkob.Client', sticker_set_id: str)",
          "group": "extras",
          "module": "darkob.client.extras.delete_sticker_set",
          "doc": "Delete a sticker set.\n\nParameters:\n    sticker_set_id (str): The ID of the sticker set.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "delete_user_chat",
          "signature": "delete_user_chat(self: 'darkob.Client', user: str)",
          "group": "users",
          "module": "darkob.client.users.delete_user_chat",
          "doc": "Delete a user chat.\n\nParameters:\n    user (str): The GUID or username of the user whose chat is to be deleted.\n\nReturns:\n    The result of the user chat deletion."
        },
        {
          "name": "deny_unconfirmed_session",
          "signature": "deny_unconfirmed_session(self: 'darkob.Client', unconfirmed_session_key: str)",
          "group": "settings",
          "module": "darkob.client.settings.deny_unconfirmed_session",
          "doc": "Deny an unconfirmed (pending) session.\n\nParameters:\n    unconfirmed_session_key (str): The session key to deny.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "discard_call",
          "signature": "discard_call(self: 'darkob.Client', call_id: str, duration: int=0, reason: str='Disconnect')",
          "group": "users",
          "module": "darkob.client.users.discard_call",
          "doc": "Discard/end an active call.\n\nParameters:\n    call_id (str): ID of the call to discard\n    duration (int): Call duration in seconds\n    reason (str): Reason for ending the call.\n        Common options: 'Missed' and 'Disconnect'.\n        Default: 'Disconnect'\n\nReturns:\n    Result of the discard operation."
        },
        {
          "name": "discard_voice_chat",
          "signature": "discard_voice_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.discard_voice_chat",
          "doc": "Discard/End a voice chat for a channel or group.\n\nParameters:\n    chat (str): The GUID, link, or username of the channel or group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "disconnect",
          "signature": "disconnect(self: 'darkob.Client')",
          "group": "base",
          "module": "darkob.client.base.disconnect",
          "doc": "Disconnect from the Darkob server (sync version)."
        },
        {
          "name": "dont_show_chat_ads",
          "signature": "dont_show_chat_ads(self: 'darkob.Client', chat_ads_id: str)",
          "group": "chats",
          "module": "darkob.client.chats.dont_show_chat_ads",
          "doc": "Register a 'don't show' action on a chat ad.\n\nThe `chat_ads_id` is obtained from the `get_chat_ads` method.\n\nParameters:\n    chat_ads_id (str): The chat ads ID to hide.\n\nReturns:\n    The result of the operation."
        },
        {
          "name": "download_file",
          "signature": "download_file(self: 'darkob.Client', file_inline: Optional[Union[dict, Data]]=None, dc_id: Optional[int]=None, file_id: Optional[int]=None, access_hash: Optional[str]=None, size: Optional[int]=None, chunk: int=131072, callback: Optional[Callable[[int, int], Union[None, asyncio.Future]]]=None, gather: bool=False, save_as: Optional[Union[str, bool]]=None, file_name: Optional[str]=None, as_base64: bool=False, *args, **kwargs)",
          "group": "base",
          "module": "darkob.client.base.download_file",
          "doc": "Download a file from Rubika/Shad.\n\nParameters:\n    file_inline (dict or Data, optional): File inline object from messages.\n        If provided, dc_id, file_id, access_hash, size will be extracted.\n    dc_id (int, optional): Data center ID (if file_inline not provided).\n    file_id (int, optional): Unique identifier of the file.\n    access_hash (str, optional): Access hash associated with the file.\n    size (int, optional): Total size of the file in bytes.\n    chunk (int, optional): Size of each download chunk (default: 131072).\n    callback (callable, optional): Progress callback(total_size, downloaded_size).\n    gather (bool, optional): Download chunks in parallel (default: False).\n    save_as (str or bool, optional): Directory path or True for current dir. If None, returns bytes.\n    file_name (str, optional): Custom file name.\n    as_base64 (bool, optional): Return as base64 encoded string (default: False).\n\nReturns:\n    bytes, str, or Data: File content (bytes), base64 string, or Data object (when save_as used)."
        },
        {
          "name": "download_profile_picture",
          "signature": "download_profile_picture(self: 'darkob.Client', chat: Optional[str]=None, file_id: Optional[str]=None, access_hash_rec: Optional[str]=None, dc_id: Optional[str]=None, save_as: Optional[Union[str, bool]]=None, save_all: bool=False)",
          "group": "chats",
          "module": "darkob.client.chats.download_profile_picture",
          "doc": "Download the profile picture of a user, group, or channel.\n\nParameters:\n    chat (str, optional): The GUID, link, or username of the user, group, channel, or other chats.\n    file_id (str, optional): Direct file_id for download without fetching avatars.\n    access_hash_rec (str, optional): Direct access_hash_rec for download without fetching avatars.\n    dc_id (str, optional): DC ID required when using file_id and access_hash_rec directly.\n    save_as (str or bool, optional): Directory path to save the file(s). If True, saves in current directory. If None, returns bytes only.\n    save_all (bool): If True, downloads all avatars instead of just the latest. Returns list of bytes if save_as is None.\n\nReturns:\n    bytes, List[bytes]: Binary data or saved file paths."
        },
        {
          "name": "edit_can_called_by",
          "signature": "edit_can_called_by(self: 'darkob.Client', setting: str, exceptions: Optional[Dict[str, List[str]]]=None)",
          "group": "settings",
          "module": "darkob.client.settings.edit_can_called_by",
          "doc": "Edits the setting to control who can call you.\n\nParameters:\n    setting (str): 'Everybody', 'MyContacts' or 'Nobody'\n    exceptions (Optional[Dict[str, List[str]]]): \n        - 'include_users': List[str] - Users to always allow\n        - 'exclude_users': List[str] - Users to always deny\n\n        To clear exceptions, pass {'exclude_users': []}\n\nReturns:\n    The updated privacy settings after the change."
        },
        {
          "name": "edit_can_join_chat_by",
          "signature": "edit_can_join_chat_by(self: 'darkob.Client', setting: str, exceptions: Optional[Dict[str, List[str]]]=None)",
          "group": "settings",
          "module": "darkob.client.settings.edit_can_join_chat_by",
          "doc": "Edits the setting to control who can join your chats by link.\n\nParameters:\n    setting (str): 'Everybody', 'MyContacts' or 'Nobody'\n    exceptions (Optional[Dict[str, List[str]]]): \n        - 'include_users': List[str] - Users to always allow\n        - 'exclude_users': List[str] - Users to always deny\n\n        To clear exceptions, pass {'exclude_users': []}\n\nReturns:\n    The updated privacy settings after the change."
        },
        {
          "name": "edit_channel_info",
          "signature": "edit_channel_info(self: 'darkob.Client', channel: str, title: Optional[str]=None, description: Optional[str]=None, username: Optional[str]=None, channel_type: Literal['Public', 'Private']=None, sign_messages: Optional[bool]=None, is_restricted_content: Optional[bool]=None, reactions: Optional[Union[Literal['All', 'Disable'], List[int]]]=None)",
          "group": "channels",
          "module": "darkob.client.channels.edit_channel_info",
          "doc": "Edit information of a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n    title (str, optional): The new title of the channel. Max 60 characters.\n    description (str, optional): The new description of the channel. Max 300 characters.\n    username (str, optional): The new username of the channel. Max 32 characters.\n    channel_type (str, optional): The new type of the channel. 'Public' or 'Private'.\n    sign_messages (bool, optional): Whether to sign messages in the channel.\n    is_restricted_content (bool, optional): Restrict content (prevent screenshots and file saving).\n    reactions (Union[Literal['All', 'Disable'], List[int]], optional): \n        - 'All': Enable all reactions\n        - 'Disable': Disable all reactions\n        - List[int]: List of reaction IDs to enable (e.g., [1, 2, 6, 7, 8, 23, 44])\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "edit_channel_title",
          "signature": "edit_channel_title(self: 'darkob.Client', channel: str, title: str)",
          "group": "channels",
          "module": "darkob.client.channels.edit_channel_title",
          "doc": "Edit title of a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n    title (str): The new title of the channel.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "edit_group_info",
          "signature": "edit_group_info(self: 'darkob.Client', group: str, title: Optional[str]=None, description: Optional[str]=None, slow_mode: Optional[str]=None, event_messages: Optional[bool]=None, is_restricted_content: Optional[bool]=None, reactions: Optional[Union[Literal['All', 'Disable'], List[int]]]=None, chat_history_for_new_members: Optional[str]=None, restricted_period: Optional[List[Dict[str, Union[List[str], str]]]]=None)",
          "group": "groups",
          "module": "darkob.client.groups.edit_group_info",
          "doc": "Edit the information of a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n    title (Optional[str]): The new title for the group (max 60 characters).\n    description (Optional[str]): The new description for the group (max 300 characters).\n    slow_mode (Optional[str]): The new slow mode setting for the group.\n    event_messages (Optional[bool]): Enable or disable event messages for the group.\n    is_restricted_content (Optional[bool]): Restrict content (prevent screenshots and file saving).\n    reactions (Union[Literal['All', 'Disable'], List[int]], optional): \n        - 'All': Enable all reactions\n        - 'Disable': Disable all reactions\n        - List[int]: List of reaction IDs to enable (e.g., [1, 2, 6, 7, 8, 23, 44])\n    chat_history_for_new_members (Optional[str]): The new chat history setting for new members.\n    restricted_period (Optional[List[Dict[str, Union[List[str], str]]]]): \n        Time restrictions for sending messages (list of periods). Each period should contain:\n        - days_of_week: List of days ['Saturday', 'Sunday', ..., 'Friday']\n        - from_time: Start time in \"HH:MM\" format (24-hour)\n        - to_time: End time in \"HH:MM\" format (24-hour)\n        Note: Can accept multiple periods as a list of dictionaries.\n\nReturns:\n    The result of the API call.\n\nExamples:\n    # Enable all reactions\n    await client.edit_group_info(\n        group=\"g0...\",\n        reactions=\"All\"\n    )\n\n    # Disable all reactions\n    await client.edit_group_info(\n        group=\"g0...\",\n        reactions=\"Disable\"\n    )\n\n    # Enable specific reactions\n    await client.edit_group_info(\n        group=\"g0...\",\n        reactions=[1, 2, 6, 7, 8, 23, 44]\n    )\n\n    # Single restricted period\n    await client.edit_group_info(\n        group=\"g0...\",\n        restricted_period=[{\n            \"days_of_week\": [\"Saturday\", \"Sunday\"],\n            \"from_time\": \"00:00\",\n            \"to_time\": \"06:00\"\n        }]\n    )\n\n    # Multiple restricted periods\n    await client.edit_group_info(\n        group=\"g0...\",\n        restricted_period=[\n            {\n                \"days_of_week\": [\"Saturday\", \"Sunday\", \"Monday\"],\n                \"from_time\": \"01:13\",\n                \"to_time\": \"08:16\"\n            },\n            {\n                \"days_of_week\": [\"Tuesday\", \"Wednesday\"],\n                \"from_time\": \"22:00\",\n                \"to_time\": \"04:00\"  # Can cross midnight\n            }\n        ]\n    )"
        },
        {
          "name": "edit_group_timer",
          "signature": "edit_group_timer(self: 'darkob.Client', group: str, timer: typing.Union[str, int])",
          "group": "groups",
          "module": "darkob.client.groups.edit_group_timer",
          "doc": "Parameters:\n    group (str): The GUID or link of the group.\n    timer (Union[str, int]): The new slow mode setting for the group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "edit_group_title",
          "signature": "edit_group_title(self: 'darkob.Client', group: str, title: str)",
          "group": "groups",
          "module": "darkob.client.groups.edit_group_title",
          "doc": "Edit title of a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n    title (str): The new title of the group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "edit_join_link",
          "signature": "edit_join_link(self: 'darkob.Client', chat: str, join_link: str, title: Optional[str]=None, expire_time: Optional[int]=None, request_needed: Optional[bool]=None, usage_limit: Optional[int]=None)",
          "group": "chats",
          "module": "darkob.client.chats.edit_join_link",
          "doc": "Edit an existing invite link for a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the target group or channel.\n    join_link (str): The join link to edit.\n    expire_time (Optional[int]): The new expiration time of the link in seconds.\n    request_needed (Optional[bool]): Whether join requests must be approved manually.\n    title (Optional[str]): A new custom title for the invite link.\n    usage_limit (Optional[int]): The new maximum number of times the link can be used.\n\nReturns:\n    The API response containing the edited invite link."
        },
        {
          "name": "edit_message",
          "signature": "edit_message(self: 'darkob.Client', chat: str, message_id: Union[int, str], text: str, metadata: Optional[dict]=None)",
          "group": "messages",
          "module": "darkob.client.messages.edit_message",
          "doc": "Edit the specified message associated with the given chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat associated with the message\n        (e.g., user, group, channel).\n    message_id (Union[int, str]): The ID of the message to be edited.\n    text (str): The new text content for the message.\n    metadata (dict, optional): Pre-formatted metadata (Bold, Italic, etc.).\n\nReturns:\n    The updated information after editing the message."
        },
        {
          "name": "edit_show_birthday",
          "signature": "edit_show_birthday(self: 'darkob.Client', setting: str, exceptions: Optional[Dict[str, List[str]]]=None)",
          "group": "settings",
          "module": "darkob.client.settings.edit_show_birthday",
          "doc": "Edits the setting to show or hide the user's birthday.\n\nParameters:\n    setting (str): 'Everybody', 'MyContacts' or 'Nobody'\n    exceptions (Optional[Dict[str, List[str]]]): \n        - 'include_users': List[str] - Users to always allow\n        - 'exclude_users': List[str] - Users to always deny\n\n        To clear exceptions, pass {'exclude_users': []}\n\nReturns:\n    The updated privacy settings after the change."
        },
        {
          "name": "edit_show_last_online",
          "signature": "edit_show_last_online(self: 'darkob.Client', setting: str, exceptions: Optional[Dict[str, List[str]]]=None)",
          "group": "settings",
          "module": "darkob.client.settings.edit_show_last_online",
          "doc": "Edits the setting to control who can see the user's last online status.\n\nParameters:\n    setting (str): 'Everybody', 'MyContacts' or 'Nobody'\n    exceptions (Optional[Dict[str, List[str]]]): \n        - 'include_users': List[str] - Users to always allow\n        - 'exclude_users': List[str] - Users to always deny\n\n        To clear exceptions, pass {'exclude_users': []}\n\nReturns:\n    The updated privacy settings after the change."
        },
        {
          "name": "edit_show_phone_number",
          "signature": "edit_show_phone_number(self: 'darkob.Client', setting: str, exceptions: Optional[Dict[str, List[str]]]=None)",
          "group": "settings",
          "module": "darkob.client.settings.edit_show_phone_number",
          "doc": "Edits the setting to control who can see the user's phone number.\n\nParameters:\n    setting (str): 'Everybody', 'MyContacts' or 'Nobody'\n    exceptions (Optional[Dict[str, List[str]]]): \n        - 'include_users': List[str] - Users to always allow\n        - 'exclude_users': List[str] - Users to always deny\n\n        To clear exceptions, pass {'exclude_users': []}\n\nReturns:\n    The updated privacy settings after the change."
        },
        {
          "name": "edit_show_profile_photo",
          "signature": "edit_show_profile_photo(self: 'darkob.Client', setting: str, exceptions: Optional[Dict[str, List[str]]]=None)",
          "group": "settings",
          "module": "darkob.client.settings.edit_show_profile_photo",
          "doc": "Edits the setting to control who can see the user's profile photo.\n\nParameters:\n    setting (str): 'Everybody', 'MyContacts' or 'Nobody'\n    exceptions (Optional[Dict[str, List[str]]]): \n        - 'include_users': List[str] - Users to always allow\n        - 'exclude_users': List[str] - Users to always deny\n\n        To clear exceptions, pass {'exclude_users': []}\n\nReturns:\n    The updated privacy settings after the change."
        },
        {
          "name": "edit_slow_mode",
          "signature": "edit_slow_mode(self: 'darkob.Client', group: str, slow_mode: typing.Union[str, int])",
          "group": "groups",
          "module": "darkob.client.groups.edit_slow_mode",
          "doc": "Parameters:\n    group (str): The GUID or link of the group.\n    slow_mode (Union[str, int]): The new slow mode setting for the group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "feedback_voice_transcription",
          "signature": "feedback_voice_transcription(self: 'darkob.Client', chat: Union[str, int], message_id: Union[str, int], feedback_type: str, feedback_text: str=None)",
          "group": "extras",
          "module": "darkob.client.extras.feedback_voice_transcription",
          "doc": "Send feedback for a voice transcription.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    message_id (Union[str, int]): The ID of the voice message.\n    feedback_type (str): 'OK' or 'Incorrect'.\n    feedback_text (str, optional): Feedback text. If not provided, uses the transcription text.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "forward_messages",
          "signature": "forward_messages(self: 'darkob.Client', from_chat: str, message_ids: Union[str, int, list], to_chat: str, hide_author: bool=False, is_mute: bool=False, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None)",
          "group": "messages",
          "module": "darkob.client.messages.forward_messages",
          "doc": "Forward specified messages from one chat to another.\n\nParameters:\n    from_chat (str): The GUID, link, or username of the source chat.\n    message_ids (Union[str, int, list]): The IDs of the messages to forward.\n    to_chat (str): The GUID, link, or username of the destination chat.\n    hide_author (bool): Hide the original sender's identity. Default is False.\n    is_mute (bool): Forward silently without notification. Default is False.\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the forwarded message.\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online.\n\nReturns:\n    The updated information after forwarding the messages."
        },
        {
          "name": "get_all_drafts",
          "signature": "get_all_drafts(self: 'darkob.Client')",
          "group": "chats",
          "module": "darkob.client.chats.get_all_drafts",
          "doc": "Get all saved message drafts.\n\nReturns:\n    The result of the API call containing all drafts."
        },
        {
          "name": "get_all_messages",
          "signature": "get_all_messages(self: 'darkob.Client', chat: str, show_message_ids: bool=False)",
          "group": "messages",
          "module": "darkob.client.messages.get_all_messages",
          "doc": "Retrieve all messages from a chat.\n\nParameters:\n    chat (str): Chat identifier or link (username, GUID, or invite link)\n    show_message_ids (bool, optional): Include message IDs in output. Default is False.\n\nReturns:\n    Result containing all messages with total count, first/last IDs, and chat GUID."
        },
        {
          "name": "get_available_reactions",
          "signature": "get_available_reactions(self: 'darkob.Client')",
          "group": "extras",
          "module": "darkob.client.extras.get_available_reactions",
          "doc": "Retrieve the list of available message reactions that can be used in chats.\n\nReturns:\n    Shows available reactions data from the server."
        },
        {
          "name": "get_avatars",
          "signature": "get_avatars(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.get_avatars",
          "doc": "Get avatars of a specific chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to retrieve avatars for.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_banned_members",
          "signature": "get_banned_members(self: 'darkob.Client', chat: str, show_member_guids: bool=False)",
          "group": "chats",
          "module": "darkob.client.chats.get_banned_members",
          "doc": "Get a list of banned members in a channel or group.\n\nParameters:\n    chat (str): The GUID, link, or username of the channel or group.\n    show_member_guids (bool, optional): Show member GUIDs in output. Default is False.\n\nReturns:\n    The result containing banned members with total count and optionally GUIDs."
        },
        {
          "name": "get_blocked_users",
          "signature": "get_blocked_users(self: 'darkob.Client', show_user_guids: bool=False)",
          "group": "users",
          "module": "darkob.client.users.get_blocked_users",
          "doc": "Get a list of all blocked users.\n\nParameters:\n    show_user_guids (bool, optional): Show user GUIDs in output. Default is False.\n\nReturns:\n    The result containing all blocked users with total count."
        },
        {
          "name": "get_bot_info",
          "signature": "get_bot_info(self: 'darkob.Client', bot: str)",
          "group": "bots",
          "module": "darkob.client.bots.get_bot_info",
          "doc": "Get information about a bot.\n\nParameters:\n    bot (str): The GUID or username of the bot.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_channel_admin_access",
          "signature": "get_channel_admin_access(self: 'darkob.Client', channel: str, admin: str)",
          "group": "channels",
          "module": "darkob.client.channels.get_channel_admin_access",
          "doc": "Get the admin access list for a specific member in a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n    admin (str): The GUID or username of the admin for whom admin access is being checked.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_channel_admins",
          "signature": "get_channel_admins(self: 'darkob.Client', channel: str, show_admin_guids: bool=False)",
          "group": "channels",
          "module": "darkob.client.channels.get_channel_admins",
          "doc": "Get the list of admins in a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n    show_admin_guids (bool, optional): Show member GUIDs in output. Default is False.\n\nReturns:\n    Result containing all admins with total count and optionally member_guids."
        },
        {
          "name": "get_channel_info",
          "signature": "get_channel_info(self: 'darkob.Client', channel: str)",
          "group": "channels",
          "module": "darkob.client.channels.get_channel_info",
          "doc": "Get information about a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_channel_link",
          "signature": "get_channel_link(self: 'darkob.Client', channel: str)",
          "group": "channels",
          "module": "darkob.client.channels.get_channel_link",
          "doc": "Get the join link of a channel.\n\nParameters:\n    channel (str): The GUID of the channel.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_channel_members",
          "signature": "get_channel_members(self: 'darkob.Client', channel: str, search_text: str=None, start_id: str=None)",
          "group": "channels",
          "module": "darkob.client.channels.get_channel_members",
          "doc": "Get members in a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n    search_text (str, optional): Text to search for in members. Defaults to None.\n    start_id (str, optional): The ID to start fetching from. Defaults to None.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_channel_post_by_link",
          "signature": "get_channel_post_by_link(self: 'darkob.Client', url: str)",
          "group": "channels",
          "module": "darkob.client.channels.get_channel_post_by_link",
          "doc": "Retrieves channel post by application URL.\n\nParameters:\n    url (str): The channel post URL.\n\nReturns:\n    Channel info and message data."
        },
        {
          "name": "get_channel_seen_count",
          "signature": "get_channel_seen_count(self: 'darkob.Client', channel: str, min_id: Union[str, int], max_id=Union[str, int])",
          "group": "channels",
          "module": "darkob.client.channels.get_channel_seen_count",
          "doc": "Get the view count of a channel within a specific message ID range.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n    min_id (Union[str, int]): Minimum message ID in the range (inclusive).\n    max_id (Union[str, int]): Maximum message ID in the range (inclusive).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_channel_statistics",
          "signature": "get_channel_statistics(self: 'darkob.Client', channel: str)",
          "group": "channels",
          "module": "darkob.client.channels.get_channel_statistics",
          "doc": "Get all statistics for a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n\nReturns:\n    The result of the API call containing channel statistics."
        },
        {
          "name": "get_chat_ads",
          "signature": "get_chat_ads(self: 'darkob.Client', state: int=round(time()) - 150)",
          "group": "chats",
          "module": "darkob.client.chats.get_chat_ads",
          "doc": "Retrieves advertising information for chats.\n\nParameters:\n    state (int, optional): The timestamp state to filter chat ads. \n        Defaults to the current time minus 150 seconds.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_chat_info",
          "signature": "get_chat_info(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.get_chat_info",
          "doc": "Get information about a user, group, or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (user, group, or channel).\n\nReturns:\n    The update containing information about the chat."
        },
        {
          "name": "get_chat_messages",
          "signature": "get_chat_messages(self: 'darkob.Client', chat: str, max_id: Union[str, int]=None, sort: Literal['FromMax', 'FromMin']='FromMin', filter_type: Optional[Literal['Voice', 'File', 'Music', 'Gif', 'Media', 'Link']]=None, limit: int=None)",
          "group": "messages",
          "module": "darkob.client.messages.get_chat_messages",
          "doc": "Get messages from a chat with filtering and pagination.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    max_id (Union[str, int], optional): Maximum message ID to start from.\n    sort (Literal['FromMax', 'FromMin']): Sort direction. Default is 'FromMin'.\n    filter_type (Literal, optional): Filter messages by type:\n        'Voice', 'File', 'Music', 'Gif', 'Media', 'Link'\n    limit (int, optional): Maximum number of messages to retrieve. If None, fetches all messages.\n\nReturns:\n    The result containing messages, count, and pagination info."
        },
        {
          "name": "get_chat_voice_chat",
          "signature": "get_chat_voice_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.get_chat_voice_chat",
          "doc": "Get the voice chat information for a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n\nReturns:\n    The voice chat information."
        },
        {
          "name": "get_chats",
          "signature": "get_chats(self: 'darkob.Client', show_chat_guids: bool=False, auto_start_id: bool=True, start_id: str=None)",
          "group": "chats",
          "module": "darkob.client.chats.get_chats",
          "doc": "Get a list of all chats.\n\nParameters:\n    show_chat_guids (bool, optional):\n        If True, include chat GUIDs in the result.\n        Default is False.\n    auto_start_id (bool, optional):\n        If True, automatically fetch all pages of chats.\n        If False, only fetch one page using start_id.\n        Default is True.\n    start_id (str, optional):\n        Starting chat ID for pagination.\n        Only used when auto_start_id is False.\n\nReturns:\n    Data: The result containing chats with total count and optionally GUIDs."
        },
        {
          "name": "get_chats_info",
          "signature": "get_chats_info(self: 'darkob.Client', chats: Union[str, List[str]])",
          "group": "chats",
          "module": "darkob.client.chats.get_chats_info",
          "doc": "Get information about multiple chats by their GUIDs.\n\nParameters:\n    chats (Union[str, List[str]]): A single chat (GUID, username, or link) or a list of them.\n\nReturns:\n    The result of the API call containing chats information."
        },
        {
          "name": "get_chats_updates",
          "signature": "get_chats_updates(self: 'darkob.Client', state: Optional[Union[str, int]]=None)",
          "group": "chats",
          "module": "darkob.client.chats.get_chats_updates",
          "doc": "Get updates for chats.\n\nParameters:\n    state (Optional[Union[str, int]]): State parameter for syncing updates. If not provided,\n        it uses the current time minus 150 seconds.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_common_groups",
          "signature": "get_common_groups(self: 'darkob.Client', user: str)",
          "group": "users",
          "module": "darkob.client.users.get_common_groups",
          "doc": "Get groups in common with a user.\n\nParameters:\n    user (str): User's GUID/username.\n\nReturns:\n    Common groups list."
        },
        {
          "name": "get_contacts",
          "signature": "get_contacts(self: 'darkob.Client', show_user_guids: bool=False)",
          "group": "users",
          "module": "darkob.client.users.get_contacts",
          "doc": "Get a list of all contacts.\n\nParameters:\n    show_user_guids (bool, optional): Show user GUIDs in output.\n        Default is False.\n\nReturns:\n    The result containing all contacts with total count."
        },
        {
          "name": "get_contacts_last_online",
          "signature": "get_contacts_last_online(self: 'darkob.Client', users: Union[str, List[str]])",
          "group": "users",
          "module": "darkob.client.users.get_contacts_last_online",
          "doc": "Get the last online status of multiple users.\n\nParameters:\n    users (Union[str, List[str]]): The GUID(s) or username(s) of the contacts.\n\nReturns:\n    Last online status for each user."
        },
        {
          "name": "get_contacts_stories",
          "signature": "get_contacts_stories(self: 'darkob.Client')",
          "group": "users",
          "module": "darkob.client.users.get_contacts_stories",
          "doc": "Get stories from contacts in the chat page.\n\nReturns:\n    The result of the API call containing contacts stories."
        },
        {
          "name": "get_contacts_updates",
          "signature": "get_contacts_updates(self: 'darkob.Client', state: Optional[Union[str, int]]=round(time()) - 150)",
          "group": "users",
          "module": "darkob.client.users.get_contacts_updates",
          "doc": "Get updates related to contacts.\n\nParameters:\n    state (Optional[Union[str, int]], optional):\n        The state parameter to filter updates. Defaults to `round(time()) - 150`.\n\nReturns:\n    The update related to contacts."
        },
        {
          "name": "get_first_message",
          "signature": "get_first_message(self: 'darkob.Client', chat: str)",
          "group": "messages",
          "module": "darkob.client.messages.get_first_message",
          "doc": "Get the first message of a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    The first message details."
        },
        {
          "name": "get_first_messages",
          "signature": "get_first_messages(self: 'darkob.Client', chat: str, limit: int=100)",
          "group": "messages",
          "module": "darkob.client.messages.get_first_messages",
          "doc": "Get the first messages of a chat up to a limit.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    limit (int): Maximum number of messages to retrieve (max 100, min 1).\n\nReturns:\n    List of first messages and count."
        },
        {
          "name": "get_folders",
          "signature": "get_folders(self: 'darkob.Client', last_state: Union[int, str]=round(time()) - 150)",
          "group": "settings",
          "module": "darkob.client.settings.get_folders",
          "doc": "Get a list of folders.\n\nParameters:\n    last_state (Union[int, str]): The last state to retrieve folders.\n\nReturns:\n    List of folders."
        },
        {
          "name": "get_group_admin_access",
          "signature": "get_group_admin_access(self: 'darkob.Client', group: str, admin: str)",
          "group": "groups",
          "module": "darkob.client.groups.get_group_admin_access",
          "doc": "Get the admin access for a member in a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n    admin (str): The GUID or username of the admin for whom admin access is being checked.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_group_admins",
          "signature": "get_group_admins(self: 'darkob.Client', group: str, show_admin_guids: bool=False)",
          "group": "groups",
          "module": "darkob.client.groups.get_group_admins",
          "doc": "Get the list of admins in a group.\n\nParameters:\n    group (str): The GUID, link, or username of the group.\n    show_admin_guids (bool, optional): Show admin GUIDs in output. Default is False.\n\nReturns:\n    Result containing all admins with total count."
        },
        {
          "name": "get_group_default_access",
          "signature": "get_group_default_access(self: 'darkob.Client', group: str)",
          "group": "groups",
          "module": "darkob.client.groups.get_group_default_access",
          "doc": "Get the default access settings for a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_group_info",
          "signature": "get_group_info(self: 'darkob.Client', group: str)",
          "group": "groups",
          "module": "darkob.client.groups.get_group_info",
          "doc": "Get information about a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_group_link",
          "signature": "get_group_link(self: 'darkob.Client', group: str)",
          "group": "groups",
          "module": "darkob.client.groups.get_group_link",
          "doc": "Get the link associated with a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_group_members",
          "signature": "get_group_members(self: 'darkob.Client', group: str, search_text: str=None, start_id: str=None)",
          "group": "groups",
          "module": "darkob.client.groups.get_group_members",
          "doc": "Get members of a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n    search_text (str, optional): Search text for filtering members. Defaults to None.\n    start_id (str, optional): The starting ID for pagination. Defaults to None.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_group_mention_list",
          "signature": "get_group_mention_list(self: 'darkob.Client', group: str, search_mention: str=None)",
          "group": "groups",
          "module": "darkob.client.groups.get_group_mention_list",
          "doc": "Get the mention list for a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n    search_mention (str, optional): Search text for mentions.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_group_message_read_participants",
          "signature": "get_group_message_read_participants(self: 'darkob.Client', group: str, message_id: Union[str, int])",
          "group": "groups",
          "module": "darkob.client.groups.get_group_message_read_participants",
          "doc": "Get list of participants who have read a specific message in a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n    message_id (Union[str, int]): The ID of the message.\n\nReturns:\n    The result of the API call containing read participants."
        },
        {
          "name": "get_group_online_count",
          "signature": "get_group_online_count(self: 'darkob.Client', group: str)",
          "group": "groups",
          "module": "darkob.client.groups.get_group_online_count",
          "doc": "Retrieves the number of online members in a specified group.\n\nParameters:\n    group (str): The GUID or link of the group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_guid",
          "signature": "get_guid(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.get_guid",
          "doc": "Retrieves the GUID of a user, group, channel, or bot.\n\nParameters:\n    chat (str): The username, group link, channel link, or bot username.\n\nReturns:\n    str: The GUID of the chat."
        },
        {
          "name": "get_info_by_link",
          "signature": "get_info_by_link(self: 'darkob.Client', link: str)",
          "group": "chats",
          "module": "darkob.client.chats.get_info_by_link",
          "doc": "Get group or channel preview by join link.\n\nParameters:\n    link (str): The join link.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_info_by_username",
          "signature": "get_info_by_username(self: 'darkob.Client', username: str)",
          "group": "chats",
          "module": "darkob.client.chats.get_info_by_username",
          "doc": "Get an chat (user, bot, or channel) by its username.\n\nParameters:\n    username (str): The username of the chat.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_inline_bots",
          "signature": "get_inline_bots(self: 'darkob.Client', bots: Union[str, List[str]])",
          "group": "bots",
          "module": "darkob.client.bots.get_inline_bots",
          "doc": "Retrieve information about inline bots by their GUIDs or usernames.\n\nParameters:\n    bots (Union[str, List[str]]): A single bot GUID/username or a list of bot GUIDs/usernames.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_join_links",
          "signature": "get_join_links(self: 'darkob.Client', chat: str, creator: str=None)",
          "group": "chats",
          "module": "darkob.client.chats.get_join_links",
          "doc": "Retrieves a list of join links for a specific group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the target group or channel.\n\nReturns:\n    The API response containing the join links."
        },
        {
          "name": "get_join_requests",
          "signature": "get_join_requests(self: 'darkob.Client', chat: str, show_user_guids: bool=False)",
          "group": "chats",
          "module": "darkob.client.chats.get_join_requests",
          "doc": "Get a list of join requests in a channel or group.\n\nParameters:\n    chat (str): The GUID, link, or username of the channel or group.\n    show_user_guids (bool, optional): Show user GUIDs in output. Default is False.\n\nReturns:\n    Data: The result containing all join requests with total count."
        },
        {
          "name": "get_last_message",
          "signature": "get_last_message(self: 'darkob.Client', chat: str)",
          "group": "messages",
          "module": "darkob.client.messages.get_last_message",
          "doc": "Get the last message from a chat and retrieve its details.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    The last message details."
        },
        {
          "name": "get_last_messages",
          "signature": "get_last_messages(self: 'darkob.Client', chat: str, limit: int=100)",
          "group": "messages",
          "module": "darkob.client.messages.get_last_messages",
          "doc": "Get the last messages of a chat up to a limit.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    limit (int): Maximum number of messages to retrieve (max 1000).\n\nReturns:\n    List of last messages and count."
        },
        {
          "name": "get_last_online",
          "signature": "get_last_online(self: 'darkob.Client', user: str)",
          "group": "users",
          "module": "darkob.client.users.get_last_online",
          "doc": "Get the last online status of a user.\n\nParameters:\n    user (str): The GUID, link, or username of the user.\n\nReturns:\n    Last online status with details."
        },
        {
          "name": "get_link_from_app_url",
          "signature": "get_link_from_app_url(self: 'darkob.Client', url: str)",
          "group": "extras",
          "module": "darkob.client.extras.get_link_from_app_url",
          "doc": "Get a direct link from an application URL.\n\nParameters:\n    url (str): The application URL to extract the link from.\n\nReturns:\n    Data: The result containing the extracted link."
        },
        {
          "name": "get_live_comments",
          "signature": "get_live_comments(self: 'darkob.Client', live_id: str, access_token: str)",
          "group": "extras",
          "module": "darkob.client.extras.get_live_comments",
          "doc": "Get live stream comments.\n\nParameters:\n    live_id (str): Live stream ID.\n    access_token (str): Access token from send_live response.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_live_play_url",
          "signature": "get_live_play_url(self: 'darkob.Client', access_token: str, live_id: str)",
          "group": "extras",
          "module": "darkob.client.extras.get_live_play_url",
          "doc": "Retrieves the play URL for a live stream.\n\nParameters:\n    access_token (str): The access token for authentication.\n    live_id (str): The ID of the live stream.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_live_status",
          "signature": "get_live_status(self: 'darkob.Client', live_id: str, access_token: str)",
          "group": "extras",
          "module": "darkob.client.extras.get_live_status",
          "doc": "Get live stream status.\n\nParameters:\n    live_id (str): Live stream ID.\n    access_token (str): Access token from send_live response.\n\nReturns:\n    Live status info."
        },
        {
          "name": "get_location_view",
          "signature": "get_location_view(self: 'darkob.Client', latitude: float, longitude: float)",
          "group": "extras",
          "module": "darkob.client.extras.get_location_view",
          "doc": "Get map view for a location.\n\nParameters:\n    latitude (float): Latitude (-90 to 90)\n    longitude (float): Longitude (-180 to 180)\n\nReturns:\n    Map view data."
        },
        {
          "name": "get_me",
          "signature": "get_me(self: 'darkob.Client', refresh: bool=False, ttl: float=300.0)",
          "group": "users",
          "module": "darkob.client.users.get_me",
          "doc": "Get information about the authenticated user.\n\nThe result is cached for ``ttl`` seconds (default 5 minutes),\nbecause profile reads are frequent and rarely change. Pass\n``refresh=True`` to force a new request.\n\nParameters:\n    refresh (bool): Ignore the cache. Defaults to False.\n    ttl (float): Cache lifetime in seconds. Defaults to 300.\n\nReturns:\n    Information about the authenticated user."
        },
        {
          "name": "get_message_info",
          "signature": "get_message_info(self: 'darkob.Client', chat: str, message_id: Union[str, int])",
          "group": "messages",
          "module": "darkob.client.messages.get_message_info",
          "doc": "Get detailed information about a message.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    message_id (Union[str, int]): The ID of the message to retrieve.\n\nReturns:\n    Message information."
        },
        {
          "name": "get_message_url",
          "signature": "get_message_url(self: 'darkob.Client', chat: str, message_id: Union[str, int])",
          "group": "messages",
          "module": "darkob.client.messages.get_message_url",
          "doc": "Get the shareable URL of a specific message.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to which the message belongs.\n    message_id (Union[str, int]): The ID of the message for which to retrieve the shareable URL.\n\nReturns:\n    The shareable URL of the specified message."
        },
        {
          "name": "get_messages",
          "signature": "get_messages(self: 'darkob.Client', chat: str, types: Optional[Union[str, List[str]]]=None)",
          "group": "messages",
          "module": "darkob.client.messages.get_messages",
          "doc": "Get messages from a chat with optional type filtering.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    types (Optional[Union[str, List[str]]]): Type(s) of messages to filter by.\n        Each item is independent.\n        Available types:\n            - \"text\": Text messages\n            - \"image\": Image messages\n            - \"video\": Video messages (non-round)\n            - \"video_message\": Round video messages\n            - \"voice\": Voice messages\n            - \"music\": Music messages\n            - \"file\": File messages\n            - \"gif\": GIF messages\n            - \"live\": Live messages\n            - \"location\": Location messages\n            - \"poll\": Poll messages\n            - \"contact\": Contact messages (only private chats)\n            - \"event\": Event messages\n            - \"edited\": Edited messages\n            - \"forwarded\": Forwarded messages\n            - \"sticker\": Sticker messages\n            - \"me\": Messages sent by the client itself\n            - \"bots\": Messages sent by bots\n            - \"users\": Messages sent by users\n        You can also pass a member GUID or username for member filtering.\n        If None, returns all messages.\n\nReturns:\n    - messages: list of filtered messages.\n    - count: number of filtered messages.\n    - chat_guid: The GUID of the chat.\n    - total_all: total messages before filtering.\n    - filter_types: list of applied type filters.\n    - member_guids: list of applied member GUID filters."
        },
        {
          "name": "get_messages_by_id",
          "signature": "get_messages_by_id(self: 'darkob.Client', chat: str, message_ids: Union[str, int, list])",
          "group": "messages",
          "module": "darkob.client.messages.get_messages_by_id",
          "doc": "Retrieve messages by their IDs.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to which the messages belong.\n    message_ids (Union[str, int, list]): The ID or list of IDs of the messages to retrieve.\n\nReturns:\n    The retrieved messages identified by their IDs."
        },
        {
          "name": "get_messages_interval",
          "signature": "get_messages_interval(self: 'darkob.Client', chat: str, middle_message_id: Union[int, str])",
          "group": "messages",
          "module": "darkob.client.messages.get_messages_interval",
          "doc": "Retrieve messages in an interval around a middle message ID.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to which the messages belong.\n    middle_message_id (Union[int, str]): The middle message ID around which the interval is determined.\n\nReturns:\n    The retrieved messages in the specified interval."
        },
        {
          "name": "get_messages_reactions",
          "signature": "get_messages_reactions(self: 'darkob.Client', chat: str, min_id: Union[str, int], max_id: Union[str, int])",
          "group": "messages",
          "module": "darkob.client.messages.get_messages_reactions",
          "doc": "Get reactions of messages in a chat within a specific ID range.\n\nParameters:\n    chat (str): Chat identifier (link, username, or GUID)\n    min_id (Union[str, int]): Minimum message ID (lower bound)\n    max_id (Union[str, int]): Maximum message ID (upper bound)\n\nReturns:\n    List of reactions for messages in the specified range."
        },
        {
          "name": "get_messages_updates",
          "signature": "get_messages_updates(self: 'darkob.Client', chat: str, state: int=round(time()) - 150)",
          "group": "messages",
          "module": "darkob.client.messages.get_messages_updates",
          "doc": "Get message updates for a specific chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat for which updates are requested.\n    state (int): The state at which updates are requested. Defaults to a timestamp approximately 150 seconds ago.\n\nReturns:\n    The message updates for the specified chat."
        },
        {
          "name": "get_my_archived_sticker_sets",
          "signature": "get_my_archived_sticker_sets(self: 'darkob.Client', start_id: str=None)",
          "group": "extras",
          "module": "darkob.client.extras.get_my_archived_sticker_sets",
          "doc": "Get archived sticker sets of the current user.\n\nParameters:\n    start_id (str, optional): The ID to start fetching from. Defaults to None.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_my_gif_set",
          "signature": "get_my_gif_set(self: 'darkob.Client')",
          "group": "extras",
          "module": "darkob.client.extras.get_my_gif_set",
          "doc": "Gets the user's personal GIF set.\n\nReturns:\n    Information about the user's GIF set."
        },
        {
          "name": "get_my_guid",
          "signature": "get_my_guid(self: 'darkob.Client')",
          "group": "chats",
          "module": "darkob.client.chats.get_my_guid",
          "doc": "Get the GUID of the currently authenticated user.\n\nReturns:\n    str: The user's GUID."
        },
        {
          "name": "get_my_sessions",
          "signature": "get_my_sessions(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.get_my_sessions",
          "doc": "Get information about the current user's sessions.\n\nReturns:\n    Information about the user's sessions."
        },
        {
          "name": "get_my_sticker_sets",
          "signature": "get_my_sticker_sets(self: 'darkob.Client')",
          "group": "extras",
          "module": "darkob.client.extras.get_my_sticker_sets",
          "doc": "Get the sticker sets owned by the user.\n\nReturns:\n    The sticker sets owned by the user."
        },
        {
          "name": "get_notification_setting",
          "signature": "get_notification_setting(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.get_notification_setting",
          "doc": "Retrieves the current notification settings for the account.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_pending_owner",
          "signature": "get_pending_owner(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.get_pending_owner",
          "doc": "Retrieves the pending owner information for a specified chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    An update chat containing details about the\n        pending owner of the specified chat."
        },
        {
          "name": "get_pinned_messages",
          "signature": "get_pinned_messages(self: 'darkob.Client', chat: str)",
          "group": "messages",
          "module": "darkob.client.messages.get_pinned_messages",
          "doc": "Get all pinned messages from a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    Data: Dictionary containing pinned messages and optionally message IDs."
        },
        {
          "name": "get_poll_option_voters",
          "signature": "get_poll_option_voters(self: 'darkob.Client', poll_id: str, selection_index: Union[str, int], start_id: Optional[str]=None)",
          "group": "messages",
          "module": "darkob.client.messages.get_poll_option_voters",
          "doc": "Get voters for a specific poll option.\n\nParameters:\n    poll_id (str): The ID of the poll for which voters are requested.\n    selection_index (Union[str, int]): The index of the poll option for which voters are requested.\n    start_id (Optional[str]): The ID from which to start fetching voters. Defaults to None.\n\nReturns:\n    The voters for the specified poll option."
        },
        {
          "name": "get_poll_status",
          "signature": "get_poll_status(self: 'darkob.Client', poll_id: str)",
          "group": "messages",
          "module": "darkob.client.messages.get_poll_status",
          "doc": "Get the status of a specific poll.\n\nParameters:\n    poll_id (str): The ID of the poll for which the status is requested.\n\nReturns:\n    The status of the specified poll."
        },
        {
          "name": "get_post_by_ask_link",
          "signature": "get_post_by_ask_link(self: 'darkob.Client', url: str)",
          "group": "channels",
          "module": "darkob.client.channels.get_post_by_ask_link",
          "doc": "Retrieves channel post by ask_join_link (go.rubika.ir link).\n\nParameters:\n    url (str): The go.rubika.ir link.\n\nReturns:\n    Channel info and message data."
        },
        {
          "name": "get_privacy_setting",
          "signature": "get_privacy_setting(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.get_privacy_setting",
          "doc": "Get the current user's privacy setting.\n\nReturns:\n    The current user's privacy setting."
        },
        {
          "name": "get_profile_link_items",
          "signature": "get_profile_link_items(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.get_profile_link_items",
          "doc": "Get profile link items for a given chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_related_chats",
          "signature": "get_related_chats(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.get_related_chats",
          "doc": "Get related chats for a given chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_saved_music_playlist",
          "signature": "get_saved_music_playlist(self: 'darkob.Client', user: str)",
          "group": "users",
          "module": "darkob.client.users.get_saved_music_playlist",
          "doc": "Get the saved music playlist of a user.\n\nParameters:\n    user (str): The GUID or username of the user.\n\nReturns:\n    The result of the API call containing saved music playlist."
        },
        {
          "name": "get_scheduled_messages",
          "signature": "get_scheduled_messages(self: 'darkob.Client', chat: str, start_id: str=None)",
          "group": "messages",
          "module": "darkob.client.messages.get_scheduled_messages",
          "doc": "Get scheduled messages in a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    start_id (str, optional): The ID to start fetching from. Defaults to None.\n\nReturns:\n    The result of the API call containing scheduled messages."
        },
        {
          "name": "get_service_info",
          "signature": "get_service_info(self: 'darkob.Client', service: str)",
          "group": "bots",
          "module": "darkob.client.bots.get_service_info",
          "doc": "Get information about a service.\n\nParameters:\n    service (str): The GUID of the service.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_sticker_set_by_id",
          "signature": "get_sticker_set_by_id(self: 'darkob.Client', sticker_set_id: str)",
          "group": "extras",
          "module": "darkob.client.extras.get_sticker_set_by_id",
          "doc": "Get a sticker set by its ID.\n\nParameters:\n    sticker_set_id (str): The ID of the sticker set.\n\nReturns:\n    The sticker set corresponding to the provided ID."
        },
        {
          "name": "get_sticker_setting",
          "signature": "get_sticker_setting(self: 'darkob.Client')",
          "group": "extras",
          "module": "darkob.client.extras.get_sticker_setting",
          "doc": "Get the sticker settings of the current user.\n\nReturns:\n    The result of the API call containing sticker settings."
        },
        {
          "name": "get_stickers_by_emoji",
          "signature": "get_stickers_by_emoji(self: 'darkob.Client', emoji: str, suggest_by: str='All')",
          "group": "extras",
          "module": "darkob.client.extras.get_stickers_by_emoji",
          "doc": "Get stickers by emoji.\n\nParameters:\n    emoji (str): The emoji character.\n    suggest_by (str): The type of suggestion (default is 'All').\n\nReturns:\n    Stickers corresponding to the provided emoji and suggestion type."
        },
        {
          "name": "get_stickers_by_set_ids",
          "signature": "get_stickers_by_set_ids(self: 'darkob.Client', sticker_set_ids: Union[str, list])",
          "group": "extras",
          "module": "darkob.client.extras.get_stickers_by_set_ids",
          "doc": "Get stickers by set IDs.\n\nParameters:\n    sticker_set_ids (Union[str, list]): The sticker set ID or a list of sticker set IDs.\n\nReturns:\n    Stickers corresponding to the provided set IDs."
        },
        {
          "name": "get_string_session",
          "signature": "get_string_session(self: 'darkob.Client', password: Optional[str]=None)",
          "group": "base",
          "module": "darkob.client.base.get_string_session",
          "doc": "Export current session as an encrypted StringSession.\n\nParameters:\n    password (Optional[str]): Optional password for encryption.\n        If provided, StringSession can only be opened with this password.\n\nReturns:\n    str: Encrypted StringSession that can be used later with\n         `Messenger(string_session=..., password=...)`."
        },
        {
          "name": "get_suggested_folders",
          "signature": "get_suggested_folders(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.get_suggested_folders",
          "doc": "Get the suggested folders for the user.\n\nReturns:\n    The suggested folders for the user."
        },
        {
          "name": "get_time",
          "signature": "get_time(self: 'darkob.Client')",
          "group": "extras",
          "module": "darkob.client.extras.get_time",
          "doc": "Retrieve the current server time.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_top_users",
          "signature": "get_top_users(self: 'darkob.Client')",
          "group": "users",
          "module": "darkob.client.users.get_top_users",
          "doc": "Get list of top users.\n\nReturns:\n    List of top users."
        },
        {
          "name": "get_trend_sticker_sets",
          "signature": "get_trend_sticker_sets(self: 'darkob.Client', start_id: str=None)",
          "group": "extras",
          "module": "darkob.client.extras.get_trend_sticker_sets",
          "doc": "Get trending sticker sets.\n\nParameters:\n    start_id (str): The start ID for pagination.\n\nReturns:\n    Trending sticker sets."
        },
        {
          "name": "get_two_passcode_status",
          "signature": "get_two_passcode_status(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.get_two_passcode_status",
          "doc": "Get the two-passcode status for the user.\n\nReturns:\n    The two-passcode status for the user."
        },
        {
          "name": "get_unconfirmed_sessions",
          "signature": "get_unconfirmed_sessions(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.get_unconfirmed_sessions",
          "doc": "Get a list of unconfirmed (pending) sessions for the current account.\n\nReturns:\n    The result of the API call containing unconfirmed sessions."
        },
        {
          "name": "get_unread_mentions",
          "signature": "get_unread_mentions(self: 'darkob.Client', group: str, max_id: Union[str, int], min_id: Union[str, int], sort: str=None)",
          "group": "groups",
          "module": "darkob.client.groups.get_unread_mentions",
          "doc": "Get unread mentions in a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n    max_id (Union[str, int]): Maximum message ID.\n    min_id (Union[str, int]): Minimum message ID.\n    sort (str, optional): Sort order. Defaults to None.\n\nReturns:\n    The result of the API call containing unread mentions."
        },
        {
          "name": "get_updates",
          "signature": "get_updates(self: 'darkob.Client')",
          "group": "base",
          "module": "darkob.client.base.get_updates",
          "doc": "Listen for updates from Rubika's WebSocket.\n\nReturns:\n    None"
        },
        {
          "name": "get_user_info",
          "signature": "get_user_info(self: 'darkob.Client', user: str=None)",
          "group": "users",
          "module": "darkob.client.users.get_user_info",
          "doc": "Get information about a specific user.\n\nParameters:\n    user (str): The GUID or username of the user.\n\nReturns:\n    Information about the specified user."
        },
        {
          "name": "get_voice_chat_participants",
          "signature": "get_voice_chat_participants(self: 'darkob.Client', chat: str, show_user_guids: bool=False)",
          "group": "chats",
          "module": "darkob.client.chats.get_voice_chat_participants",
          "doc": "Get list of participants in a voice chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n    show_user_guids (bool, optional): Show user GUIDs in output. Default is False.\n\nReturns:\n    The result containing all voice chat participants with total count."
        },
        {
          "name": "get_voice_chat_updates",
          "signature": "get_voice_chat_updates(self: 'darkob.Client', chat: str, state: int=None)",
          "group": "chats",
          "module": "darkob.client.chats.get_voice_chat_updates",
          "doc": "Get voice chat updates for a group.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n    state (int, optional): The state for updates. If not provided, it defaults to the current time minus 150 seconds.\n\nReturns:\n    Update group containing the voice chat updates."
        },
        {
          "name": "get_wallet_transaction_message",
          "signature": "get_wallet_transaction_message(self: 'darkob.Client', transfer_id: str, access_transfer: str)",
          "group": "extras",
          "module": "darkob.client.extras.get_wallet_transaction_message",
          "doc": "Get the message associated with a wallet transaction.\n\nParameters:\n    transfer_id (str): The ID of the wallet transaction.\n    access_transfer (str): The access hash for the transaction.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "get_wallpapers",
          "signature": "get_wallpapers(self: 'darkob.Client')",
          "group": "extras",
          "module": "darkob.client.extras.get_wallpapers",
          "doc": "Get the current chat wallpaper settings.\n\nReturns:\n    The result of the API call containing wallpaper information."
        },
        {
          "name": "heartbeat",
          "signature": "heartbeat(self: 'darkob.Client', chat_guid: str)",
          "group": "chats",
          "module": "darkob.client.chats.play_voice_chat",
          "doc": ""
        },
        {
          "name": "iter_messages",
          "signature": "iter_messages(self: 'darkob.Client', chat: str, *, sort: str='FromMin', filter_type: Optional[str]=None, page_size: int=25, max_items: Optional[int]=None)",
          "group": "messages",
          "module": "darkob.client.messages.iter_messages",
          "doc": "Yield messages from *chat*, one page at a time.\n\nParameters:\n    chat (str): Chat GUID, link or username.\n    sort (str): 'FromMin' (oldest first) or 'FromMax' (newest first).\n    filter_type (str, optional): 'Voice', 'File', 'Music', 'Gif',\n        'Media' or 'Link'.\n    page_size (int): Messages requested per round-trip.\n    max_items (int, optional): Stop after this many messages.\n\nYields:\n    Each message as a :class:`~darkob.data.Data` object."
        },
        {
          "name": "join_channel",
          "signature": "join_channel(self: 'darkob.Client', channel: str)",
          "group": "channels",
          "module": "darkob.client.channels.join_channel",
          "doc": "Join a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n\nReturns:\n    Result of the API call."
        },
        {
          "name": "join_chat",
          "signature": "join_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.join_chat",
          "doc": "Join a chat (channel or group).\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (channel or group).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "join_group",
          "signature": "join_group(self: 'darkob.Client', group: str)",
          "group": "groups",
          "module": "darkob.client.groups.join_group",
          "doc": "Join a group using the provided link.\n\nParameters:\n    group (str): The group link.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "join_voice_chat",
          "signature": "join_voice_chat(self: 'darkob.Client', chat: str, sdp_offer_data: str | None = None)",
          "group": "chats",
          "module": "darkob.client.chats.join_voice_chat",
          "doc": "Join to the group | channel voice chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n    sdp_offer_data (str, optional): SDP offer data. If not provided, uses default.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "leave_channel",
          "signature": "leave_channel(self: 'darkob.Client', channel: str)",
          "group": "channels",
          "module": "darkob.client.channels.leave_channel",
          "doc": "Leave a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "leave_chat",
          "signature": "leave_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.leave_chat",
          "doc": "Leave a chat (channel or group).\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (channel or group).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "leave_group",
          "signature": "leave_group(self: 'darkob.Client', group: str)",
          "group": "groups",
          "module": "darkob.client.groups.leave_group",
          "doc": "Leave a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "leave_voice_chat",
          "signature": "leave_voice_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.leave_voice_chat",
          "doc": "Leave a voice chat in a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "lock_group",
          "signature": "lock_group(self: 'darkob.Client', group: str)",
          "group": "groups",
          "module": "darkob.client.groups.lock_group",
          "doc": "Lock a group by disabling SendMessage access.\n\nParameters:\n    group (str): The GUID or link of the group.\n\nReturns:\n    Result message."
        },
        {
          "name": "login_disable_two_step",
          "signature": "login_disable_two_step(self: 'darkob.Client', phone_number: str, email_code: str, forget_password_code_hash: str)",
          "group": "settings",
          "module": "darkob.client.settings.login_disable_two_step",
          "doc": "Disable two-step verification during login.\n\nParameters:\n    phone_number (str): The phone number associated with the account.\n    email_code (str): The verification code sent to email.\n    forget_password_code_hash (str): The code hash for\n        forgotten password flow.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "login_two_step_forget_password",
          "signature": "login_two_step_forget_password(self: 'darkob.Client', phone_number: str)",
          "group": "settings",
          "module": "darkob.client.settings.login_two_step_forget_password",
          "doc": "Start the password recovery process for two-step verification.\n\nUse this when the user has forgotten their two-step verification password.\nThis will initiate the recovery flow (e.g. sending a code to email/phone).\n\nParameters:\n    phone_number (str): The phone number associated with the account.\n\nReturns:\n    The result of the API call, typically containing a hash or\n    instructions for the next step of recovery."
        },
        {
          "name": "logout",
          "signature": "logout(self: 'darkob.Client', confirm: bool=True)",
          "group": "settings",
          "module": "darkob.client.settings.logout",
          "doc": "Log out of the current session.\n\nParameters:\n    confirm (bool): If True, ask the user for confirmation before\n        logging out. If False, log out immediately.\n        Default is True.\n\nReturns:\n    The result of the logout operation if confirmed.\n    Exits if cancelled."
        },
        {
          "name": "mark_as_read",
          "signature": "mark_as_read(self: 'darkob.Client', chat: str)",
          "group": "messages",
          "module": "darkob.client.messages.mark_as_read",
          "doc": "Mark a chat as read by seeing the last message.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "mark_as_seen",
          "signature": "mark_as_seen(self: 'darkob.Client', chat: str, message_id: Union[str, int]=None)",
          "group": "messages",
          "module": "darkob.client.messages.mark_as_seen",
          "doc": "Mark a specific message as seen.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    message_id (Union[str, int], optional): Specific message ID. Defaults to last message.\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "member_is_admin",
          "signature": "member_is_admin(self: 'darkob.Client', chat: str, member: str)",
          "group": "chats",
          "module": "darkob.client.chats.member_is_admin",
          "doc": "Checks if a member is an admin in a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group or channel.\n    member (str): The GUID or username of the member.\n\nReturns:\n    bool: True if the user is an admin, False otherwise."
        },
        {
          "name": "mute_chat",
          "signature": "mute_chat(self: 'darkob.Client', chat: str, duration: Union[int, timedelta]=None)",
          "group": "chats",
          "module": "darkob.client.chats.mute_chat",
          "doc": "Mute a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to mute.\n    duration (Union[int, timedelta], optional): Duration of mute.\n        - int: seconds, must be at least 1800 (30 minutes).\n        - timedelta: e.g., timedelta(hours=1), timedelta(minutes=30).\n        Defaults to None (permanent mute).\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "on_add_reaction",
          "signature": "on_add_reaction(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_add_reaction",
          "doc": "Decorator for reaction added."
        },
        {
          "name": "on_call_signal",
          "signature": "on_call_signal(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_call_signal",
          "doc": "Decorator for call signal data."
        },
        {
          "name": "on_call_update",
          "signature": "on_call_update(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_call_update",
          "doc": "Decorator for call updates."
        },
        {
          "name": "on_chat_updates",
          "signature": "on_chat_updates(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_chat_updates",
          "doc": "Decorator for chat updates with optional filters."
        },
        {
          "name": "on_delete_message",
          "signature": "on_delete_message(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_delete_message",
          "doc": "Decorator for deleted messages."
        },
        {
          "name": "on_draft_message",
          "signature": "on_draft_message(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_draft_message",
          "doc": "Decorator for draft message updates."
        },
        {
          "name": "on_edit_message",
          "signature": "on_edit_message(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_edit_message",
          "doc": "Decorator for edited messages with optional filters."
        },
        {
          "name": "on_message",
          "signature": "on_message(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_message",
          "doc": "Decorator for message updates with optional filters."
        },
        {
          "name": "on_new_message",
          "signature": "on_new_message(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_new_message",
          "doc": "Decorator for new messages with optional filters."
        },
        {
          "name": "on_remove_notifications",
          "signature": "on_remove_notifications(self: 'darkob.Client', *args, **kwargs)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_remove_notifications",
          "doc": ""
        },
        {
          "name": "on_remove_reaction",
          "signature": "on_remove_reaction(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_remove_reaction",
          "doc": "Decorator for reaction removed."
        },
        {
          "name": "on_scheduled_message",
          "signature": "on_scheduled_message(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_scheduled_message",
          "doc": "Decorator for scheduled message updates."
        },
        {
          "name": "on_show_activities",
          "signature": "on_show_activities(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_show_activities",
          "doc": "Decorator for show activities (typing, uploading, recording) with optional filters."
        },
        {
          "name": "on_show_notifications",
          "signature": "on_show_notifications(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_show_notifications",
          "doc": "Decorator for show notifications with optional filters."
        },
        {
          "name": "on_unconfirmed_session",
          "signature": "on_unconfirmed_session(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_unconfirmed_session",
          "doc": "Decorator for unconfirmed session updates (anti-login)."
        },
        {
          "name": "on_voice_chat_participant",
          "signature": "on_voice_chat_participant(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_voice_chat_participant",
          "doc": "Decorator for voice chat participant updates."
        },
        {
          "name": "on_voice_chat_update",
          "signature": "on_voice_chat_update(self: 'darkob.Client', *filters: Filter)",
          "group": "decorators",
          "module": "darkob.client.decorators.on_voice_chat_update",
          "doc": "Decorator for voice chat updates."
        },
        {
          "name": "pin_chat",
          "signature": "pin_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.pin_chat",
          "doc": "Pin a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to pin.\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "pin_chat_in_folder",
          "signature": "pin_chat_in_folder(self: 'darkob.Client', chat: str, folder_id: str)",
          "group": "chats",
          "module": "darkob.client.chats.pin_chat_in_folder",
          "doc": "Pin a chat in a folder.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to pin.\n    folder_id (str): The folder ID to pin the chat in.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "pin_message",
          "signature": "pin_message(self: 'darkob.Client', chat: str, message_id: Union[str, int])",
          "group": "messages",
          "module": "darkob.client.messages.pin_message",
          "doc": "pin a message.\n\nParameters:\n    chat (str): The GUID, link, or username of the recipient.\n    message_id (Union[str, int]): The ID of the message to pin.\n\nReturns:\n    The update indicating the success of the operation."
        },
        {
          "name": "play_voice_chat",
          "signature": "play_voice_chat(self: 'darkob.Client', chat: str, media: pathlib.Path)",
          "group": "chats",
          "module": "darkob.client.chats.play_voice_chat",
          "doc": "Plays voice media in a chat.\n\nParameters:\n    chat: The GUID, link, or username of the chat to play the voice media in.\n    media: The path to the voice media file."
        },
        {
          "name": "register_device",
          "signature": "register_device(self: 'darkob.Client', device_model: str=None, *args, **kwargs)",
          "group": "settings",
          "module": "darkob.client.settings.register_device",
          "doc": "Register the current device with the Rubika server.\n\nParameters:\n    device_model (str, optional):\n        Custom device model name.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "reject_join_request",
          "signature": "reject_join_request(self: 'darkob.Client', chat: str, user: str)",
          "group": "chats",
          "module": "darkob.client.chats.reject_join_request",
          "doc": "Reject a join request for a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n    user (str): The user GUID or username of the requester.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "reject_ownership_request",
          "signature": "reject_ownership_request(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.reject_ownership_request",
          "doc": "Reject an ownership transfer request.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (channel/group).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "remove_from_top_users",
          "signature": "remove_from_top_users(self: 'darkob.Client', user: str)",
          "group": "users",
          "module": "darkob.client.users.remove_from_top_users",
          "doc": "Remove user from top users list.\n\nParameters:\n    user (str): The user GUID or username to remove.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "remove_handler",
          "signature": "remove_handler(self: 'darkob.Client', func)",
          "group": "core",
          "module": "darkob.client.core.handler_manager",
          "doc": ""
        },
        {
          "name": "remove_reaction",
          "signature": "remove_reaction(self: 'darkob.Client', chat: str, message_id: Union[str, int], reaction_id: Union[int, str])",
          "group": "messages",
          "module": "darkob.client.messages.remove_reaction",
          "doc": "Remove a reaction from a specific message.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat associated with the message.\n    message_id (str): The ID of the message from which the reaction will be removed.\n    reaction_id (int): The ID of the reaction to be removed.\n\nReturns:\n    The update indicating the success of removing the reaction."
        },
        {
          "name": "reorder_folder",
          "signature": "reorder_folder(self: 'darkob.Client', folder_ids: Union[str, List[str]])",
          "group": "settings",
          "module": "darkob.client.settings.reorder_folder",
          "doc": "Reorder folders.\n\nParameters:\n    folder_ids (Union[str, List[str]]): A single folder ID or a list of folder IDs in the new order.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "reorder_sticker_sets",
          "signature": "reorder_sticker_sets(self: 'darkob.Client', ordered_sticker_set_ids: Union[str, List[str]])",
          "group": "extras",
          "module": "darkob.client.extras.reorder_sticker_sets",
          "doc": "Reorder sticker sets in the user's collection.\n\nParameters:\n    ordered_sticker_set_ids (Union[str, List[str]]): A single sticker\n        set ID or a list of sticker set IDs in the desired order.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "report_chat",
          "signature": "report_chat(self: 'darkob.Client', chat: str, report_type: Union[int, str], description: Optional[str]=None)",
          "group": "chats",
          "module": "darkob.client.chats.report_chat",
          "doc": "Report a chat (user, channel, group, etc.) for a specific reason.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to be reported.\n    report_type (Union[int, str]): The report reason.\n        Can be:\n            - Integer code between 100 and 106\n            - String name (case-insensitive): 'Other', 'Violence',\n              'Spam', 'Porn', 'ChildAbuse', 'Copyright', 'Fraud'\n        If set to 100 (Other), `description` becomes required.\n    description (Optional[str]): Description for the report.\n        Required when `report_type` is 100 (Other).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "report_chat_ads",
          "signature": "report_chat_ads(self: 'darkob.Client', chat_ads_id: str)",
          "group": "chats",
          "module": "darkob.client.chats.report_chat_ads",
          "doc": "Register a report action on a chat ad.\n\nThe `chat_ads_id` is obtained from the `get_chat_ads` method.\n\nParameters:\n    chat_ads_id (str): The chat ads ID to report.\n\nReturns:\n    The result of the operation."
        },
        {
          "name": "report_live",
          "signature": "report_live(self: 'darkob.Client', live_id: str, report_type: Union[int, str], description: Optional[str]=None)",
          "group": "extras",
          "module": "darkob.client.extras.report_live",
          "doc": "Report a live stream.\n\nParameters:\n    live_id (str): The ID of the live stream to report.\n    report_type (Union[int, str]): The report reason.\n        Can be:\n            - Integer code between 100 and 106\n            - String name (case-insensitive): 'Other', 'Violence',\n              'Spam', 'Porn', 'ChildAbuse', 'Copyright', 'Fraud'\n        If set to 100 (Other), `description` becomes required.\n    description (Optional[str]): Description for the report.\n        Required when `report_type` is 100 (Other).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "report_message",
          "signature": "report_message(self: 'darkob.Client', chat: str, message_id: Union[str, int], report_type: Union[int, str], description: Optional[str]=None)",
          "group": "messages",
          "module": "darkob.client.messages.report_message",
          "doc": "Report a message for a specific reason.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    message_id (Union[str, int]): The ID of the message to be reported.\n    report_type (Union[int, str]): The report reason.\n        Can be:\n            - Integer code between 100 and 106\n            - String name (case-insensitive): 'Other', 'Violence',\n              'Spam', 'Porn', 'ChildAbuse', 'Copyright', 'Fraud'\n        If set to 100 (Other), `description` becomes required.\n    description (Optional[str]): Description for the report.\n        Required when `report_type` is 100 (Other).\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "request",
          "signature": "request(self: 'darkob.Client', method: str, input: Optional[Dict]=None, tmp_session: bool=False, encrypt: bool=True)",
          "group": "base",
          "module": "darkob.client.base.request",
          "doc": "Build and send a request to the Rubika API.\n\nParameters:\n    method (str): API method name (e.g., 'sendMessage', 'getUserInfo').\n    input (dict, optional): Input data for the method.\n    tmp_session (bool): Use temporary session instead of auth (default: False).\n        When True, the client will auto-connect if not connected yet.\n    encrypt (bool): Encrypt the request data (default: True).\n\nReturns:\n    Data or None: The API response.\n\nRaises:\n    NoConnection: If the client has not been started and `tmp_session=False`."
        },
        {
          "name": "request_change_phone_number",
          "signature": "request_change_phone_number(self: 'darkob.Client', new_phone_number: str)",
          "group": "settings",
          "module": "darkob.client.settings.request_change_phone_number",
          "doc": "Request to change the account phone number.\n\nParameters:\n    new_phone_number (str): The new phone number (e.g., 09123456789, +989123456789, +1234567890).\n\nReturns:\n    The result of the API call containing phone_code_hash for verification."
        },
        {
          "name": "request_forget_password",
          "signature": "request_forget_password(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.request_forget_password",
          "doc": "Request to reset the account password.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "request_recovery_email",
          "signature": "request_recovery_email(self: 'darkob.Client', password: str, recovery_email: str)",
          "group": "settings",
          "module": "darkob.client.settings.request_recovery_email",
          "doc": "Request a recovery code to be sent to the recovery email.\n\nParameters:\n    password (str): User's current password.\n    recovery_email (str): Recovery email address.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "request_send_file",
          "signature": "request_send_file(self: 'darkob.Client', file_name: str, size: Union[str, int, float], mime: str=None)",
          "group": "messages",
          "module": "darkob.client.messages.request_send_file",
          "doc": "Request sending a file.\n\nParameters:\n    file_name (str): The name of the file to be sent.\n    size (Union[str, int, float]): The size of the file to be sent.\n    mime (str, optional): The MIME type of the file. If None, it will be derived from the file name.\n\nReturns:\n    The update indicating the success of the file sending request."
        },
        {
          "name": "request_video_call",
          "signature": "request_video_call(self: 'darkob.Client', user: str, library_versions: Optional[List[str]]=None, max_layer: int=92, min_layer: int=65, sip_version: int=1, support_call_out: bool=True)",
          "group": "users",
          "module": "darkob.client.users.request_video_call",
          "doc": "Request a video call with a user.\n\nParameters:\n    user (str): The GUID or username of the user to call.\n    library_versions (List[str], optional): List of supported library versions. Default: ['2.7.7', '2.4.4']\n    max_layer (int): Maximum protocol layer. Default: 92\n    min_layer (int): Minimum protocol layer. Default: 65\n    sip_version (int): SIP version. Default: 1\n    support_call_out (bool): Support outgoing calls. Default: True\n\nReturns:\n    Call request result containing session info."
        },
        {
          "name": "request_voice_call",
          "signature": "request_voice_call(self: 'darkob.Client', user: str, library_versions: Optional[List[str]]=None, max_layer: int=92, min_layer: int=65, sip_version: int=1, support_call_out: bool=True)",
          "group": "users",
          "module": "darkob.client.users.request_voice_call",
          "doc": "Request a voice call with a user.\n\nParameters:\n    user (str): The GUID or username of the user to call.\n    library_versions (List[str], optional): List of supported library versions. Default: ['2.7.7', '2.4.4']\n    max_layer (int): Maximum protocol layer. Default: 92\n    min_layer (int): Minimum protocol layer. Default: 65\n    sip_version (int): SIP version. Default: 1\n    support_call_out (bool): Support outgoing calls. Default: True\n\nReturns:\n    Call request result containing session info."
        },
        {
          "name": "reset_contacts",
          "signature": "reset_contacts(self: 'darkob.Client')",
          "group": "users",
          "module": "darkob.client.users.reset_contacts",
          "doc": "Reset all saved contacts for the authenticated user.\n\nThis method clears the entire contact list on the server side.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "reset_wallpapers",
          "signature": "reset_wallpapers(self: 'darkob.Client')",
          "group": "extras",
          "module": "darkob.client.extras.reset_wallpapers",
          "doc": "Reset all chat wallpapers to default.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "retract_poll",
          "signature": "retract_poll(self: 'darkob.Client', poll_id: str)",
          "group": "messages",
          "module": "darkob.client.messages.retract_poll",
          "doc": "Retract a poll.\n\nParameters:\n    poll_id (str): The ID of the poll to retract.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "revoke_join_link",
          "signature": "revoke_join_link(self: 'darkob.Client', chat: str, join_link: str)",
          "group": "chats",
          "module": "darkob.client.chats.revoke_join_link",
          "doc": "Revoke a invite link for a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n    join_link (str): The join link to revoke.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "run",
          "signature": "run(self, coroutine: Optional[Coroutine]=None)",
          "group": "base",
          "module": "darkob.client.base.run",
          "doc": "Start the client and listen for updates.\n\nParameters:\n    coroutine: Optional coroutine to run before listening for updates.\n\nReturns:\n    None when used normally (runs forever until stopped)."
        },
        {
          "name": "search_chat_messages",
          "signature": "search_chat_messages(self: 'darkob.Client', chat: str, search_text: str)",
          "group": "messages",
          "module": "darkob.client.messages.search_chat_messages",
          "doc": "Searches for chat messages based on the specified criteria.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    search_text (str): The text to search for in messages. \n\nReturns:\n    The search results containing messages."
        },
        {
          "name": "search_global_chats",
          "signature": "search_global_chats(self: 'darkob.Client', text: str, filter_type: Optional[Union[str, List[str]]]=None, start_id: Optional[str]=None)",
          "group": "chats",
          "module": "darkob.client.chats.search_global_chats",
          "doc": "Search for global chats (users, channels, etc.) based on the given search text.\n\nParameters:\n    text (str): The text to search for.\n    filter_type (str or list, optional): Filter results by type. \n        'User', 'Channel', 'Bot' or a list of them.\n    start_id (str, optional): The ID to start fetching from. Defaults to None.\n\nReturns:\n    The update containing search results."
        },
        {
          "name": "search_global_messages",
          "signature": "search_global_messages(self: 'darkob.Client', search_text: str, start_id: Optional[str]=None)",
          "group": "messages",
          "module": "darkob.client.messages.search_global_messages",
          "doc": "Search for messages globally across all chats.\n\nParameters:\n    search_text (str): The text or hashtag to search for.\n    start_id (str, optional): The ID to start fetching from. Defaults to None.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "search_messages",
          "signature": "search_messages(self: 'darkob.Client', chat: str, text: str)",
          "group": "messages",
          "module": "darkob.client.messages.search_messages",
          "doc": "Search for messages containing specific text in a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    text (str): The text to search for.\n\nReturns:\n    The search results."
        },
        {
          "name": "search_stickers",
          "signature": "search_stickers(self: 'darkob.Client', search_text: str='', start_id: str=None)",
          "group": "extras",
          "module": "darkob.client.extras.search_stickers",
          "doc": "Search for stickers.\n\nParameters:\n    search_text (str): The search text.\n    start_id (str): The start ID for pagination.\n\nReturns:\n    Stickers matching the search criteria."
        },
        {
          "name": "seen_channel_messages",
          "signature": "seen_channel_messages(self: 'darkob.Client', channel: str, min_id: Union[int, str], max_id: Union[int, str])",
          "group": "channels",
          "module": "darkob.client.channels.seen_channel_messages",
          "doc": "Mark channel messages as seen within a specific range.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n    min_id (Union[int, str]): The minimum message ID to mark as seen.\n    max_id (Union[int, str]): The maximum message ID to mark as seen.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "seen_chats",
          "signature": "seen_chats(self: 'darkob.Client', seen_list: dict)",
          "group": "chats",
          "module": "darkob.client.chats.seen_chats",
          "doc": "Marks multiple chats as seen.\n\nParameters:\n    seen_list (dict): A dictionary containing chat GUIDs and their last seen message IDs.\n\nReturns:\n    The result of the operation."
        },
        {
          "name": "send_chat_activity",
          "signature": "send_chat_activity(self: 'darkob.Client', chat: str, activity: Literal['Typing', 'Recording', 'Uploading']='Typing')",
          "group": "chats",
          "module": "darkob.client.chats.send_chat_activity",
          "doc": "Sends a chat activity, such as typing, uploading, or recording.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/user.\n    activity (str, optional): The type of activity. Defaults to 'Typing'.\n\nReturns:\n    The result of the operation.\n\nRaises:\n    InvalidInput: If the `activity` argument is not one of `\"Typing\", \"Uploading\", or \"Recording\"`."
        },
        {
          "name": "send_code",
          "signature": "send_code(self: 'darkob.Client', phone_number: str, pass_key: Optional[str]=None)",
          "group": "base",
          "module": "darkob.client.base.send_code",
          "doc": "Send a verification code to a phone number.\n\nParameters:\n    phone_number (str): The target phone number.\n    pass_key (str): The optional account pass key.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "send_contact",
          "signature": "send_contact(self: 'darkob.Client', chat: str, phone_number: Union[str, int], user: str, first_name: str, last_name: str='', vcard: Optional[str]=None, reply_to_message_id: Optional[Union[str, int]]=None)",
          "group": "messages",
          "module": "darkob.client.messages.send_contact",
          "doc": "Send a contact message to a specified chat.\n\nParameters:\n    chat (str): The GUID or username of the user or bot.\n    phone_number (Union[str, int]): Contact's phone number.\n    user (str): Contact's username or user GUID.\n    first_name (str): Contact's first name.\n    last_name (str, optional): Contact's last name. Defaults to \"\".\n    vcard (str, optional): Custom vCard string. Defaults to None.\n    reply_to_message_id (Union[str, int], optional): ID of the message\n        to reply to. Defaults to None.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "send_file",
          "signature": "send_file(self: 'darkob.Client', chat: str, file: Union[Path, bytes]=None, text: Optional[str]=None, reply_to_message_id: Optional[Union[str, int]]=None, via_bot: Optional[str]=None, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None, base64: str=None, **kwargs)",
          "group": "messages",
          "module": "darkob.client.messages.send_file",
          "doc": "Send a file.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    file (Union[Path, bytes], optional): The file data (path or bytes).\n    text (Optional[str]): The caption for the file. Defaults to None.\n    reply_to_message_id (Optional[Union[str, int]]): The ID of the message to which this is a reply. Defaults to None.\n    via_bot (Optional[str]): Bot GUID or username to send the message via. Defaults to None.\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the message.\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online (users only).\n    base64 (str, optional): Base64 encoded file data.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "send_gif",
          "signature": "send_gif(self: 'darkob.Client', chat: str, gif: Union[Path, bytes]=None, text: Optional[str]=None, reply_to_message_id: Optional[Union[str, int]]=None, via_bot: Optional[str]=None, thumb: Optional[Union[bool, str]]=None, width: Optional[int]=None, height: Optional[int]=None, time: Optional[int]=None, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None, base64: str=None, **kwargs)",
          "group": "messages",
          "module": "darkob.client.messages.send_gif",
          "doc": "Send a GIF to a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    gif (Path, bytes, optional): The GIF data. Can be a file path or bytes.\n    text (Optional[str]): Caption for the GIF. Defaults to None.\n    reply_to_message_id (Optional[Union[str, int]]): ID of the message to reply to. Defaults to None.\n    via_bot (Optional[str]): Bot GUID or username to send the message via. Defaults to None.\n    thumb (Optional[Union[bool, str]]): Thumbnail behavior:\n        - None or True: Auto-generate thumbnail using available libraries (default)\n        - False: Use default thumbnail\n        - str: Custom thumbnail as Base64 string (pure Base64, no data:image header)\n    width (Optional[int]): Custom width for the GIF. Defaults to None (auto-detect).\n    height (Optional[int]): Custom height for the GIF. Defaults to None (auto-detect).\n    time (Optional[int]): Custom duration for the GIF in seconds. Defaults to None (auto-detect).\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the message.\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online (users only).\n    base64 (str, optional): Base64 encoded GIF data.\n\nReturns:\n    The API response containing the sent message details."
        },
        {
          "name": "send_image",
          "signature": "send_image(self: 'darkob.Client', chat: str, image: Union[Path, bytes]=None, text: Optional[str]=None, reply_to_message_id: Optional[Union[str, int]]=None, is_spoil: bool=False, via_bot: Optional[str]=None, thumb: Optional[Union[bool, str]]=None, width: Optional[int]=None, height: Optional[int]=None, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None, base64: str=None, **kwargs)",
          "group": "messages",
          "module": "darkob.client.messages.send_image",
          "doc": "Send an image to a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    image (Path, bytes, optional): The image data. Can be a file path or bytes.\n    text (Optional[str]): Caption for the image. Defaults to None.\n    reply_to_message_id (Optional[Union[str, int]]): ID of the message to reply to. Defaults to None.\n    is_spoil (bool): Whether the image should be marked as a spoiler. Defaults to False.\n    via_bot (Optional[str]): Bot GUID or username to send the message via. Defaults to None.\n    thumb (Optional[Union[bool, str]]): Thumbnail behavior:\n        - None or True: Auto-generate thumbnail using available libraries (or default).\n        - str: Custom thumbnail as Base64 string.\n    width (Optional[int]): Custom width for the image. Defaults to None (auto-detect).\n    height (Optional[int]): Custom height for the image. Defaults to None (auto-detect).\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the message.\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online (users only).\n    base64 (str, optional): Base64 encoded image data.\n\nReturns:\n    The API response containing the sent message details."
        },
        {
          "name": "send_live",
          "signature": "send_live(self: 'darkob.Client', chat: str, title: str=None, reply_to_message_id: Union[str, int]=None, thumb: Optional[Union[str, Path, bytes]]=None)",
          "group": "messages",
          "module": "darkob.client.messages.send_live",
          "doc": "Send a live stream.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    title (str): Live stream title.\n    reply_to_message_id (Optional[Union[str, int]]): The ID of the message to which this is a reply. Defaults to None.\n    thumb (Optional[Union[str, Path, bytes]]): Thumbnail for the live stream.\n        - str: Base64 encoded string, file path, or URL.\n        - Path: Path to thumbnail file.\n        - bytes: Raw thumbnail bytes.\n        If not provided, a default thumbnail will be used.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "send_location",
          "signature": "send_location(self: 'darkob.Client', chat: str, latitude: float, longitude: float, reply_to_message_id: Union[str, int]=None)",
          "group": "messages",
          "module": "darkob.client.messages.send_location",
          "doc": "Send a map location.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    latitude (float): Latitude (-90 to 90).\n    longitude (float): Longitude (-180 to 180).\n    reply_to_message_id (Optional[Union[str, int]]): The ID of the message to which this is a reply. Defaults to None.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "send_message",
          "signature": "send_message(self: 'darkob.Client', chat: str, text: Optional[str]=None, reply_to_message_id: Optional[Union[str, int]]=None, via_bot: Optional[str]=None, file_inline: Optional[Union[Data, Path, bytes]]=None, base64_data: Optional[str]=None, sticker: Optional[Union[Data, dict]]=None, type: str='File', is_spoil: bool=False, thumb: Optional[Union[bool, str, Path, bytes]]=None, audio_info: bool=True, metadata: Optional[dict]=None, performer: Optional[str]=None, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None, **kwargs)",
          "group": "messages",
          "module": "darkob.client.messages.send_message",
          "doc": "Send a message to a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    text (Optional[str]): The text content of the message.\n    reply_to_message_id (Optional[Union[str, int]]): The ID of the message to reply to.\n    via_bot (Optional[str]): Bot GUID or username to send the message via.\n    metadata (Optional[dict]): Additional metadata for text formatting.\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the message. Accepts:\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now (e.g., timedelta(hours=1))\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online.\n\nReturns:\n    MessageResult: The API response containing the sent message details,\n    with action methods like edit, delete, reply, forward, pin."
        },
        {
          "name": "send_message_api_call",
          "signature": "send_message_api_call(self: 'darkob.Client', chat: str, message_id: Union[str, int], button_id: str)",
          "group": "messages",
          "module": "darkob.client.messages.send_message_api_call",
          "doc": "Send API call response to a chat's inline keyboard button.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    message_id (Union[str, int]): ID of the message containing inline keyboard.\n    button_id (str): ID of the button.\n\nReturns:\n    The result of the API call.\n\nExample:\n    >>> await client.send_message_api_call(  # doctest: +SKIP\n    ...     chat=\"b0C2y04506bd2306f068aa161e0502db\",\n    ...     message_id=\"1499338519906784\",\n    ...     button_id=\"b0SPm00c8ab83b689ac2eeffe16ec7db\"\n    ... )"
        },
        {
          "name": "send_music",
          "signature": "send_music(self: 'darkob.Client', chat: str, music: Union[Path, bytes]=None, text: Optional[str]=None, reply_to_message_id: Optional[Union[str, int]]=None, via_bot: Optional[str]=None, performer: Optional[str]=None, time: Optional[int]=None, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None, base64: str=None, **kwargs)",
          "group": "messages",
          "module": "darkob.client.messages.send_music",
          "doc": "Send a music file to a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    music (Path, bytes, optional): The music data. Can be a file path or bytes.\n    text (Optional[str]): Caption for the music. Defaults to None.\n    reply_to_message_id (Optional[Union[str, int]]): ID of the message to reply to. Defaults to None.\n    via_bot (Optional[str]): Bot GUID or username to send the message via. Defaults to None.\n    performer (Optional[str]): Name of the performer/artist. Defaults to None (auto-detect).\n    time (Optional[int]): Custom duration for the music in seconds. Defaults to None (auto-detect).\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the message.\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online (users only).\n    base64 (str, optional): Base64 encoded music data.\n\nReturns:\n    The API response containing the sent message details."
        },
        {
          "name": "send_now_scheduled_message",
          "signature": "send_now_scheduled_message(self: 'darkob.Client', chat: str, message_id: Union[int, str])",
          "group": "messages",
          "module": "darkob.client.messages.send_now_scheduled_message",
          "doc": "Send a scheduled message immediately.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    message_id (int): The ID of the scheduled message to send now.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "send_poll",
          "signature": "send_poll(self: 'darkob.Client', chat: str, question: str, options: list, is_anonymous: bool=True, multiple_answers: bool=False, reply_to_message_id: Optional[Union[str, int]]=None)",
          "group": "messages",
          "module": "darkob.client.messages.send_poll",
          "doc": "Send a poll message with the specified parameters.\n\nParameters:\n    chat (str): The GUID, link or username of the chat associated with the poll (e.g., group, channel).\n    question (str): The question for the poll.\n    options (list): A list of string values representing the poll options.\n    is_anonymous (bool): Whether the poll is anonymous or not. Defaults to True.\n    multiple_answers (bool): Whether the poll allows multiple answers or not. Defaults to False.\n    reply_to_message_id (Optional[Union[str, int]]): The ID of the message to reply to. Defaults to None.\n\nReturns:\n    The updated information after creating the poll."
        },
        {
          "name": "send_quiz",
          "signature": "send_quiz(self: 'darkob.Client', chat: str, question: str, options: list, correct_option: Union[int, str], hint: str=None, is_anonymous: bool=True, reply_to_message_id: Optional[Union[str, int]]=None)",
          "group": "messages",
          "module": "darkob.client.messages.send_quiz",
          "doc": "Send a quiz-type poll message with the specified parameters.\n\nParameters:\n    chat (str): The GUID or link or username of the chat associated with the quiz (e.g., group, channel).\n    question (str): The question for the quiz.\n    options (list): A list of string values representing the quiz options.\n    correct_option (Union[int, str]): The index or ID of the correct option for quiz-type polls.\n    hint (str): A hint for the correct answer in quiz-type polls. Defaults to None.\n    is_anonymous (bool): Whether the poll is anonymous or not. Defaults to True.\n    reply_to_message_id (Union[str, int]): The ID of the message to reply to. Defaults to None.\n\nReturns:\n    The updated information after creating the quiz-type poll."
        },
        {
          "name": "send_rubino_post",
          "signature": "send_rubino_post(self: 'darkob.Client', chat: str, post_id: str, post_profile_id: str, is_mute: bool=False)",
          "group": "messages",
          "module": "darkob.client.messages.send_rubino_post",
          "doc": "Send a Rubino post to a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    post_id (str): The post ID to send.\n    post_profile_id (str): The post profile ID.\n    is_mute (bool): Send silently without notification. Default is False.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "send_rubino_product",
          "signature": "send_rubino_product(self: 'darkob.Client', chat: str, store_id: str, product_id: str, product_varieties: List[dict])",
          "group": "messages",
          "module": "darkob.client.messages.send_rubino_product",
          "doc": "Send a Rubino product to a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    store_id (str): The store ID.\n    product_id (str): The product ID.\n    product_varieties (List[dict]): List of product varieties.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "send_rubino_story",
          "signature": "send_rubino_story(self: 'darkob.Client', chat: str, story_id: str, story_profile_id: str, reply_text: str='', type: Literal['Reply', 'Direct']='Reply', is_mute: bool=False)",
          "group": "messages",
          "module": "darkob.client.messages.send_rubino_story",
          "doc": "Send a Rubino story reply or direct message.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    story_id (str): The story ID.\n    story_profile_id (str): The story profile ID.\n    reply_text (str): Reply text. Default is empty string.\n    type (str): 'Reply' or 'Direct'. Default is 'Reply'.\n    is_mute (bool): Send silently without notification. Default is False.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "send_sticker",
          "signature": "send_sticker(self: 'darkob.Client', chat: str, emoji_character: str, sticker_id: str, sticker_set_id: str, file: dict, w_h_ratio: str='1.0', reply_to_message_id: Optional[Union[str, int]]=None, via_bot: Optional[str]=None, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None)",
          "group": "messages",
          "module": "darkob.client.messages.send_sticker",
          "doc": "Send a sticker.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    emoji_character (str): The emoji character associated with the sticker.\n    sticker_id (str): The ID of the sticker.\n    sticker_set_id (str): The ID of the sticker set.\n    file (dict): The file data for the sticker.\n    w_h_ratio (str): The width-to-height ratio of the sticker. Defaults to '1.0'.\n    reply_to_message_id (Optional[Union[str, int]]): The ID of the message to which this is a reply. Defaults to None.\n    via_bot (Optional[str]): Bot GUID or username to send the message via. Defaults to None.\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the message.\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online (users only)."
        },
        {
          "name": "send_video",
          "signature": "send_video(self: 'darkob.Client', chat: str, video: Union[Path, bytes]=None, text: Optional[str]=None, reply_to_message_id: Optional[Union[str, int]]=None, is_spoil: bool=False, via_bot: Optional[str]=None, thumb: Optional[Union[bool, str]]=None, width: Optional[int]=None, height: Optional[int]=None, time: Optional[int]=None, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None, base64: str=None, **kwargs)",
          "group": "messages",
          "module": "darkob.client.messages.send_video",
          "doc": "Send a video to a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    video (Path, bytes, optional): The video data. Can be a file path or bytes.\n    text (Optional[str]): Caption for the video. Defaults to None.\n    reply_to_message_id (Optional[Union[str, int]]): ID of the message to reply to. Defaults to None.\n    is_spoil (bool): Whether the video should be marked as a spoiler. Defaults to False.\n    via_bot (Optional[str]): Bot GUID or username to send the message via. Defaults to None.\n    thumb (Optional[Union[bool, str]]): Thumbnail behavior:\n        - None or True: Auto-generate thumbnail using available libraries (or default).\n        - str: Custom thumbnail as Base64 string.\n    width (Optional[int]): Custom width for the video. Defaults to None (auto-detect).\n    height (Optional[int]): Custom height for the video. Defaults to None (auto-detect).\n    time (Optional[int]): Custom duration for the video in seconds. Defaults to None (auto-detect).\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the message.\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online (users only).\n    base64 (str, optional): Base64 encoded video data.\n\nReturns:\n    The API response containing the sent message details."
        },
        {
          "name": "send_video_message",
          "signature": "send_video_message(self: 'darkob.Client', chat: str, video_message: Union[Path, bytes]=None, text: Optional[str]=None, reply_to_message_id: Optional[Union[str, int]]=None, is_spoil: bool=False, via_bot: Optional[str]=None, thumb: Optional[Union[bool, str]]=None, width: Optional[int]=None, height: Optional[int]=None, time: Optional[int]=None, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None, base64: str=None, **kwargs)",
          "group": "messages",
          "module": "darkob.client.messages.send_video_message",
          "doc": "Send a video message (round video) to a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    video_message (Path, bytes, optional): The video message data. Can be a file path or bytes.\n    text (Optional[str]): Caption for the video message. Defaults to None.\n    reply_to_message_id (Optional[Union[str, int]]): ID of the message to reply to. Defaults to None.\n    is_spoil (bool): Whether the video message should be marked as a spoiler. Defaults to False.\n    via_bot (Optional[str]): Bot GUID or username to send the message via. Defaults to None.\n    thumb (Optional[Union[bool, str]]): Thumbnail behavior:\n        - None or True: Auto-generate thumbnail using available libraries (or default).\n        - str: Custom thumbnail as Base64 string.\n    width (Optional[int]): Custom width for the video message. Defaults to None (auto-detect).\n    height (Optional[int]): Custom height for the video message. Defaults to None (auto-detect).\n    time (Optional[int]): Custom duration for the video message in seconds. Defaults to None (auto-detect).\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the message.\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online (users only).\n    base64 (str, optional): Base64 encoded video message data.\n\nReturns:\n    The API response containing the sent message details."
        },
        {
          "name": "send_voice",
          "signature": "send_voice(self: 'darkob.Client', chat: str, voice: Union[Path, bytes]=None, text: Optional[str]=None, reply_to_message_id: Optional[Union[str, int]]=None, via_bot: Optional[str]=None, time: Optional[int]=None, schedule_time: Optional[Union[int, float, timedelta, datetime]]=None, schedule_type: Optional[Literal['Default', 'WhenOnline']]=None, base64: str=None, **kwargs)",
          "group": "messages",
          "module": "darkob.client.messages.send_voice",
          "doc": "Send a voice message to a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    voice (Path, bytes, optional): The voice data. Can be a file path or bytes.\n    text (Optional[str]): Caption for the voice message. Defaults to None.\n    reply_to_message_id (Optional[Union[str, int]]): ID of the message to reply to. Defaults to None.\n    via_bot (Optional[str]): Bot GUID or username to send the message via. Defaults to None.\n    time (Optional[int]): Custom duration for the voice message in seconds. Defaults to None (auto-detect).\n    schedule_time (Optional[Union[int, float, timedelta, datetime]]): \n        When to send the message.\n        - Unix timestamp (int/float): Absolute time\n        - timedelta: Relative time from now\n        - datetime: Absolute date and time\n    schedule_type (Optional[Literal['Default', 'WhenOnline']]): \n        'Default' uses schedule_time, 'WhenOnline' sends when user comes online (users only).\n    base64 (str, optional): Base64 encoded voice data.\n\nReturns:\n    The API response containing the sent message details."
        },
        {
          "name": "send_voice_chat_activity",
          "signature": "send_voice_chat_activity(self: 'darkob.Client', chat: str, activity: Literal['Speaking']='Speaking', participant_chat_guid: str=None)",
          "group": "chats",
          "module": "darkob.client.chats.send_voice_chat_activity",
          "doc": "Set voice chat activity automatically.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n    activity (str): Literal['Speaking'] and Default is `Speaking`.\n    participant_chat_guid (str): Participant chat guid, Default is `self.guid`.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_admin",
          "signature": "set_admin(self: 'darkob.Client', chat: str, member: str, access: Union[List[str], str]=[], custom_title: str='')",
          "group": "chats",
          "module": "darkob.client.chats.set_admin",
          "doc": "Set a member as admin in a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of group/channel.\n    member (str): The GUID or username of member to set as admin.\n    access (Union[List[str], str]): List of allowed permissions or single permission string.\n        Can also be 'all' or 'All' to grant all permissions.\n    custom_title (str): Custom title for admin in groups. (optional)\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "set_ask_spam",
          "signature": "set_ask_spam(self: 'darkob.Client', chat: str, action: Literal['AddToContact', 'BlockUser', 'Cancel', 'ReportAndLeave']='Cancel')",
          "group": "chats",
          "module": "darkob.client.chats.set_ask_spam",
          "doc": "Perform an action for a pending spam request.\n\nParameters:\n    chat (str): The GUID, link, or username of the user, group, or channel.\n    action (str): The action to apply:\n        - For user (u0): 'AddToContact', 'BlockUser', 'Cancel'.\n        - For group/channel (g0/c0): 'ReportAndLeave'.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_channel_link",
          "signature": "set_channel_link(self: 'darkob.Client', channel: str)",
          "group": "channels",
          "module": "darkob.client.channels.set_channel_link",
          "doc": "Set a custom link for the channel.\n\nParameters:\n    channel (str): The GUID of the channel.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_channel_type",
          "signature": "set_channel_type(self: 'darkob.Client', channel: str, channel_type: typing.Literal['Public', 'Private'])",
          "group": "channels",
          "module": "darkob.client.channels.set_channel_type",
          "doc": "Set type of a channel.\n\nParameters:\n    channel (str): The GUID, link, or username of the channel.\n    channel_type (str): The new type of the channel. 'Public' or 'Private'.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_chat_auto_delete",
          "signature": "set_chat_auto_delete(self: 'darkob.Client', chat: Union[str, List[str]], auto_delete: Union[str, int])",
          "group": "chats",
          "module": "darkob.client.chats.set_chat_auto_delete",
          "doc": "Set auto-delete timer for one or more groups or channels.\n\nParameters:\n    chat (Union[str, List[str]]): The GUID, link, username of a group/channel, or a list of them.\n    auto_delete (Union[str, int]): Auto-delete duration. Accepts:\n        - Integer: 1-365 (days)\n        - String: '1m'-'60m', '1h'-'24h', '1d'-'365d', '1w'-'52w', '1y', 'off'\n        - Common words: 'day', 'week', 'month', 'year', 'never', 'disabled'\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_chat_protected_content",
          "signature": "set_chat_protected_content(self: 'darkob.Client', chat: str, enabled: bool)",
          "group": "chats",
          "module": "darkob.client.chats.set_chat_protected_content",
          "doc": "Set the chat protected content setting.\n\nParameters:\n    chat (int): The GUID or username of the target chat.\n    enabled (bool): Pass True to enable the protected content setting, False to disable.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_chat_use_time",
          "signature": "set_chat_use_time(self: 'darkob.Client', chat: str, use_time: int)",
          "group": "chats",
          "module": "darkob.client.chats.set_chat_use_time",
          "doc": "Send chat usage time to the server.\n\nThis helps the server recognize natural user behavior\nand can reduce rate limiting and bot detection.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    use_time (int): Time spent in the chat in seconds.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_current_live_location",
          "signature": "set_current_live_location(self: 'darkob.Client', longitude: float, latitude: float, tile_side_count: int, tile_urls: List[str], x_loc: float, y_loc: float)",
          "group": "extras",
          "module": "darkob.client.extras.set_current_live_location",
          "doc": "Set the current live location.\n\nParameters:\n    longitude (float): Longitude coordinate.\n    latitude (float): Latitude coordinate.\n    tile_side_count (int): Number of tiles per side.\n    tile_urls (List[str]): URLs of map tiles.\n    x_loc (float): X position on the map.\n    y_loc (float): Y position on the map.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_group_default_access",
          "signature": "set_group_default_access(self: 'darkob.Client', group: str, access: Union[str, list])",
          "group": "groups",
          "module": "darkob.client.groups.set_group_default_access",
          "doc": "Set default access for a group.\n\nParameters:\n    group (str): The GUID or link of the group.\n    access (Union[str, list]): List of allowed actions. Must be one or more of:\n        - \"ViewMembers\": Allows viewing group members.\n        - \"ViewAdmins\": Allows viewing group admins.\n        - \"SendMessages\": Allows sending messages.\n        - \"AddMember\": Allows adding members.\n        If only specific actions are listed (e.g. [\"SendMessages\"]), ONLY those are enabled and others are disabled.\n        If empty list \"[]\", ALL access permissions are disabled/closed.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_group_link",
          "signature": "set_group_link(self: 'darkob.Client', group: str)",
          "group": "groups",
          "module": "darkob.client.groups.set_group_link",
          "doc": "Set private link for group.\n\nParameters:\n    group (str): The GUID or link of the group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_notification",
          "signature": "set_notification(self: 'darkob.Client', user_notification: Optional[bool]=None, user_message_preview: Optional[bool]=None, group_notification: Optional[bool]=None, group_message_preview: Optional[bool]=None, channel_notification: Optional[bool]=None, channel_message_preview: Optional[bool]=None, in_app_sound: Optional[bool]=None, in_app_preview: Optional[bool]=None, new_contacts: Optional[bool]=None)",
          "group": "settings",
          "module": "darkob.client.settings.set_notification",
          "doc": "Update notification settings.\n\nParameters:\n    user_notification (bool, optional): Enable/disable user notifications.\n    user_message_preview (bool, optional): Show/hide user message preview.\n    group_notification (bool, optional): Enable/disable group notifications.\n    group_message_preview (bool, optional): Show/hide group message preview.\n    channel_notification (bool, optional): Enable/disable channel notifications.\n    channel_message_preview (bool, optional): Show/hide channel message preview.\n    in_app_sound (bool, optional): Enable/disable in-app sound.\n    in_app_preview (bool, optional): Enable/disable in-app preview.\n    new_contacts (bool, optional): Enable/disable new contacts notification.\n\nReturns:\n    The updated notification settings."
        },
        {
          "name": "set_saved_music_playlist",
          "signature": "set_saved_music_playlist(self: 'darkob.Client', files: Union[Path, str, List[Union[Path, str]]]=None, file_inlines: List[dict]=None, time: Optional[int]=None, performer: Optional[str]=None, file_name: Optional[str]=None, **kwargs)",
          "group": "settings",
          "module": "darkob.client.settings.set_saved_music_playlist",
          "doc": "Replace the saved music playlist on your profile.\n\nParameters:\n    files: A single file path or a list of file paths to music files.\n    file_inlines: Pre-uploaded file_inline dicts to set directly.\n    time: Custom duration in seconds. If not provided, auto-detected.\n    performer: Custom performer name. If not provided, auto-detected.\n    file_name: Custom file name. If not provided, uses original file name.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_setting",
          "signature": "set_setting(self: 'darkob.Client', show_my_last_online: Optional[PrivacyValue]=None, show_my_phone_number: Optional[PrivacyValue]=None, show_my_profile_photo: Optional[PrivacyValue]=None, link_forward_message: Optional[PrivacyValue]=None, can_join_chat_by: Optional[PrivacyValue]=None, show_my_birth_date: Optional[PrivacyValue]=None, can_called_by: Optional[PrivacyValue]=None, auto_delete_messages: Optional[Union[str, int]]=None, inactive_account_delete: Optional[int]=None, show_my_last_online_exceptions: Optional[Dict[str, List[str]]]=None, show_my_phone_number_exceptions: Optional[Dict[str, List[str]]]=None, show_my_profile_photo_exceptions: Optional[Dict[str, List[str]]]=None, can_join_chat_by_exceptions: Optional[Dict[str, List[str]]]=None, show_my_birth_date_exceptions: Optional[Dict[str, List[str]]]=None, can_called_by_exceptions: Optional[Dict[str, List[str]]]=None)",
          "group": "settings",
          "module": "darkob.client.settings.set_setting",
          "doc": "Set various privacy and auto-delete settings for the user.\n\nParameters:\n    Privacy Settings (accept: 'Everybody', 'MyContacts', 'Nobody'):\n        show_my_last_online: Who can see your last online status\n        show_my_phone_number: Who can see your phone number\n        show_my_profile_photo: Who can see your profile photo\n        link_forward_message: Who can forward your message links\n        can_join_chat_by: Who can join your chats by link\n        show_my_birth_date: Who can see your birth date\n        can_called_by: Who can call you\n\n    Exceptions (for privacy settings except link_forward_message):\n        Each exception should be a dict with:\n            - 'include_users': List[str] - Users to always allow\n            - 'exclude_users': List[str] - Users to always deny\n\n        To CLEAR exceptions for a setting, pass {'exclude_users': []}:\n            can_called_by_exceptions={'exclude_users': []}\n\n        Example:\n            show_my_last_online_exceptions={\n                'include_users': ['u0abc123...'],\n                'exclude_users': ['u0xyz789...']\n            }\n\n    Auto Delete Messages:\n        auto_delete_messages: Message auto-delete duration.\n\n    Delete Inactive Account:\n        inactive_account_delete: Delete account after X months.\n\nReturns:\n    The result of the setting operation."
        },
        {
          "name": "set_two_step_verification",
          "signature": "set_two_step_verification(self: 'darkob.Client', password: Union[int, str], hint: str=None, recovery_email: str=None)",
          "group": "settings",
          "module": "darkob.client.settings.set_two_step_verification",
          "doc": "Set up two-step verification for the user.\n\nParameters:\n    password (Union[int, str]): The current user password.\n    hint (str): A hint to help remember the password. Defaults to None.\n    recovery_email (str): The recovery email for two-step verification. Defaults to None.\n\nReturns:\n    The updated user information after setting up two-step verification."
        },
        {
          "name": "set_voice_chat_setting",
          "signature": "set_voice_chat_setting(self: 'darkob.Client', chat: str, title: str=None, join_muted: bool=None)",
          "group": "chats",
          "module": "darkob.client.chats.set_voice_chat_setting",
          "doc": "Set voice chat settings for group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n    title (str, optional): New title for voice chat.\n    join_muted (bool, optional): Whether new participants join muted. (Only for groups)\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "set_voice_chat_state",
          "signature": "set_voice_chat_state(self: 'darkob.Client', chat: str, action: typing.Literal['Mute', 'Unmute', 'RequestSpeak', 'CancelRequestSpeak']='Unmute', participant_chat_guid: str=None)",
          "group": "chats",
          "module": "darkob.client.chats.set_voice_chat_state",
          "doc": "Set group or channel voice chat state automatically.\n\nParameters:\n    chat (str): The GUID, link, or username of the group/channel.\n    action (str): Literal['Mute', 'Unmute'] and Default is `Unmute`.\n    participant_chat_guid (str): Participant chat guid, Default is `self.guid`.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "sign_in",
          "signature": "sign_in(self: 'darkob.Client', phone_number: str, phone_code: str, phone_code_hash: str, public_key: str)",
          "group": "base",
          "module": "darkob.client.base.sign_in",
          "doc": "Sign in using the verification code.\n\nParameters:\n    phone_number (str): The phone number.\n    phone_code (str): The verification code.\n    phone_code_hash (str): The verification code hash.\n    public_key (str): The client's public key.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "speaking",
          "signature": "speaking(self: 'darkob.Client', chat_guid: str)",
          "group": "chats",
          "module": "darkob.client.chats.play_voice_chat",
          "doc": ""
        },
        {
          "name": "start",
          "signature": "start(self: 'darkob.Client', phone_number: str=None)",
          "group": "base",
          "module": "darkob.client.base.start",
          "doc": "Start the client, handling authentication and registration.\n\nParameters:\n    phone_number (str, optional): Phone number for registration.\n\nReturns:\n    Client: The initialized client instance."
        },
        {
          "name": "start_bot",
          "signature": "start_bot(self: 'darkob.Client', bot: str)",
          "group": "bots",
          "module": "darkob.client.bots.start_bot",
          "doc": "Parameters:\n    bot (str): The GUID or username of the bot.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "start_voice_chat",
          "signature": "start_voice_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.start_voice_chat",
          "doc": "Start a voice chat for a channel or group.\n\nParameters:\n    chat (str): The GUID, link, or username of the channel/group.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "stop",
          "signature": "stop(self)",
          "group": "core",
          "module": "darkob.TheClient",
          "doc": ""
        },
        {
          "name": "stop_bot",
          "signature": "stop_bot(self: 'darkob.Client', bot: str)",
          "group": "bots",
          "module": "darkob.client.bots.stop_bot",
          "doc": "Parameters:\n    bot (str): The GUID or username of the bot.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "stop_poll",
          "signature": "stop_poll(self: 'darkob.Client', poll_id: str)",
          "group": "messages",
          "module": "darkob.client.messages.stop_poll",
          "doc": "Stop a poll.\n\nParameters:\n    poll_id (str): The ID of the poll to stop.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "terminate_other_sessions",
          "signature": "terminate_other_sessions(self: 'darkob.Client')",
          "group": "settings",
          "module": "darkob.client.settings.terminate_other_sessions",
          "doc": "Terminate other account sessions.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "terminate_session",
          "signature": "terminate_session(self: 'darkob.Client', session_key: str)",
          "group": "settings",
          "module": "darkob.client.settings.terminate_session",
          "doc": "Terminate a user session.\n\nParameters:\n    session_key (str): The session key of the session to be terminated.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "transcribe_voice",
          "signature": "transcribe_voice(self: 'darkob.Client', chat: Union[str, int], message_id: Union[str, int])",
          "group": "messages",
          "module": "darkob.client.messages.transcribe_voice",
          "doc": "Transcribes voice messages.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat (chat, channel, or group) containing the voice message.\n    message_id (str): The ID of the voice message.\n\nReturns:\n    The transcription result."
        },
        {
          "name": "turn_off_two_step",
          "signature": "turn_off_two_step(self: 'darkob.Client', password: str)",
          "group": "settings",
          "module": "darkob.client.settings.turn_off_two_step",
          "doc": "Turn off two-step verification passcode for the account.\n\nParameters:\n    password (str): Current two-step verification password\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "unarchive_chat",
          "signature": "unarchive_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.unarchive_chat",
          "doc": "Unarchive a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to unarchive.\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "unban_all_members",
          "signature": "unban_all_members(self: 'darkob.Client', chat: str, exclude: Optional[Union[str, List[str]]]=None)",
          "group": "chats",
          "module": "darkob.client.chats.unban_all_members",
          "doc": "Unban all banned members in a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of the group or channel.\n    exclude (Optional[Union[str, List[str]]]): Member GUID(s) or username(s) to exclude from unban. Default is None.\n\nReturns:\n    Result of unban operation."
        },
        {
          "name": "unban_member",
          "signature": "unban_member(self: 'darkob.Client', chat: str, member: str)",
          "group": "chats",
          "module": "darkob.client.chats.unban_member",
          "doc": "Unban a member from a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of group/channel.\n    member (str): The GUID or username of member to unban.\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "unban_members",
          "signature": "unban_members(self: 'darkob.Client', chat: str, members: List[str])",
          "group": "chats",
          "module": "darkob.client.chats.unban_members",
          "doc": "Unban multiple members from a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of group/channel.\n    members (List[str]): List of GUIDs or usernames of members to unban.\n\nReturns:\n    Results of all operations."
        },
        {
          "name": "unblock_all_users",
          "signature": "unblock_all_users(self: 'darkob.Client', exclude: Optional[Union[str, List[str]]]=None)",
          "group": "users",
          "module": "darkob.client.users.unblock_all_users",
          "doc": "Unblock all blocked users.\n\nParameters:\n    exclude (Optional[Union[str, List[str]]]): User GUID(s) or username(s) to exclude from unblock. Default is None.\n\nReturns:\n    Result of unblock operation."
        },
        {
          "name": "unblock_user",
          "signature": "unblock_user(self: 'darkob.Client', user: str)",
          "group": "users",
          "module": "darkob.client.users.unblock_user",
          "doc": "Unblock a user.\n\nParameters:\n    user (str): The GUID or username of the user to unblock.\n\nReturns:\n    The result of the unblock operation."
        },
        {
          "name": "unlock_group",
          "signature": "unlock_group(self: 'darkob.Client', group: str)",
          "group": "groups",
          "module": "darkob.client.groups.unlock_group",
          "doc": "Unlock a group by enabling SendMessage access.\n\nParameters:\n    group (str): The GUID or link of the group.\n\nReturns:\n    Result message."
        },
        {
          "name": "unmute_chat",
          "signature": "unmute_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.unmute_chat",
          "doc": "Unmute a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to unmute.\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "unpin_all_messages",
          "signature": "unpin_all_messages(self: 'darkob.Client', chat: str)",
          "group": "messages",
          "module": "darkob.client.messages.unpin_all_messages",
          "doc": "Unpin all pinned messages in a group, channel, or private chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n\nReturns:\n    The update indicating the success of the operation."
        },
        {
          "name": "unpin_chat",
          "signature": "unpin_chat(self: 'darkob.Client', chat: str)",
          "group": "chats",
          "module": "darkob.client.chats.unpin_chat",
          "doc": "Unpin a chat.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to unpin.\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "unpin_chat_in_folder",
          "signature": "unpin_chat_in_folder(self: 'darkob.Client', chat: str, folder_id: str)",
          "group": "chats",
          "module": "darkob.client.chats.unpin_chat_in_folder",
          "doc": "Unpin a chat from a folder.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat to unpin.\n    folder_id (str): The folder ID to unpin the chat from.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "unpin_message",
          "signature": "unpin_message(self: 'darkob.Client', chat: str, message_id: Union[str, int])",
          "group": "messages",
          "module": "darkob.client.messages.unpin_message",
          "doc": "unpin a message.\n\nParameters:\n    chat (str): The GUID, link, or username of the chat.\n    message_id (Union[str, int]): The ID of the message to unpin.\n\nReturns:\n    The update indicating the success of the operation."
        },
        {
          "name": "unset_admin",
          "signature": "unset_admin(self: 'darkob.Client', chat: str, member: str)",
          "group": "chats",
          "module": "darkob.client.chats.unset_admin",
          "doc": "Unset a member as admin in a group or channel.\n\nParameters:\n    chat (str): The GUID, link, or username of group/channel.\n    member (str): The GUID or username of member to unset as admin.\n\nReturns:\n    Result of the operation."
        },
        {
          "name": "update_channel_username",
          "signature": "update_channel_username(self: 'darkob.Client', channel: str, username: str)",
          "group": "channels",
          "module": "darkob.client.channels.update_channel_username",
          "doc": "Update the username of a channel.\n\nParameters:\n    channel (str): The GUID or username of the channel.\n    username (str): The new username for the channel.\n        Must be between 7 and 32 characters\n        Can only contain English letters (a-z, A-Z), numbers (0-9), and underscore (_)\n        Should not start with number or underscore\n        Should not end with underscore\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "update_my_bio",
          "signature": "update_my_bio(self: 'darkob.Client', bio: str)",
          "group": "settings",
          "module": "darkob.client.settings.update_my_bio",
          "doc": "Update user's biography.\n\nParameters:\n    bio (str): The updated biography (max 150 characters).\n\nReturns:\n    The updated user information.\n\nRaises:\n    InvalidInput: If bio exceeds 150 characters."
        },
        {
          "name": "update_my_birthday",
          "signature": "update_my_birthday(self: 'darkob.Client', birthday: Union[str, datetime])",
          "group": "settings",
          "module": "darkob.client.settings.update_my_birthday",
          "doc": "Update the birthday in your profile.\n\nParameters:\n    birthday (str | datetime): Birthday in format YYYY-MM-DD (e.g., \"2026-02-03\") or a datetime object.\n\nReturns:\n    The updated user information."
        },
        {
          "name": "update_my_name",
          "signature": "update_my_name(self: 'darkob.Client', first_name: Optional[str]=None, last_name: Optional[str]=None)",
          "group": "settings",
          "module": "darkob.client.settings.update_my_name",
          "doc": "Update user's first name and/or last name.\n\nParameters:\n    first_name (Optional[str]): The updated first name (max 30 characters).\n    last_name (Optional[str]): The updated last name (max 50 characters).\n\nReturns:\n    The updated user information."
        },
        {
          "name": "update_my_profile",
          "signature": "update_my_profile(self: 'darkob.Client', first_name: Optional[str]=None, last_name: Optional[str]=None, bio: Optional[str]=None, birthday: Optional[str]=None, location: Optional[Dict[str, Union[float, Dict[str, Union[int, List[str], float]]]]]=None)",
          "group": "settings",
          "module": "darkob.client.settings.update_my_profile",
          "doc": "Update user profile information.\n\nParameters:\n    first_name (Optional[str]): The updated first name.\n    last_name (Optional[str]): The updated last name.\n    bio (Optional[str]): The updated biography.\n    birthday (str): Birthday in format YYYY-MM-DD (e.g., \"2026-07-05\").\n    location (Optional[dict]): Location information containing:\n        - longitude (float): Longitude coordinate.\n        - latitude (float): Latitude coordinate.\n        - map_view (dict): Map view details with:\n            - tile_side_count (int): Number of tile sides.\n            - tile_urls (List[str]): List of tile URLs.\n            - x_loc (float): X location on map.\n            - y_loc (float): Y location on map.\n\nReturns:\n    The updated user information after the profile update."
        },
        {
          "name": "update_my_username",
          "signature": "update_my_username(self: 'darkob.Client', username: str)",
          "group": "settings",
          "module": "darkob.client.settings.update_my_username",
          "doc": "Update the username of the user.\n\nParameters:\n    username (str): The new username for the user.\n        - Must be between 7 and 32 characters\n        - Can only contain English letters (a-z, A-Z), numbers (0-9), and underscore (_)\n        - Should not start with number or underscore\n        - Should not end with underscore\n\nReturns:\n    The updated user information."
        },
        {
          "name": "upgrade_to_api6",
          "signature": "upgrade_to_api6(self: 'darkob.Client', save_as: bool=True, file_name: Optional[str]=None)",
          "group": "settings",
          "module": "darkob.client.settings.upgrade_to_api6",
          "doc": "Upgrade from API v5 to v6 by setting an RSA public key.\n\nThis allows old v5 auth keys to be used with API v6.\nAfter upgrade, save the returned private_key for future v6 logins.\n\nParameters:\n    save_as (bool): If True (default), saves auth and private_key to a JSON file.\n    file_name (str, optional): Custom file name for the JSON file. Defaults to 'darkob_{auth[:10]}'.\n\nReturns:\n    Data: Response with status, message, auth, and private_key."
        },
        {
          "name": "upload_avatar",
          "signature": "upload_avatar(self: 'darkob.Client', chat: str, main_image: Union[Path, str, bytes], thumbnail_image: Optional[Union[Path, str, bytes]]=None, *args, **kwargs)",
          "group": "chats",
          "module": "darkob.client.chats.upload_avatar",
          "doc": "Uploads an avatar image for a specified chat (user, group, or channel).\n\nParameters:\n    chat (str): The GUID, link, or username of the chat for which the avatar is being uploaded.\n    main_image (Union[Path, str, bytes]): The image file or bytes to be used as the avatar.\n    thumbnail_image (Optional[Union[Path, str, bytes]]): The image file or bytes of the thumbnail image.\n\nReturns:\n    The result of the avatar upload operation.\n\nNote:\n    If `chat` is 'me', 'cloud', or 'self', it will be replaced with the client's GUID.\n    If `main_image` is a string or Path (path to a file), the file name is extracted from the path.\n        Otherwise, a default file name ('darkob.jpg') is used.\n    The `upload_file` method is used internally to handle the file upload process."
        },
        {
          "name": "upload_file",
          "signature": "upload_file(self: 'darkob.Client', file: Union[str, bytes, None]=None, base64_data: Optional[str]=None, mime: Optional[str]=None, file_name: Optional[str]=None, chunk: int=1048576, callback: Optional[Callable[[int, int], Union[None, asyncio.Future]]]=None, *args, **kwargs)",
          "group": "base",
          "module": "darkob.client.base.upload_file",
          "doc": "Upload a file to Rubika with chunked transfer and retry logic.\n\nParameters:\n    file (str, bytes, or None): File path, bytes, or URL to upload.\n    base64_data (str, optional): Base64 encoded file data.\n    mime (str, optional): MIME type of the file.\n    file_name (str, optional): Name of the file.\n    chunk (int, optional): Chunk size in bytes (default: 1MB).\n    callback (callable, optional): Progress callback(total_size, uploaded_bytes).\n\nReturns:\n    Metadata about the uploaded file."
        },
        {
          "name": "verify_change_phone_number",
          "signature": "verify_change_phone_number(self: 'darkob.Client', code: Union[str, int], hash: str)",
          "group": "settings",
          "module": "darkob.client.settings.verify_change_phone_number",
          "doc": "Verify phone number change with the received code.\n\nParameters:\n    code (str): The verification code sent to the new phone number.\n    hash (str): The hash received from request_change_phone_number.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "verify_recovery_email",
          "signature": "verify_recovery_email(self: 'darkob.Client', password: str, code: Union[str, int])",
          "group": "settings",
          "module": "darkob.client.settings.verify_recovery_email",
          "doc": "Verify the recovery code sent to the recovery email.\n\nParameters:\n    password (str): User's current password.\n    code (Union[str, int]): The verification code received in email.\n        Can be a string or an integer.\n\nReturns:\n    The result of the API call."
        },
        {
          "name": "view_chat_ads",
          "signature": "view_chat_ads(self: 'darkob.Client', chat_ads_id: str)",
          "group": "chats",
          "module": "darkob.client.chats.view_chat_ads",
          "doc": "Register a view action on a chat ad.\n\nThe `chat_ads_id` is obtained from the `get_chat_ads` method.\n\nParameters:\n    chat_ads_id (str): The chat ads ID to register a view on.\n\nReturns:\n    The result of the operation."
        },
        {
          "name": "vote_poll",
          "signature": "vote_poll(self: 'darkob.Client', poll_id: str, selection_index: Union[str, int])",
          "group": "messages",
          "module": "darkob.client.messages.vote_poll",
          "doc": "Vote on a poll option.\n\nParameters:\n    poll_id (str): The ID of the poll.\n    selection_index (Union[str, int]): The index of the option to vote for.\n\nReturns:\n    The update indicating the success of the vote."
        }
      ]
    }
  }
}