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
—
Server permission management for controlling user capabilities and access rights within Rocket.Chat. Allows querying and updating permission settings.
def permissions_list_all(self, **kwargs):
"""
List all permissions in the system.
Parameters:
- updatedSince (str, optional): ISO date string to get permissions updated since
Returns:
requests.Response: List of all system permissions
"""
def permissions_update(self, permissions, **kwargs):
"""
Update permission settings.
Parameters:
- permissions (list): List of permission objects to update
Returns:
requests.Response: Permission update result
"""PermissionObject = {
"_id": "str", # Permission ID
"roles": ["str"], # Roles that have this permission
"level": "str", # Permission level (settings, rooms, etc.)
"settingId": "str", # Related setting ID
"group": "str", # Permission group
"section": "str", # Permission section
"sorter": "int", # Sort order
"properties": "dict", # Additional properties
"_updatedAt": "datetime" # Last update timestamp
}# List all permissions
permissions = rocket.permissions_list_all()
print(f"Total permissions: {len(permissions.json()['permissions'])}")
# Find specific permission
all_perms = permissions.json()['permissions']
chat_perms = [p for p in all_perms if 'message' in p['_id'].lower()]
print(f"Message-related permissions: {len(chat_perms)}")
# Update permissions (admin required)
permission_updates = [
{
"_id": "post-readonly",
"roles": ["admin", "moderator", "owner"]
}
]
result = rocket.permissions_update(permission_updates)
print("Permissions updated:", result.json())Install with Tessl CLI
npx tessl i tessl/pypi-rocketchat-a-p-i