channels
Classes
ChannelsClient
ChannelsClient(client: OWUIClientBase)
Bases: ResourceBase
- Code Reference client Classes OpenWebUI Attributes channels
Source code in src/owui_client/client_base.py
Functions
list
list() -> List[ChannelListItemResponse]
Get list of channels for the current user.
Returns:
| Type | Description |
|---|---|
List[ChannelListItemResponse]
|
List[ChannelListItemResponse]: A list of channels with additional user stats (last message, unread count). |
Source code in src/owui_client/routers/channels.py
list_all
list_all() -> List[ChannelModel]
Get all channels available to the user.
For admins, this returns all channels. For regular users, this returns channels they are a member of.
Returns:
| Type | Description |
|---|---|
List[ChannelModel]
|
List[ChannelModel]: A list of basic channel models. |
Source code in src/owui_client/routers/channels.py
get_dm_by_user
get_dm_by_user(user_id: str) -> Optional[ChannelModel]
Get or create a DM channel with a specific user.
If a DM channel already exists, it is returned. If not, a new one is created.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_id
|
str
|
The ID of the user to start a DM with. |
required |
Returns:
| Type | Description |
|---|---|
Optional[ChannelModel]
|
Optional[ChannelModel]: The DM channel model. |
Source code in src/owui_client/routers/channels.py
create
create(
form_data: CreateChannelForm,
) -> Optional[ChannelModel]
Create a new channel.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
form_data
|
CreateChannelForm
|
The form data for creating the channel (name, type, members, etc.). |
required |
Returns:
| Type | Description |
|---|---|
Optional[ChannelModel]
|
Optional[ChannelModel]: The created channel model, or None if creation failed. |
Source code in src/owui_client/routers/channels.py
get
get(id: str) -> Optional[ChannelFullResponse]
Get detailed channel information by ID.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
Returns:
| Type | Description |
|---|---|
Optional[ChannelFullResponse]
|
Optional[ChannelFullResponse]: Detailed channel info including members and user permissions. |
Source code in src/owui_client/routers/channels.py
get_members
get_members(
id: str,
query: Optional[str] = None,
order_by: Optional[str] = None,
direction: Optional[str] = None,
page: Optional[int] = 1,
) -> UserListResponse
Get members of a channel.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
query
|
Optional[str]
|
Optional search query for filtering members. |
None
|
order_by
|
Optional[str]
|
Field to order by. |
None
|
direction
|
Optional[str]
|
Sort direction ('asc' or 'desc'). |
None
|
page
|
Optional[int]
|
Page number for pagination. |
1
|
Returns:
| Type | Description |
|---|---|
UserListResponse
|
|
Source code in src/owui_client/routers/channels.py
update_member_active_status
Update the active status of the current user in the channel.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
is_active
|
bool
|
The new active status. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
bool |
bool
|
True if successful. |
Source code in src/owui_client/routers/channels.py
add_members
add_members(
id: str,
user_ids: List[str] = [],
group_ids: List[str] = [],
) -> List[ChannelMemberModel]
Add members to a channel.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
user_ids
|
List[str]
|
List of user IDs to add. |
[]
|
group_ids
|
List[str]
|
List of group IDs to add. |
[]
|
Returns:
| Type | Description |
|---|---|
List[ChannelMemberModel]
|
List[ChannelMemberModel]: List of added memberships. |
Source code in src/owui_client/routers/channels.py
remove_members
Remove members from a channel.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
user_ids
|
List[str]
|
List of user IDs to remove. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
int |
int
|
The number of members removed. |
Source code in src/owui_client/routers/channels.py
update
update(
id: str, form_data: ChannelForm
) -> Optional[ChannelModel]
Update a channel by ID.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
form_data
|
ChannelForm
|
The update form data. |
required |
Returns:
| Type | Description |
|---|---|
Optional[ChannelModel]
|
Optional[ChannelModel]: The updated channel model. |
Source code in src/owui_client/routers/channels.py
delete
Delete a channel by ID.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
bool |
bool
|
True if successful. |
Source code in src/owui_client/routers/channels.py
get_messages
get_messages(
id: str, skip: int = 0, limit: int = 50
) -> List[MessageUserResponse]
Get messages from a channel.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
skip
|
int
|
Number of messages to skip. |
0
|
limit
|
int
|
Number of messages to return. |
50
|
Returns:
| Type | Description |
|---|---|
List[MessageUserResponse]
|
List[MessageUserResponse]: List of messages with user details. |
Source code in src/owui_client/routers/channels.py
get_pinned_messages
get_pinned_messages(
id: str, page: int = 1
) -> List[MessageWithReactionsResponse]
Get pinned messages from a channel.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
page
|
int
|
Page number (1-based). |
1
|
Returns:
| Type | Description |
|---|---|
List[MessageWithReactionsResponse]
|
List[MessageWithReactionsResponse]: List of pinned messages. |
Source code in src/owui_client/routers/channels.py
post_message
post_message(
id: str, form_data: MessageForm
) -> Optional[MessageModel]
Post a new message to a channel.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
form_data
|
MessageForm
|
The message content and metadata. |
required |
Returns:
| Type | Description |
|---|---|
Optional[MessageModel]
|
Optional[MessageModel]: The created message model. |
Source code in src/owui_client/routers/channels.py
get_message
get_message(
id: str, message_id: str
) -> Optional[MessageUserResponse]
Get a specific message by ID.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
message_id
|
str
|
The message ID. |
required |
Returns:
| Type | Description |
|---|---|
Optional[MessageUserResponse]
|
Optional[MessageUserResponse]: The message details. |
Source code in src/owui_client/routers/channels.py
pin_message
pin_message(
id: str, message_id: str, is_pinned: bool
) -> Optional[MessageUserResponse]
Pin or unpin a message.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
message_id
|
str
|
The message ID. |
required |
is_pinned
|
bool
|
True to pin, False to unpin. |
required |
Returns:
| Type | Description |
|---|---|
Optional[MessageUserResponse]
|
Optional[MessageUserResponse]: The updated message details. |
Source code in src/owui_client/routers/channels.py
get_thread_messages
get_thread_messages(
id: str, message_id: str, skip: int = 0, limit: int = 50
) -> List[MessageUserResponse]
Get thread messages for a specific message.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
message_id
|
str
|
The parent message ID. |
required |
skip
|
int
|
Number of messages to skip. |
0
|
limit
|
int
|
Number of messages to return. |
50
|
Returns:
| Type | Description |
|---|---|
List[MessageUserResponse]
|
List[MessageUserResponse]: List of thread messages. |
Source code in src/owui_client/routers/channels.py
update_message
update_message(
id: str, message_id: str, form_data: MessageForm
) -> Optional[MessageModel]
Update a message.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
message_id
|
str
|
The message ID. |
required |
form_data
|
MessageForm
|
The update form data. |
required |
Returns:
| Type | Description |
|---|---|
Optional[MessageModel]
|
Optional[MessageModel]: The updated message model. |
Source code in src/owui_client/routers/channels.py
add_reaction
Add a reaction to a message.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
message_id
|
str
|
The message ID. |
required |
reaction_name
|
str
|
The name of the reaction (e.g. emoji or shortcode). |
required |
Returns:
| Name | Type | Description |
|---|---|---|
bool |
bool
|
True if successful. |
Source code in src/owui_client/routers/channels.py
remove_reaction
Remove a reaction from a message.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
message_id
|
str
|
The message ID. |
required |
reaction_name
|
str
|
The name of the reaction to remove. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
bool |
bool
|
True if successful. |
Source code in src/owui_client/routers/channels.py
delete_message
Delete a message.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
message_id
|
str
|
The message ID. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
bool |
bool
|
True if successful. |