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

administration.mddocs/

Administration

Server administration and configuration management including settings, permissions, roles, statistics, and integration management. Requires appropriate administrative permissions for most operations.

Capabilities

Server Settings

def settings_get(self, _id, **kwargs):
    """
    Get server setting by ID.
    
    Parameters:
    - _id (str): Setting ID
    
    Returns:
    requests.Response: Setting value
    """

def settings_update(self, _id, value, **kwargs):
    """
    Update server setting.
    
    Parameters:
    - _id (str): Setting ID
    - value: New setting value
    
    Returns:
    requests.Response: Update result
    """

def settings(self, **kwargs):
    """
    List all private settings (admin only).
    
    Parameters:
    - offset (int, optional): Number of items to skip
    - count (int, optional): Number of items to return
    
    Returns:
    requests.Response: List of settings
    """

def settings_public(self, **kwargs):
    """
    List public settings.
    
    Returns:
    requests.Response: List of public settings
    """

def settings_oauth(self, **kwargs):
    """
    List OAuth service configurations.
    
    Returns:
    requests.Response: OAuth services
    """

def settings_addcustomoauth(self, name, **kwargs):
    """
    Add custom OAuth service.
    
    Parameters:
    - name (str): OAuth service name
    
    Returns:
    requests.Response: Addition result
    """

Permissions Management

def permissions_list_all(self, **kwargs):
    """
    List all server permissions.
    
    Parameters:
    - updatedSince (str, optional): Filter by update date
    
    Returns:
    requests.Response: List of permissions
    """

def permissions_update(self, permissions, **kwargs):
    """
    Update server permissions.
    
    Parameters:
    - permissions (list): List of permission objects to update
    
    Returns:
    requests.Response: Update result
    """

Role Management

def roles_list(self, **kwargs):
    """
    List all server roles.
    
    Returns:
    requests.Response: List of roles
    """

def roles_create(self, name, **kwargs):
    """
    Create a new role.
    
    Parameters:
    - name (str): Role name
    - scope (str, optional): Role scope ('Global' or 'Rooms')
    - description (str, optional): Role description
    
    Returns:
    requests.Response: Role creation result
    """

def roles_add_user_to_role(self, role_name, username, **kwargs):
    """
    Assign role to user.
    
    Parameters:
    - role_name (str): Role name
    - username (str): Username
    - roomId (str, optional): Room ID for room-scoped roles
    
    Returns:
    requests.Response: Assignment result
    """

def roles_remove_user_from_role(self, role_name, username, **kwargs):
    """
    Remove role from user.
    
    Parameters:
    - role_name (str): Role name
    - username (str): Username
    - roomId (str, optional): Room ID for room-scoped roles
    
    Returns:
    requests.Response: Removal result
    """

def roles_get_users_in_role(self, role, **kwargs):
    """
    Get users with specific role.
    
    Parameters:
    - role (str): Role name
    - roomId (str, optional): Room ID for room-scoped roles
    - offset (int, optional): Number of items to skip
    - count (int, optional): Number of items to return
    
    Returns:
    requests.Response: List of users with role
    """

def roles_sync(self, updated_since):
    """
    Sync roles updated since date.
    
    Parameters:
    - updated_since (str): ISO date string
    
    Returns:
    requests.Response: Updated roles
    """

Statistics and Monitoring

def statistics(self, **kwargs):
    """
    Get server statistics.
    
    Parameters:
    - refresh (bool, optional): Force refresh statistics
    
    Returns:
    requests.Response: Server statistics
    """

def statistics_list(self, **kwargs):
    """
    Get selectable statistics.
    
    Parameters:
    - offset (int, optional): Number of items to skip
    - count (int, optional): Number of items to return
    
    Returns:
    requests.Response: Available statistics
    """

Integration Management

def integrations_create(self, integrations_type, name, enabled, username, channel, script_enabled, event=None, urls=None, **kwargs):
    """
    Create server integration.
    
    Parameters:
    - integrations_type (str): Integration type ('webhook-incoming' or 'webhook-outgoing')
    - name (str): Integration name
    - enabled (bool): Enable integration
    - username (str): Username for integration
    - channel (str): Target channel
    - script_enabled (bool): Enable script
    - event (str, optional): Trigger event
    - urls (list, optional): Webhook URLs
    - scriptEngine (str, optional): Script engine
    - script (str, optional): Integration script
    
    Returns:
    requests.Response: Integration creation result
    """

def integrations_get(self, integration_id, **kwargs):
    """
    Get integration by ID.
    
    Parameters:
    - integration_id (str): Integration ID
    
    Returns:
    requests.Response: Integration details
    """

def integrations_list(self, **kwargs):
    """
    List all integrations.
    
    Parameters:
    - offset (int, optional): Number of items to skip
    - count (int, optional): Number of items to return
    
    Returns:
    requests.Response: List of integrations
    """

def integrations_update(self, integrations_type, name, enabled, username, channel, script_enabled, integration_id, **kwargs):
    """
    Update existing integration.
    
    Parameters:
    - integrations_type (str): Integration type
    - name (str): Integration name
    - enabled (bool): Enable integration
    - username (str): Username for integration
    - channel (str): Target channel
    - script_enabled (bool): Enable script
    - integration_id (str): Integration ID to update
    
    Returns:
    requests.Response: Update result
    """

def integrations_remove(self, integrations_type, integration_id, **kwargs):
    """
    Remove integration.
    
    Parameters:
    - integrations_type (str): Integration type
    - integration_id (str): Integration ID to remove
    
    Returns:
    requests.Response: Removal result
    """

def integrations_history(self, integration_id, **kwargs):
    """
    Get integration execution history.
    
    Parameters:
    - integration_id (str): Integration ID
    - offset (int, optional): Number of items to skip
    - count (int, optional): Number of items to return
    
    Returns:
    requests.Response: Integration history
    """

Room Administration

def rooms_get(self, **kwargs):
    """
    Get all rooms user has access to.
    
    Parameters:
    - updatedSince (str, optional): Filter by update date
    
    Returns:
    requests.Response: List of rooms
    """

def rooms_admin_rooms(self, **kwargs):
    """
    Get all rooms (admin only).
    
    Parameters:
    - types (list, optional): Room types to include
    - filter (str, optional): Filter criteria
    - offset (int, optional): Number of items to skip
    - count (int, optional): Number of items to return
    
    Returns:
    requests.Response: List of all rooms
    """

def rooms_clean_history(self, room_id, latest, oldest, **kwargs):
    """
    Clean room message history.
    
    Parameters:
    - room_id (str): Room ID
    - latest (str): Latest message timestamp
    - oldest (str): Oldest message timestamp
    - inclusive (bool, optional): Include boundary messages
    - limit (int, optional): Message limit
    - excludePinned (bool, optional): Exclude pinned messages
    - filesOnly (bool, optional): Delete files only
    - fromUsers (list, optional): Delete from specific users
    
    Returns:
    requests.Response: Cleanup result
    """

Asset Management

def assets_set_asset(self, asset_name, file, **kwargs):
    """
    Set server asset (logo, favicon, etc.).
    
    Parameters:
    - asset_name (str): Asset name
    - file: Asset file content
    
    Returns:
    requests.Response: Asset update result
    """

def assets_unset_asset(self, asset_name):
    """
    Remove server asset.
    
    Parameters:
    - asset_name (str): Asset name to remove
    
    Returns:
    requests.Response: Asset removal result
    """

License Management

def licenses_info(self, **kwargs):
    """
    Get server license information.
    
    Returns:
    requests.Response: License details
    """

Utility Functions

def directory(self, query, **kwargs):
    """
    Search server directory.
    
    Parameters:
    - query (str): Search query
    - count (int, optional): Number of results
    - offset (int, optional): Number of results to skip
    - sort (dict, optional): Sort criteria
    
    Returns:
    requests.Response: Search results
    """

def spotlight(self, query, **kwargs):
    """
    Search visible users and rooms.
    
    Parameters:
    - query (str): Search query
    
    Returns:
    requests.Response: Search results
    """

def service_configurations(self, **kwargs):
    """
    Get service configurations.
    
    Returns:
    requests.Response: Service configurations
    """

Usage Examples

# Get server statistics
stats = rocket.statistics()
print(f"Total users: {stats.json()['totalUsers']}")

# Create a new role
role_response = rocket.roles_create(
    name='Support Agent',
    scope='Global',
    description='Customer support role'
)

# Assign role to user
rocket.roles_add_user_to_role('Support Agent', 'john.doe')

# Update server setting
rocket.settings_update('Site_Name', 'My Rocket.Chat Server')

# Create webhook integration
integration = rocket.integrations_create(
    integrations_type='webhook-incoming',
    name='GitHub Webhook',
    enabled=True,
    username='github-bot',
    channel='#development',
    script_enabled=True
)

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