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

teams.mddocs/

Team Management

Team-based organization features for managing collections of channels and users. Teams provide a way to organize related channels and users into logical groups with shared permissions and management.

Capabilities

Team Creation and Information

def teams_create(self, name, team_type, **kwargs):
    """
    Create a new team.
    
    Parameters:
    - name (str): Team name
    - team_type (int): Team type (0 = public, 1 = private)
    - members (list, optional): Initial team members
    - owner (str, optional): Team owner user ID
    - description (str, optional): Team description
    - broadcast (bool, optional): Broadcast team
    
    Returns:
    requests.Response: Team creation result
    """

def teams_info(self, team_id=None, team_name=None, **kwargs):
    """
    Get team information.
    
    Parameters:
    - team_id (str, optional): Team ID
    - team_name (str, optional): Team name
    
    Returns:
    requests.Response: Team information
    """

def teams_delete(self, team_id=None, team_name=None, **kwargs):
    """
    Delete a team.
    
    Parameters:
    - team_id (str, optional): Team ID
    - team_name (str, optional): Team name
    - roomsToRemove (list, optional): Rooms to remove from team
    
    Returns:
    requests.Response: Deletion result
    """

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

Team Member Management

def teams_members(self, team_id=None, team_name=None, name="", username="", **kwargs):
    """
    List team members.
    
    Parameters:
    - team_id (str, optional): Team ID
    - team_name (str, optional): Team name
    - name (str, optional): Filter by name
    - username (str, optional): Filter by username
    - offset (int, optional): Number of items to skip
    - count (int, optional): Number of items to return
    
    Returns:
    requests.Response: List of team members
    """

def teams_add_members(self, team_id=None, team_name=None, members=None, **kwargs):
    """
    Add members to team.
    
    Parameters:
    - team_id (str, optional): Team ID
    - team_name (str, optional): Team name
    - members (list): List of member objects with userId and roles
    
    Returns:
    requests.Response: Addition result
    """

def teams_remove_member(self, team_id=None, team_name=None, user_id=None, **kwargs):
    """
    Remove member from team.
    
    Parameters:
    - team_id (str, optional): Team ID
    - team_name (str, optional): Team name
    - user_id (str): User ID to remove
    - rooms (list, optional): Remove from specific rooms only
    
    Returns:
    requests.Response: Removal result
    """

def teams_update_member(self, team_id=None, team_name=None, member=None, **kwargs):
    """
    Update team member roles.
    
    Parameters:
    - team_id (str, optional): Team ID
    - team_name (str, optional): Team name
    - member (dict): Member object with userId and roles
    
    Returns:
    requests.Response: Update result
    """

Team Room Management

def teams_list_rooms(self, team_id=None, team_name=None, room_type="", name="", **kwargs):
    """
    List team rooms.
    
    Parameters:
    - team_id (str, optional): Team ID
    - team_name (str, optional): Team name
    - room_type (str, optional): Filter by room type
    - name (str, optional): Filter by room name
    - offset (int, optional): Number of items to skip
    - count (int, optional): Number of items to return
    
    Returns:
    requests.Response: List of team rooms
    """

def teams_add_rooms(self, team_id=None, team_name=None, rooms=None, **kwargs):
    """
    Add rooms to team.
    
    Parameters:
    - team_id (str, optional): Team ID
    - team_name (str, optional): Team name
    - rooms (list): List of room IDs to add
    
    Returns:
    requests.Response: Addition result
    """

def teams_remove_room(self, team_id=None, team_name=None, room_id=None, **kwargs):
    """
    Remove room from team.
    
    Parameters:
    - team_id (str, optional): Team ID
    - team_name (str, optional): Team name
    - room_id (str): Room ID to remove
    
    Returns:
    requests.Response: Removal result
    """

def teams_update_room(self, room_id, is_default, **kwargs):
    """
    Update team room settings.
    
    Parameters:
    - room_id (str): Room ID
    - is_default (bool): Set as default team room
    
    Returns:
    requests.Response: Update result
    """

Team Object Structure

TeamObject = {
    "_id": "str",  # Team ID
    "name": "str",  # Team name
    "type": "int",  # Team type (0=public, 1=private)
    "description": "str",  # Team description
    "broadcast": "bool",  # Broadcast status
    "encrypted": "bool",  # Encryption status
    "createdAt": "datetime",  # Creation timestamp
    "createdBy": "UserObject",  # Creator information
    "_updatedAt": "datetime",  # Last update timestamp
    "roomId": "str",  # Associated room ID
    "numberOfUsers": "int",  # Member count
    "rooms": "int"  # Room count
}

TeamMemberObject = {
    "_id": "str",  # Member ID
    "userId": "str",  # User ID
    "teamId": "str",  # Team ID
    "roles": ["str"],  # Member roles (owner, moderator, member)
    "createdAt": "datetime",  # Join timestamp
    "createdBy": "UserObject",  # Who added the member
    "_updatedAt": "datetime"  # Last update timestamp
}

Usage Examples

# Create a new team
team_response = rocket.teams_create(
    name='Engineering Team',
    team_type=1,  # Private team
    description='Engineering department team'
)
team_id = team_response.json()['team']['_id']

# Add members to the team
rocket.teams_add_members(
    team_id=team_id,
    members=[
        {'userId': 'user1_id', 'roles': ['member']},
        {'userId': 'user2_id', 'roles': ['moderator']}
    ]
)

# Add rooms to the team
rocket.teams_add_rooms(
    team_id=team_id,
    rooms=['room1_id', 'room2_id']
)

# List team members
members = rocket.teams_members(team_id=team_id)
print(f"Team has {len(members.json()['members'])} members")

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