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
—
One-on-one and multi-user direct messaging capabilities. Provides private communication channels between users with message history, file sharing, and conversation management.
def im_create(self, username, **kwargs):
"""
Create direct message session with a user.
Parameters:
- username (str): Username to create DM with
Returns:
requests.Response: DM creation result
"""
def im_create_multiple(self, usernames, **kwargs):
"""
Create group direct message with multiple users.
Parameters:
- usernames (list): List of usernames for group DM
Returns:
requests.Response: Group DM creation result
"""def im_list(self, **kwargs):
"""
List user's direct messages.
Parameters:
- offset (int, optional): Number of items to skip
- count (int, optional): Number of items to return
- sort (dict, optional): Sort criteria
Returns:
requests.Response: List of direct messages
"""
def im_list_everyone(self, **kwargs):
"""
List all direct messages (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 DMs
"""def im_history(self, room_id, **kwargs):
"""
Get direct message history.
Parameters:
- room_id (str): DM room ID
- latest (str, optional): Latest message timestamp
- oldest (str, optional): Oldest message timestamp
- count (int, optional): Number of messages
- unreads (bool, optional): Include unread messages
Returns:
requests.Response: Message history
"""
def im_messages(self, room_id=None, username=None, **kwargs):
"""
Get direct messages by username.
Parameters:
- room_id (str, optional): Room ID
- username (str, optional): Username
- offset (int, optional): Number of items to skip
- count (int, optional): Number of items to return
Returns:
requests.Response: Messages
"""
def im_messages_others(self, room_id, **kwargs):
"""
Get messages from any DM (admin only).
Parameters:
- room_id (str): Room ID
- offset (int, optional): Number of items to skip
- count (int, optional): Number of items to return
Returns:
requests.Response: Messages
"""def im_open(self, room_id, **kwargs):
"""
Open direct message for user.
Parameters:
- room_id (str): DM room ID
Returns:
requests.Response: Open result
"""
def im_close(self, room_id, **kwargs):
"""
Close direct message for user.
Parameters:
- room_id (str): DM room ID
Returns:
requests.Response: Close result
"""
def im_set_topic(self, room_id, topic, **kwargs):
"""
Set direct message topic.
Parameters:
- room_id (str): DM room ID
- topic (str): Topic text
Returns:
requests.Response: Update result
"""def im_members(self, room_id):
"""
Get direct message members.
Parameters:
- room_id (str): DM room ID
Returns:
requests.Response: List of members
"""
def im_files(self, room_id=None, user_name=None, **kwargs):
"""
List files in direct message.
Parameters:
- room_id (str, optional): Room ID
- user_name (str, optional): Username
- offset (int, optional): Number of items to skip
- count (int, optional): Number of items to return
Returns:
requests.Response: List of files
"""
def im_counters(self, room_id, user_name=None):
"""
Get direct message counters.
Parameters:
- room_id (str): Room ID
- user_name (str, optional): Username
Returns:
requests.Response: DM statistics
"""# Create a direct message
dm_response = rocket.im_create('john.doe')
room_id = dm_response.json()['room']['_id']
# Send message to the DM
rocket.chat_post_message(
text="Hello John!",
room_id=room_id
)
# Get DM history
history = rocket.im_history(room_id, count=20)Install with Tessl CLI
npx tessl i tessl/pypi-rocketchat-a-p-i