channels
Classes
ChannelMessageUserResponse
Bases: MessageResponse
Local MessageUserResponse definition for Channels router, overriding data to bool.
- Code Reference routers channels Classes ChannelsClient Functions
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[ChannelMessageUserResponse]
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[ChannelMessageUserResponse]
|
List[ChannelMessageUserResponse]: 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[MessageResponse]
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[MessageResponse]
|
Optional[MessageResponse]: The message details. |
Source code in src/owui_client/routers/channels.py
get_message_data
Get data for 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[dict]
|
Optional[dict]: The message data dictionary. |
Source code in src/owui_client/routers/channels.py
pin_message
pin_message(id: str, message_id: str, is_pinned: bool) -> Optional[ChannelMessageUserResponse]
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[ChannelMessageUserResponse]
|
Optional[ChannelMessageUserResponse]: 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[ChannelMessageUserResponse]
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[ChannelMessageUserResponse]
|
List[ChannelMessageUserResponse]: 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. |
Source code in src/owui_client/routers/channels.py
get_webhook_profile_image
Get webhook profile image by webhook ID.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
webhook_id
|
str
|
The ID of the webhook. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
bytes |
bytes
|
The image content. |
Source code in src/owui_client/routers/channels.py
get_webhooks
get_webhooks(id: str) -> List[ChannelWebhookModel]
Get all webhooks for a channel.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
Returns:
| Type | Description |
|---|---|
List[ChannelWebhookModel]
|
List[ChannelWebhookModel]: List of webhooks. |
Source code in src/owui_client/routers/channels.py
create_webhook
create_webhook(id: str, form_data: ChannelWebhookForm) -> ChannelWebhookModel
Create a new webhook for a channel.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
form_data
|
ChannelWebhookForm
|
The webhook creation form data. |
required |
Returns:
| Type | Description |
|---|---|
ChannelWebhookModel
|
|
Source code in src/owui_client/routers/channels.py
update_webhook
update_webhook(id: str, webhook_id: str, form_data: ChannelWebhookForm) -> ChannelWebhookModel
Update an existing webhook.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
webhook_id
|
str
|
The webhook ID. |
required |
form_data
|
ChannelWebhookForm
|
The update form data. |
required |
Returns:
| Type | Description |
|---|---|
ChannelWebhookModel
|
|
Source code in src/owui_client/routers/channels.py
delete_webhook
Delete a webhook.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The channel ID. |
required |
webhook_id
|
str
|
The webhook ID. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
bool |
bool
|
True if successful. |
Source code in src/owui_client/routers/channels.py
post_webhook_message
post_webhook_message(webhook_id: str, token: str, form_data: WebhookMessageForm) -> dict
Post a message via webhook (public endpoint).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
webhook_id
|
str
|
The webhook ID. |
required |
token
|
str
|
The webhook token. |
required |
form_data
|
WebhookMessageForm
|
The message content. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
dict |
dict
|
Response containing success status and message_id. |