CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-rocketchat-a-p-i

Python API wrapper for Rocket.Chat's REST API, enabling developers to programmatically interact with Rocket.Chat servers for chat automation, bot development, and integration purposes

Pending
Overview
Eval results
Files

users.mddocs/

User Management

Comprehensive user administration including account creation, profile management, authentication, and user preferences. Supports user roles, presence status, and avatar management.

Capabilities

User Information and Listing

def me(self, **kwargs):
    """
    Get current authenticated user information.
    
    Returns:
    requests.Response: Current user details
    """

def users_info(self, user_id=None, username=None, **kwargs):
    """
    Get user information by ID or username.
    
    Parameters:
    - user_id (str, optional): User ID
    - username (str, optional): Username
    
    Returns:
    requests.Response: User information
    """

def users_list(self, **kwargs):
    """
    List all users.
    
    Parameters:
    - offset (int, optional): Number of items to skip
    - count (int, optional): Number of items to return
    - sort (dict, optional): Sort criteria
    - query (dict, optional): Search query
    
    Returns:
    requests.Response: List of users
    """

User Creation and Registration

def users_create(self, email, name, password, username, **kwargs):
    """
    Create a new user account.
    
    Parameters:
    - email (str): User email address
    - name (str): Full name
    - password (str): Password
    - username (str): Username
    - active (bool, optional): Active status
    - roles (list, optional): User roles
    - joinDefaultChannels (bool, optional): Join default channels
    - requirePasswordChange (bool, optional): Require password change
    - sendWelcomeEmail (bool, optional): Send welcome email
    - verified (bool, optional): Email verified status
    - customFields (dict, optional): Custom user fields
    
    Returns:
    requests.Response: User creation result
    """

def users_register(self, email, name, password, username, **kwargs):
    """
    Register a new user (public registration).
    
    Parameters:
    - email (str): User email address
    - name (str): Full name
    - password (str): Password
    - username (str): Username
    - secretURL (str, optional): Secret registration URL
    
    Returns:
    requests.Response: Registration result
    """

User Management

def users_update(self, user_id, **kwargs):
    """
    Update existing user.
    
    Parameters:
    - user_id (str): User ID to update
    - data (dict): User data to update
    - email (str, optional): New email
    - name (str, optional): New name
    - password (str, optional): New password
    - username (str, optional): New username
    - active (bool, optional): Active status
    - roles (list, optional): User roles
    - customFields (dict, optional): Custom fields
    
    Returns:
    requests.Response: Update result
    """

def users_delete(self, user_id, **kwargs):
    """
    Delete a user account.
    
    Parameters:
    - user_id (str): User ID to delete
    - confirmRelinquish (bool, optional): Confirm relinquish ownership
    
    Returns:
    requests.Response: Deletion result
    """

def users_set_active_status(self, user_id, active_status, **kwargs):
    """
    Set user active status.
    
    Parameters:
    - user_id (str): User ID
    - active_status (bool): Active status
    
    Returns:
    requests.Response: Status update result
    """

Avatar Management

def users_get_avatar(self, user_id=None, username=None, **kwargs):
    """
    Get user avatar URL.
    
    Parameters:
    - user_id (str, optional): User ID
    - username (str, optional): Username
    
    Returns:
    requests.Response: Avatar URL
    """

def users_set_avatar(self, avatar_url, **kwargs):
    """
    Set user avatar.
    
    Parameters:
    - avatar_url (str): Avatar image URL
    - userId (str, optional): User ID (admin only)
    - username (str, optional): Username (admin only)
    
    Returns:
    requests.Response: Avatar set result
    """

def users_reset_avatar(self, user_id=None, username=None, **kwargs):
    """
    Reset user avatar to default.
    
    Parameters:
    - user_id (str, optional): User ID
    - username (str, optional): Username
    
    Returns:
    requests.Response: Avatar reset result
    """

Authentication and Tokens

def users_create_token(self, user_id=None, username=None, **kwargs):
    """
    Create authentication token for user.
    
    Parameters:
    - user_id (str, optional): User ID
    - username (str, optional): Username
    
    Returns:
    requests.Response: Token creation result
    """

def users_forgot_password(self, email, **kwargs):
    """
    Send password reset email.
    
    Parameters:
    - email (str): User email address
    
    Returns:
    requests.Response: Password reset result
    """

User Presence and Status

def users_get_presence(self, user_id=None, username=None, **kwargs):
    """
    Get user online presence status.
    
    Parameters:
    - user_id (str, optional): User ID
    - username (str, optional): Username
    
    Returns:
    requests.Response: Presence information
    """

def users_set_status(self, message, **kwargs):
    """
    Set user status message.
    
    Parameters:
    - message (str): Status message
    - status (str, optional): Status type (online, away, busy, offline)
    
    Returns:
    requests.Response: Status update result
    """

User Preferences

def users_get_preferences(self, **kwargs):
    """
    Get user preferences.
    
    Returns:
    requests.Response: User preferences
    """

def users_set_preferences(self, user_id, data, **kwargs):
    """
    Set user preferences.
    
    Parameters:
    - user_id (str): User ID
    - data (dict): Preferences data
    
    Returns:
    requests.Response: Preferences update result
    """

User Object Structure

UserObject = {
    "_id": "str",  # User ID
    "username": "str",  # Username
    "name": "str",  # Full name
    "emails": [{  # Email addresses
        "address": "str",
        "verified": "bool"
    }],
    "status": "str",  # online, away, busy, offline
    "statusText": "str",  # Custom status message
    "active": "bool",  # Account active status
    "roles": ["str"],  # User roles
    "createdAt": "datetime",  # Account creation date
    "lastLogin": "datetime",  # Last login time
    "avatarUrl": "str",  # Avatar image URL
    "customFields": "dict",  # Custom user fields
    "settings": {  # User preferences
        "preferences": "dict"
    }
}

Usage Examples

# Create a new user
user_response = rocket.users_create(
    email='john.doe@example.com',
    name='John Doe',
    password='securepassword',
    username='john.doe',
    roles=['user'],
    active=True
)
user_id = user_response.json()['user']['_id']

# Update user information
rocket.users_update(
    user_id=user_id,
    name='John Smith',
    customFields={'department': 'Engineering'}
)

# Set user avatar
rocket.users_set_avatar('https://example.com/avatar.jpg')

# Get user presence
presence = rocket.users_get_presence(username='john.doe')
print(f"User is {presence.json()['presence']}")

Install with Tessl CLI

npx tessl i tessl/pypi-rocketchat-a-p-i

docs

administration.md

assets.md

channels.md

chat.md

direct-messages.md

groups.md

index.md

integrations.md

livechat.md

miscellaneous.md

permissions.md

roles.md

rooms.md

settings.md

statistics.md

subscriptions.md

teams.md

users.md

tile.json