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
—
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.
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
"""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
"""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
"""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
}# 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