cohit's picture
Upload folder using huggingface_hub
0827183 verified
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
from typing import List
from msrest.serialization import Model
from botbuilder.schema import (
Attachment,
ChannelAccount,
PagedMembersResult,
ConversationAccount,
)
class TabEntityContext(Model):
"""
Current TabRequest entity context, or 'tabEntityId'.
:param tab_entity_id: Gets or sets the entity id of the tab.
:type tab_entity_id: str
"""
_attribute_map = {
"tab_entity_id": {"key": "tabEntityId", "type": "str"},
}
def __init__(self, *, tab_entity_id=None, **kwargs) -> None:
super(TabEntityContext, self).__init__(**kwargs)
self.tab_entity_id = tab_entity_id
self._custom_init()
def _custom_init(self):
return
class TaskModuleRequest(Model):
"""Task module invoke request value payload.
:param data: User input data. Free payload with key-value pairs.
:type data: object
:param context: Current user context, i.e., the current theme
:type context:
~botframework.connector.teams.models.TaskModuleRequestContext
:param tab_entity_context: Gets or sets current tab request context.
:type tab_entity_context:
~botframework.connector.teams.models.TabEntityContext
"""
_attribute_map = {
"data": {"key": "data", "type": "object"},
"context": {"key": "context", "type": "TaskModuleRequestContext"},
"tab_entity_context": {"key": "tabContext", "type": "TabEntityContext"},
}
def __init__(
self, *, data=None, context=None, tab_entity_context=None, **kwargs
) -> None:
super(TaskModuleRequest, self).__init__(**kwargs)
self.data = data
self.context = context
self.tab_entity_context = tab_entity_context
class AppBasedLinkQuery(Model):
"""Invoke request body type for app-based link query.
:param url: Url queried by user
:type url: str
:param state: The magic code for OAuth Flow
:type state: str
"""
_attribute_map = {
"url": {"key": "url", "type": "str"},
"state": {"key": "state", "type": "str"},
}
def __init__(self, *, url: str = None, state: str = None, **kwargs) -> None:
super(AppBasedLinkQuery, self).__init__(**kwargs)
self.url = url
self.state = state
class ChannelInfo(Model):
"""A channel info object which describes the channel.
:param id: Unique identifier representing a channel
:type id: str
:param name: Name of the channel
:type name: str
"""
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
}
def __init__(self, *, id: str = None, name: str = None, **kwargs) -> None:
super(ChannelInfo, self).__init__(**kwargs)
self.id = id
self.name = name
class CacheInfo(Model):
"""A cache info object which notifies Teams how long an object should be cached for.
:param cache_type: Type of Cache Info
:type cache_type: str
:param cache_duration: Duration of the Cached Info.
:type cache_duration: int
"""
_attribute_map = {
"cache_type": {"key": "cacheType", "type": "str"},
"cache_duration": {"key": "cacheDuration", "type": "int"},
}
def __init__(
self, *, cache_type: str = None, cache_duration: int = None, **kwargs
) -> None:
super(CacheInfo, self).__init__(**kwargs)
self.cache_type = cache_type
self.cache_duration = cache_duration
class ConversationList(Model):
"""List of channels under a team.
:param conversations:
:type conversations:
list[~botframework.connector.teams.models.ChannelInfo]
"""
_attribute_map = {
"conversations": {"key": "conversations", "type": "[ChannelInfo]"},
}
def __init__(self, *, conversations=None, **kwargs) -> None:
super(ConversationList, self).__init__(**kwargs)
self.conversations = conversations
class FileConsentCard(Model):
"""File consent card attachment.
:param description: File description.
:type description: str
:param size_in_bytes: Size of the file to be uploaded in Bytes.
:type size_in_bytes: long
:param accept_context: Context sent back to the Bot if user consented to
upload. This is free flow schema and is sent back in Value field of
Activity.
:type accept_context: object
:param decline_context: Context sent back to the Bot if user declined.
This is free flow schema and is sent back in Value field of Activity.
:type decline_context: object
"""
_attribute_map = {
"description": {"key": "description", "type": "str"},
"size_in_bytes": {"key": "sizeInBytes", "type": "long"},
"accept_context": {"key": "acceptContext", "type": "object"},
"decline_context": {"key": "declineContext", "type": "object"},
}
def __init__(
self,
*,
description: str = None,
size_in_bytes: int = None,
accept_context=None,
decline_context=None,
**kwargs
) -> None:
super(FileConsentCard, self).__init__(**kwargs)
self.description = description
self.size_in_bytes = size_in_bytes
self.accept_context = accept_context
self.decline_context = decline_context
class FileConsentCardResponse(Model):
"""Represents the value of the invoke activity sent when the user acts on a
file consent card.
:param action: The action the user took. Possible values include:
'accept', 'decline'
:type action: str
:param context: The context associated with the action.
:type context: object
:param upload_info: If the user accepted the file, contains information
about the file to be uploaded.
:type upload_info: ~botframework.connector.teams.models.FileUploadInfo
"""
_attribute_map = {
"action": {"key": "action", "type": "str"},
"context": {"key": "context", "type": "object"},
"upload_info": {"key": "uploadInfo", "type": "FileUploadInfo"},
}
def __init__(
self, *, action=None, context=None, upload_info=None, **kwargs
) -> None:
super(FileConsentCardResponse, self).__init__(**kwargs)
self.action = action
self.context = context
self.upload_info = upload_info
class FileDownloadInfo(Model):
"""File download info attachment.
:param download_url: File download url.
:type download_url: str
:param unique_id: Unique Id for the file.
:type unique_id: str
:param file_type: Type of file.
:type file_type: str
:param etag: ETag for the file.
:type etag: object
"""
_attribute_map = {
"download_url": {"key": "downloadUrl", "type": "str"},
"unique_id": {"key": "uniqueId", "type": "str"},
"file_type": {"key": "fileType", "type": "str"},
"etag": {"key": "etag", "type": "object"},
}
def __init__(
self,
*,
download_url: str = None,
unique_id: str = None,
file_type: str = None,
etag=None,
**kwargs
) -> None:
super(FileDownloadInfo, self).__init__(**kwargs)
self.download_url = download_url
self.unique_id = unique_id
self.file_type = file_type
self.etag = etag
class FileInfoCard(Model):
"""File info card.
:param unique_id: Unique Id for the file.
:type unique_id: str
:param file_type: Type of file.
:type file_type: str
:param etag: ETag for the file.
:type etag: object
"""
_attribute_map = {
"unique_id": {"key": "uniqueId", "type": "str"},
"file_type": {"key": "fileType", "type": "str"},
"etag": {"key": "etag", "type": "object"},
}
def __init__(
self, *, unique_id: str = None, file_type: str = None, etag=None, **kwargs
) -> None:
super(FileInfoCard, self).__init__(**kwargs)
self.unique_id = unique_id
self.file_type = file_type
self.etag = etag
class FileUploadInfo(Model):
"""Information about the file to be uploaded.
:param name: Name of the file.
:type name: str
:param upload_url: URL to an upload session that the bot can use to set
the file contents.
:type upload_url: str
:param content_url: URL to file.
:type content_url: str
:param unique_id: ID that uniquely identifies the file.
:type unique_id: str
:param file_type: Type of the file.
:type file_type: str
"""
_attribute_map = {
"name": {"key": "name", "type": "str"},
"upload_url": {"key": "uploadUrl", "type": "str"},
"content_url": {"key": "contentUrl", "type": "str"},
"unique_id": {"key": "uniqueId", "type": "str"},
"file_type": {"key": "fileType", "type": "str"},
}
def __init__(
self,
*,
name: str = None,
upload_url: str = None,
content_url: str = None,
unique_id: str = None,
file_type: str = None,
**kwargs
) -> None:
super(FileUploadInfo, self).__init__(**kwargs)
self.name = name
self.upload_url = upload_url
self.content_url = content_url
self.unique_id = unique_id
self.file_type = file_type
class MessageActionsPayloadApp(Model):
"""Represents an application entity.
:param application_identity_type: The type of application. Possible values
include: 'aadApplication', 'bot', 'tenantBot', 'office365Connector',
'webhook'
:type application_identity_type: str or
~botframework.connector.teams.models.enum
:param id: The id of the application.
:type id: str
:param display_name: The plaintext display name of the application.
:type display_name: str
"""
_attribute_map = {
"application_identity_type": {"key": "applicationIdentityType", "type": "str"},
"id": {"key": "id", "type": "str"},
"display_name": {"key": "displayName", "type": "str"},
}
def __init__(
self,
*,
application_identity_type=None,
id: str = None,
display_name: str = None,
**kwargs
) -> None:
super(MessageActionsPayloadApp, self).__init__(**kwargs)
self.application_identity_type = application_identity_type
self.id = id
self.display_name = display_name
class MessageActionsPayloadAttachment(Model):
"""Represents the attachment in a message.
:param id: The id of the attachment.
:type id: str
:param content_type: The type of the attachment.
:type content_type: str
:param content_url: The url of the attachment, in case of a external link.
:type content_url: str
:param content: The content of the attachment, in case of a code snippet,
email, or file.
:type content: object
:param name: The plaintext display name of the attachment.
:type name: str
:param thumbnail_url: The url of a thumbnail image that might be embedded
in the attachment, in case of a card.
:type thumbnail_url: str
"""
_attribute_map = {
"id": {"key": "id", "type": "str"},
"content_type": {"key": "contentType", "type": "str"},
"content_url": {"key": "contentUrl", "type": "str"},
"content": {"key": "content", "type": "object"},
"name": {"key": "name", "type": "str"},
"thumbnail_url": {"key": "thumbnailUrl", "type": "str"},
}
def __init__(
self,
*,
id: str = None,
content_type: str = None,
content_url: str = None,
content=None,
name: str = None,
thumbnail_url: str = None,
**kwargs
) -> None:
super(MessageActionsPayloadAttachment, self).__init__(**kwargs)
self.id = id
self.content_type = content_type
self.content_url = content_url
self.content = content
self.name = name
self.thumbnail_url = thumbnail_url
class MessageActionsPayloadBody(Model):
"""Plaintext/HTML representation of the content of the message.
:param content_type: Type of the content. Possible values include: 'html',
'text'
:type content_type: str
:param content: The content of the body.
:type content: str
"""
_attribute_map = {
"content_type": {"key": "contentType", "type": "str"},
"content": {"key": "content", "type": "str"},
}
def __init__(self, *, content_type=None, content: str = None, **kwargs) -> None:
super(MessageActionsPayloadBody, self).__init__(**kwargs)
self.content_type = content_type
self.content = content
class MessageActionsPayloadConversation(Model):
"""Represents a team or channel entity.
:param conversation_identity_type: The type of conversation, whether a
team or channel. Possible values include: 'team', 'channel'
:type conversation_identity_type: str or
~botframework.connector.teams.models.enum
:param id: The id of the team or channel.
:type id: str
:param display_name: The plaintext display name of the team or channel
entity.
:type display_name: str
"""
_attribute_map = {
"conversation_identity_type": {
"key": "conversationIdentityType",
"type": "str",
},
"id": {"key": "id", "type": "str"},
"display_name": {"key": "displayName", "type": "str"},
}
def __init__(
self,
*,
conversation_identity_type=None,
id: str = None,
display_name: str = None,
**kwargs
) -> None:
super(MessageActionsPayloadConversation, self).__init__(**kwargs)
self.conversation_identity_type = conversation_identity_type
self.id = id
self.display_name = display_name
class MessageActionsPayloadFrom(Model):
"""Represents a user, application, or conversation type that either sent or
was referenced in a message.
:param user: Represents details of the user.
:type user: ~botframework.connector.teams.models.MessageActionsPayloadUser
:param application: Represents details of the app.
:type application:
~botframework.connector.teams.models.MessageActionsPayloadApp
:param conversation: Represents details of the converesation.
:type conversation:
~botframework.connector.teams.models.MessageActionsPayloadConversation
"""
_attribute_map = {
"user": {"key": "user", "type": "MessageActionsPayloadUser"},
"application": {"key": "application", "type": "MessageActionsPayloadApp"},
"conversation": {
"key": "conversation",
"type": "MessageActionsPayloadConversation",
},
}
def __init__(
self, *, user=None, application=None, conversation=None, **kwargs
) -> None:
super(MessageActionsPayloadFrom, self).__init__(**kwargs)
self.user = user
self.application = application
self.conversation = conversation
class MessageActionsPayloadMention(Model):
"""Represents the entity that was mentioned in the message.
:param id: The id of the mentioned entity.
:type id: int
:param mention_text: The plaintext display name of the mentioned entity.
:type mention_text: str
:param mentioned: Provides more details on the mentioned entity.
:type mentioned:
~botframework.connector.teams.models.MessageActionsPayloadFrom
"""
_attribute_map = {
"id": {"key": "id", "type": "int"},
"mention_text": {"key": "mentionText", "type": "str"},
"mentioned": {"key": "mentioned", "type": "MessageActionsPayloadFrom"},
}
def __init__(
self, *, id: int = None, mention_text: str = None, mentioned=None, **kwargs
) -> None:
super(MessageActionsPayloadMention, self).__init__(**kwargs)
self.id = id
self.mention_text = mention_text
self.mentioned = mentioned
class MessageActionsPayloadReaction(Model):
"""Represents the reaction of a user to a message.
:param reaction_type: The type of reaction given to the message. Possible
values include: 'like', 'heart', 'laugh', 'surprised', 'sad', 'angry'
:type reaction_type: str
:param created_date_time: Timestamp of when the user reacted to the
message.
:type created_date_time: str
:param user: The user with which the reaction is associated.
:type user: ~botframework.connector.teams.models.MessageActionsPayloadFrom
"""
_attribute_map = {
"reaction_type": {"key": "reactionType", "type": "str"},
"created_date_time": {"key": "createdDateTime", "type": "str"},
"user": {"key": "user", "type": "MessageActionsPayloadFrom"},
}
def __init__(
self, *, reaction_type=None, created_date_time: str = None, user=None, **kwargs
) -> None:
super(MessageActionsPayloadReaction, self).__init__(**kwargs)
self.reaction_type = reaction_type
self.created_date_time = created_date_time
self.user = user
class MessageActionsPayloadUser(Model):
"""Represents a user entity.
:param user_identity_type: The identity type of the user. Possible values
include: 'aadUser', 'onPremiseAadUser', 'anonymousGuest', 'federatedUser'
:type user_identity_type: str
:param id: The id of the user.
:type id: str
:param display_name: The plaintext display name of the user.
:type display_name: str
"""
_attribute_map = {
"user_identity_type": {"key": "userIdentityType", "type": "str"},
"id": {"key": "id", "type": "str"},
"display_name": {"key": "displayName", "type": "str"},
}
def __init__(
self,
*,
user_identity_type=None,
id: str = None,
display_name: str = None,
**kwargs
) -> None:
super(MessageActionsPayloadUser, self).__init__(**kwargs)
self.user_identity_type = user_identity_type
self.id = id
self.display_name = display_name
class MessageActionsPayload(Model):
"""Represents the individual message within a chat or channel where a message
actions is taken.
:param id: Unique id of the message.
:type id: str
:param reply_to_id: Id of the parent/root message of the thread.
:type reply_to_id: str
:param message_type: Type of message - automatically set to message.
Possible values include: 'message'
:type message_type: str
:param created_date_time: Timestamp of when the message was created.
:type created_date_time: str
:param last_modified_date_time: Timestamp of when the message was edited
or updated.
:type last_modified_date_time: str
:param deleted: Indicates whether a message has been soft deleted.
:type deleted: bool
:param subject: Subject line of the message.
:type subject: str
:param summary: Summary text of the message that could be used for
notifications.
:type summary: str
:param importance: The importance of the message. Possible values include:
'normal', 'high', 'urgent'
:type importance: str
:param locale: Locale of the message set by the client.
:type locale: str
:param link_to_message: Link back to the message.
:type link_to_message: str
:param from_property: Sender of the message.
:type from_property:
~botframework.connector.teams.models.MessageActionsPayloadFrom
:param body: Plaintext/HTML representation of the content of the message.
:type body: ~botframework.connector.teams.models.MessageActionsPayloadBody
:param attachment_layout: How the attachment(s) are displayed in the
message.
:type attachment_layout: str
:param attachments: Attachments in the message - card, image, file, etc.
:type attachments:
list[~botframework.connector.teams.models.MessageActionsPayloadAttachment]
:param mentions: List of entities mentioned in the message.
:type mentions:
list[~botframework.connector.teams.models.MessageActionsPayloadMention]
:param reactions: Reactions for the message.
:type reactions:
list[~botframework.connector.teams.models.MessageActionsPayloadReaction]
"""
_attribute_map = {
"id": {"key": "id", "type": "str"},
"reply_to_id": {"key": "replyToId", "type": "str"},
"message_type": {"key": "messageType", "type": "str"},
"created_date_time": {"key": "createdDateTime", "type": "str"},
"last_modified_date_time": {"key": "lastModifiedDateTime", "type": "str"},
"deleted": {"key": "deleted", "type": "bool"},
"subject": {"key": "subject", "type": "str"},
"summary": {"key": "summary", "type": "str"},
"importance": {"key": "importance", "type": "str"},
"locale": {"key": "locale", "type": "str"},
"link_to_message": {"key": "linkToMessage", "type": "str"},
"from_property": {"key": "from", "type": "MessageActionsPayloadFrom"},
"body": {"key": "body", "type": "MessageActionsPayloadBody"},
"attachment_layout": {"key": "attachmentLayout", "type": "str"},
"attachments": {
"key": "attachments",
"type": "[MessageActionsPayloadAttachment]",
},
"mentions": {"key": "mentions", "type": "[MessageActionsPayloadMention]"},
"reactions": {"key": "reactions", "type": "[MessageActionsPayloadReaction]"},
}
def __init__(
self,
*,
id: str = None,
reply_to_id: str = None,
message_type=None,
created_date_time: str = None,
last_modified_date_time: str = None,
deleted: bool = None,
subject: str = None,
summary: str = None,
importance=None,
locale: str = None,
link_to_message: str = None,
from_property=None,
body=None,
attachment_layout: str = None,
attachments=None,
mentions=None,
reactions=None,
**kwargs
) -> None:
super(MessageActionsPayload, self).__init__(**kwargs)
self.id = id
self.reply_to_id = reply_to_id
self.message_type = message_type
self.created_date_time = created_date_time
self.last_modified_date_time = last_modified_date_time
self.deleted = deleted
self.subject = subject
self.summary = summary
self.importance = importance
self.locale = locale
self.link_to_message = link_to_message
self.from_property = from_property
self.body = body
self.attachment_layout = attachment_layout
self.attachments = attachments
self.mentions = mentions
self.reactions = reactions
class MessagingExtensionAction(TaskModuleRequest):
"""Messaging extension action.
:param data: User input data. Free payload with key-value pairs.
:type data: object
:param context: Current user context, i.e., the current theme
:type context:
~botframework.connector.teams.models.TaskModuleRequestContext
:param command_id: Id of the command assigned by Bot
:type command_id: str
:param command_context: The context from which the command originates.
Possible values include: 'message', 'compose', 'commandbox'
:type command_context: str
:param bot_message_preview_action: Bot message preview action taken by
user. Possible values include: 'edit', 'send'
:type bot_message_preview_action: str or
~botframework.connector.teams.models.enum
:param bot_activity_preview:
:type bot_activity_preview:
list[~botframework.schema.models.Activity]
:param message_payload: Message content sent as part of the command
request.
:type message_payload:
~botframework.connector.teams.models.MessageActionsPayload
"""
_attribute_map = {
"data": {"key": "data", "type": "object"},
"context": {"key": "context", "type": "TaskModuleRequestContext"},
"command_id": {"key": "commandId", "type": "str"},
"command_context": {"key": "commandContext", "type": "str"},
"bot_message_preview_action": {"key": "botMessagePreviewAction", "type": "str"},
"bot_activity_preview": {"key": "botActivityPreview", "type": "[Activity]"},
"message_payload": {"key": "messagePayload", "type": "MessageActionsPayload"},
}
def __init__(
self,
*,
data=None,
context=None,
command_id: str = None,
command_context=None,
bot_message_preview_action=None,
bot_activity_preview=None,
message_payload=None,
**kwargs
) -> None:
super(MessagingExtensionAction, self).__init__(
data=data, context=context, **kwargs
)
self.command_id = command_id
self.command_context = command_context
self.bot_message_preview_action = bot_message_preview_action
self.bot_activity_preview = bot_activity_preview
self.message_payload = message_payload
class MessagingExtensionActionResponse(Model):
"""Response of messaging extension action.
:param task: The JSON for the Adaptive card to appear in the task module.
:type task: ~botframework.connector.teams.models.TaskModuleResponseBase
:param compose_extension:
:type compose_extension:
~botframework.connector.teams.models.MessagingExtensionResult
:param cache_info: CacheInfo for this MessagingExtensionActionResponse.
:type cache_info: ~botframework.connector.teams.models.CacheInfo
"""
_attribute_map = {
"task": {"key": "task", "type": "TaskModuleResponseBase"},
"compose_extension": {
"key": "composeExtension",
"type": "MessagingExtensionResult",
},
"cache_info": {"key": "cacheInfo", "type": "CacheInfo"},
}
def __init__(
self,
*,
task=None,
compose_extension=None,
cache_info: CacheInfo = None,
**kwargs
) -> None:
super(MessagingExtensionActionResponse, self).__init__(**kwargs)
self.task = task
self.compose_extension = compose_extension
self.cache_info = cache_info
class MessagingExtensionAttachment(Attachment):
"""Messaging extension attachment.
:param content_type: mimetype/Contenttype for the file
:type content_type: str
:param content_url: Content Url
:type content_url: str
:param content: Embedded content
:type content: object
:param name: (OPTIONAL) The name of the attachment
:type name: str
:param thumbnail_url: (OPTIONAL) Thumbnail associated with attachment
:type thumbnail_url: str
:param preview:
:type preview: ~botframework.connector.teams.models.Attachment
"""
_attribute_map = {
"content_type": {"key": "contentType", "type": "str"},
"content_url": {"key": "contentUrl", "type": "str"},
"content": {"key": "content", "type": "object"},
"name": {"key": "name", "type": "str"},
"thumbnail_url": {"key": "thumbnailUrl", "type": "str"},
"preview": {"key": "preview", "type": "Attachment"},
}
def __init__(
self,
*,
content_type: str = None,
content_url: str = None,
content=None,
name: str = None,
thumbnail_url: str = None,
preview=None,
**kwargs
) -> None:
super(MessagingExtensionAttachment, self).__init__(
content_type=content_type,
content_url=content_url,
content=content,
name=name,
thumbnail_url=thumbnail_url,
**kwargs
)
self.preview = preview
class MessagingExtensionParameter(Model):
"""Messaging extension query parameters.
:param name: Name of the parameter
:type name: str
:param value: Value of the parameter
:type value: object
"""
_attribute_map = {
"name": {"key": "name", "type": "str"},
"value": {"key": "value", "type": "object"},
}
def __init__(self, *, name: str = None, value=None, **kwargs) -> None:
super(MessagingExtensionParameter, self).__init__(**kwargs)
self.name = name
self.value = value
class MessagingExtensionQuery(Model):
"""Messaging extension query.
:param command_id: Id of the command assigned by Bot
:type command_id: str
:param parameters: Parameters for the query
:type parameters:
list[~botframework.connector.teams.models.MessagingExtensionParameter]
:param query_options:
:type query_options:
~botframework.connector.teams.models.MessagingExtensionQueryOptions
:param state: State parameter passed back to the bot after
authentication/configuration flow
:type state: str
"""
_attribute_map = {
"command_id": {"key": "commandId", "type": "str"},
"parameters": {"key": "parameters", "type": "[MessagingExtensionParameter]"},
"query_options": {
"key": "queryOptions",
"type": "MessagingExtensionQueryOptions",
},
"state": {"key": "state", "type": "str"},
}
def __init__(
self,
*,
command_id: str = None,
parameters=None,
query_options=None,
state: str = None,
**kwargs
) -> None:
super(MessagingExtensionQuery, self).__init__(**kwargs)
self.command_id = command_id
self.parameters = parameters
self.query_options = query_options
self.state = state
class MessagingExtensionQueryOptions(Model):
"""Messaging extension query options.
:param skip: Number of entities to skip
:type skip: int
:param count: Number of entities to fetch
:type count: int
"""
_attribute_map = {
"skip": {"key": "skip", "type": "int"},
"count": {"key": "count", "type": "int"},
}
def __init__(self, *, skip: int = None, count: int = None, **kwargs) -> None:
super(MessagingExtensionQueryOptions, self).__init__(**kwargs)
self.skip = skip
self.count = count
class MessagingExtensionResponse(Model):
"""Messaging extension response.
:param compose_extension:
:type compose_extension: ~botframework.connector.teams.models.MessagingExtensionResult
:param cache_info: CacheInfo for this MessagingExtensionResponse.
:type cache_info: ~botframework.connector.teams.models.CacheInfo
"""
_attribute_map = {
"compose_extension": {
"key": "composeExtension",
"type": "MessagingExtensionResult",
},
"cache_info": {"key": "cacheInfo", "type": CacheInfo},
}
def __init__(self, *, compose_extension=None, cache_info=None, **kwargs) -> None:
super(MessagingExtensionResponse, self).__init__(**kwargs)
self.compose_extension = compose_extension
self.cache_info = cache_info
class MessagingExtensionResult(Model):
"""Messaging extension result.
:param attachment_layout: Hint for how to deal with multiple attachments.
Possible values include: 'list', 'grid'
:type attachment_layout: str
:param type: The type of the result. Possible values include: 'result',
'auth', 'config', 'message', 'botMessagePreview'
:type type: str
:param attachments: (Only when type is result) Attachments
:type attachments:
list[~botframework.connector.teams.models.MessagingExtensionAttachment]
:param suggested_actions:
:type suggested_actions:
~botframework.connector.teams.models.MessagingExtensionSuggestedAction
:param text: (Only when type is message) Text
:type text: str
:param activity_preview: (Only when type is botMessagePreview) Message
activity to preview
:type activity_preview: ~botframework.connector.teams.models.Activity
"""
_attribute_map = {
"attachment_layout": {"key": "attachmentLayout", "type": "str"},
"type": {"key": "type", "type": "str"},
"attachments": {"key": "attachments", "type": "[MessagingExtensionAttachment]"},
"suggested_actions": {
"key": "suggestedActions",
"type": "MessagingExtensionSuggestedAction",
},
"text": {"key": "text", "type": "str"},
"activity_preview": {"key": "activityPreview", "type": "Activity"},
}
def __init__(
self,
*,
attachment_layout=None,
type=None,
attachments=None,
suggested_actions=None,
text: str = None,
activity_preview=None,
**kwargs
) -> None:
super(MessagingExtensionResult, self).__init__(**kwargs)
self.attachment_layout = attachment_layout
self.type = type
self.attachments = attachments
self.suggested_actions = suggested_actions
self.text = text
self.activity_preview = activity_preview
class MessagingExtensionSuggestedAction(Model):
"""Messaging extension Actions (Only when type is auth or config).
:param actions: Actions
:type actions: list[~botframework.connector.teams.models.CardAction]
"""
_attribute_map = {
"actions": {"key": "actions", "type": "[CardAction]"},
}
def __init__(self, *, actions=None, **kwargs) -> None:
super(MessagingExtensionSuggestedAction, self).__init__(**kwargs)
self.actions = actions
class NotificationInfo(Model):
"""Specifies if a notification is to be sent for the mentions.
:param alert: true if notification is to be sent to the user, false
otherwise.
:type alert: bool
"""
_attribute_map = {
"alert": {"key": "alert", "type": "bool"},
"alert_in_meeting": {"key": "alertInMeeting", "type": "bool"},
"external_resource_url": {"key": "externalResourceUrl", "type": "str"},
}
def __init__(
self,
*,
alert: bool = None,
alert_in_meeting: bool = None,
external_resource_url: str = None,
**kwargs
) -> None:
super(NotificationInfo, self).__init__(**kwargs)
self.alert = alert
self.alert_in_meeting = alert_in_meeting
self.external_resource_url = external_resource_url
class O365ConnectorCard(Model):
"""O365 connector card.
:param title: Title of the item
:type title: str
:param text: Text for the card
:type text: str
:param summary: Summary for the card
:type summary: str
:param theme_color: Theme color for the card
:type theme_color: str
:param sections: Set of sections for the current card
:type sections:
list[~botframework.connector.teams.models.O365ConnectorCardSection]
:param potential_action: Set of actions for the current card
:type potential_action:
list[~botframework.connector.teams.models.O365ConnectorCardActionBase]
"""
_attribute_map = {
"title": {"key": "title", "type": "str"},
"text": {"key": "text", "type": "str"},
"summary": {"key": "summary", "type": "str"},
"theme_color": {"key": "themeColor", "type": "str"},
"sections": {"key": "sections", "type": "[O365ConnectorCardSection]"},
"potential_action": {
"key": "potentialAction",
"type": "[O365ConnectorCardActionBase]",
},
}
def __init__(
self,
*,
title: str = None,
text: str = None,
summary: str = None,
theme_color: str = None,
sections=None,
potential_action=None,
**kwargs
) -> None:
super(O365ConnectorCard, self).__init__(**kwargs)
self.title = title
self.text = text
self.summary = summary
self.theme_color = theme_color
self.sections = sections
self.potential_action = potential_action
class O365ConnectorCardInputBase(Model):
"""O365 connector card input for ActionCard action.
:param type: Input type name. Possible values include: 'textInput',
'dateInput', 'multichoiceInput'
:type type: str
:param id: Input Id. It must be unique per entire O365 connector card.
:type id: str
:param is_required: Define if this input is a required field. Default
value is false.
:type is_required: bool
:param title: Input title that will be shown as the placeholder
:type title: str
:param value: Default value for this input field
:type value: str
"""
_attribute_map = {
"type": {"key": "@type", "type": "str"},
"id": {"key": "id", "type": "str"},
"is_required": {"key": "isRequired", "type": "bool"},
"title": {"key": "title", "type": "str"},
"value": {"key": "value", "type": "str"},
}
def __init__(
self,
*,
type=None,
id: str = None,
is_required: bool = None,
title: str = None,
value: str = None,
**kwargs
) -> None:
super(O365ConnectorCardInputBase, self).__init__(**kwargs)
self.type = type
self.id = id
self.is_required = is_required
self.title = title
self.value = value
class O365ConnectorCardActionBase(Model):
"""O365 connector card action base.
:param type: Type of the action. Possible values include: 'ViewAction',
'OpenUri', 'HttpPOST', 'ActionCard'
:type type: str
:param name: Name of the action that will be used as button title
:type name: str
:param id: Action Id
:type id: str
"""
_attribute_map = {
"type": {"key": "@type", "type": "str"},
"name": {"key": "name", "type": "str"},
"id": {"key": "@id", "type": "str"},
}
def __init__(
self, *, type=None, name: str = None, id: str = None, **kwargs
) -> None:
super(O365ConnectorCardActionBase, self).__init__(**kwargs)
self.type = type
self.name = name
self.id = id
class O365ConnectorCardActionCard(O365ConnectorCardActionBase):
"""O365 connector card ActionCard action.
:param type: Type of the action. Possible values include: 'ViewAction',
'OpenUri', 'HttpPOST', 'ActionCard'
:type type: str
:param name: Name of the action that will be used as button title
:type name: str
:param id: Action Id
:type id: str
:param inputs: Set of inputs contained in this ActionCard whose each item
can be in any subtype of O365ConnectorCardInputBase
:type inputs:
list[~botframework.connector.teams.models.O365ConnectorCardInputBase]
:param actions: Set of actions contained in this ActionCard whose each
item can be in any subtype of O365ConnectorCardActionBase except
O365ConnectorCardActionCard, as nested ActionCard is forbidden.
:type actions:
list[~botframework.connector.teams.models.O365ConnectorCardActionBase]
"""
_attribute_map = {
"type": {"key": "@type", "type": "str"},
"name": {"key": "name", "type": "str"},
"id": {"key": "@id", "type": "str"},
"inputs": {"key": "inputs", "type": "[O365ConnectorCardInputBase]"},
"actions": {"key": "actions", "type": "[O365ConnectorCardActionBase]"},
}
def __init__(
self,
*,
type=None,
name: str = None,
id: str = None,
inputs=None,
actions=None,
**kwargs
) -> None:
super(O365ConnectorCardActionCard, self).__init__(
type=type, name=name, id=id, **kwargs
)
self.inputs = inputs
self.actions = actions
class O365ConnectorCardActionQuery(Model):
"""O365 connector card HttpPOST invoke query.
:param body: The results of body string defined in
IO365ConnectorCardHttpPOST with substituted input values
:type body: str
:param action_id: Action Id associated with the HttpPOST action button
triggered, defined in O365ConnectorCardActionBase.
:type action_id: str
"""
_attribute_map = {
"body": {"key": "body", "type": "str"},
"action_id": {"key": "actionId", "type": "str"},
}
def __init__(self, *, body: str = None, actionId: str = None, **kwargs) -> None:
super(O365ConnectorCardActionQuery, self).__init__(**kwargs)
self.body = body
# This is how it comes in from Teams
self.action_id = actionId
class O365ConnectorCardDateInput(O365ConnectorCardInputBase):
"""O365 connector card date input.
:param type: Input type name. Possible values include: 'textInput',
'dateInput', 'multichoiceInput'
:type type: str
:param id: Input Id. It must be unique per entire O365 connector card.
:type id: str
:param is_required: Define if this input is a required field. Default
value is false.
:type is_required: bool
:param title: Input title that will be shown as the placeholder
:type title: str
:param value: Default value for this input field
:type value: str
:param include_time: Include time input field. Default value is false
(date only).
:type include_time: bool
"""
_attribute_map = {
"type": {"key": "@type", "type": "str"},
"id": {"key": "id", "type": "str"},
"is_required": {"key": "isRequired", "type": "bool"},
"title": {"key": "title", "type": "str"},
"value": {"key": "value", "type": "str"},
"include_time": {"key": "includeTime", "type": "bool"},
}
def __init__(
self,
*,
type=None,
id: str = None,
is_required: bool = None,
title: str = None,
value: str = None,
include_time: bool = None,
**kwargs
) -> None:
super(O365ConnectorCardDateInput, self).__init__(
type=type,
id=id,
is_required=is_required,
title=title,
value=value,
**kwargs
)
self.include_time = include_time
class O365ConnectorCardFact(Model):
"""O365 connector card fact.
:param name: Display name of the fact
:type name: str
:param value: Display value for the fact
:type value: str
"""
_attribute_map = {
"name": {"key": "name", "type": "str"},
"value": {"key": "value", "type": "str"},
}
def __init__(self, *, name: str = None, value: str = None, **kwargs) -> None:
super(O365ConnectorCardFact, self).__init__(**kwargs)
self.name = name
self.value = value
class O365ConnectorCardHttpPOST(O365ConnectorCardActionBase):
"""O365 connector card HttpPOST action.
:param type: Type of the action. Possible values include: 'ViewAction',
'OpenUri', 'HttpPOST', 'ActionCard'
:type type: str
:param name: Name of the action that will be used as button title
:type name: str
:param id: Action Id
:type id: str
:param body: Content to be posted back to bots via invoke
:type body: str
"""
_attribute_map = {
"type": {"key": "@type", "type": "str"},
"name": {"key": "name", "type": "str"},
"id": {"key": "@id", "type": "str"},
"body": {"key": "body", "type": "str"},
}
def __init__(
self, *, type=None, name: str = None, id: str = None, body: str = None, **kwargs
) -> None:
super(O365ConnectorCardHttpPOST, self).__init__(
type=type, name=name, id=id, **kwargs
)
self.body = body
class O365ConnectorCardImage(Model):
"""O365 connector card image.
:param image: URL for the image
:type image: str
:param title: Alternative text for the image
:type title: str
"""
_attribute_map = {
"image": {"key": "image", "type": "str"},
"title": {"key": "title", "type": "str"},
}
def __init__(self, *, image: str = None, title: str = None, **kwargs) -> None:
super(O365ConnectorCardImage, self).__init__(**kwargs)
self.image = image
self.title = title
class O365ConnectorCardMultichoiceInput(O365ConnectorCardInputBase):
"""O365 connector card multiple choice input.
:param type: Input type name. Possible values include: 'textInput',
'dateInput', 'multichoiceInput'
:type type: str
:param id: Input Id. It must be unique per entire O365 connector card.
:type id: str
:param is_required: Define if this input is a required field. Default
value is false.
:type is_required: bool
:param title: Input title that will be shown as the placeholder
:type title: str
:param value: Default value for this input field
:type value: str
:param choices: Set of choices whose each item can be in any subtype of
O365ConnectorCardMultichoiceInputChoice.
:type choices:
list[~botframework.connector.teams.models.O365ConnectorCardMultichoiceInputChoice]
:param style: Choice item rendering style. Default value is 'compact'.
Possible values include: 'compact', 'expanded'
:type style: str
:param is_multi_select: Define if this input field allows multiple
selections. Default value is false.
:type is_multi_select: bool
"""
_attribute_map = {
"type": {"key": "@type", "type": "str"},
"id": {"key": "id", "type": "str"},
"is_required": {"key": "isRequired", "type": "bool"},
"title": {"key": "title", "type": "str"},
"value": {"key": "value", "type": "str"},
"choices": {
"key": "choices",
"type": "[O365ConnectorCardMultichoiceInputChoice]",
},
"style": {"key": "style", "type": "str"},
"is_multi_select": {"key": "isMultiSelect", "type": "bool"},
}
def __init__(
self,
*,
type=None,
id: str = None,
is_required: bool = None,
title: str = None,
value: str = None,
choices=None,
style=None,
is_multi_select: bool = None,
**kwargs
) -> None:
super(O365ConnectorCardMultichoiceInput, self).__init__(
type=type,
id=id,
is_required=is_required,
title=title,
value=value,
**kwargs
)
self.choices = choices
self.style = style
self.is_multi_select = is_multi_select
class O365ConnectorCardMultichoiceInputChoice(Model):
"""O365O365 connector card multiple choice input item.
:param display: The text rendered on ActionCard.
:type display: str
:param value: The value received as results.
:type value: str
"""
_attribute_map = {
"display": {"key": "display", "type": "str"},
"value": {"key": "value", "type": "str"},
}
def __init__(self, *, display: str = None, value: str = None, **kwargs) -> None:
super(O365ConnectorCardMultichoiceInputChoice, self).__init__(**kwargs)
self.display = display
self.value = value
class O365ConnectorCardOpenUri(O365ConnectorCardActionBase):
"""O365 connector card OpenUri action.
:param type: Type of the action. Possible values include: 'ViewAction',
'OpenUri', 'HttpPOST', 'ActionCard'
:type type: str
:param name: Name of the action that will be used as button title
:type name: str
:param id: Action Id
:type id: str
:param targets: Target os / urls
:type targets:
list[~botframework.connector.teams.models.O365ConnectorCardOpenUriTarget]
"""
_attribute_map = {
"type": {"key": "@type", "type": "str"},
"name": {"key": "name", "type": "str"},
"id": {"key": "@id", "type": "str"},
"targets": {"key": "targets", "type": "[O365ConnectorCardOpenUriTarget]"},
}
def __init__(
self, *, type=None, name: str = None, id: str = None, targets=None, **kwargs
) -> None:
super(O365ConnectorCardOpenUri, self).__init__(
type=type, name=name, id=id, **kwargs
)
self.targets = targets
class O365ConnectorCardOpenUriTarget(Model):
"""O365 connector card OpenUri target.
:param os: Target operating system. Possible values include: 'default',
'iOS', 'android', 'windows'
:type os: str
:param uri: Target url
:type uri: str
"""
_attribute_map = {
"os": {"key": "os", "type": "str"},
"uri": {"key": "uri", "type": "str"},
}
def __init__(self, *, os=None, uri: str = None, **kwargs) -> None:
super(O365ConnectorCardOpenUriTarget, self).__init__(**kwargs)
self.os = os
self.uri = uri
class O365ConnectorCardSection(Model):
"""O365 connector card section.
:param title: Title of the section
:type title: str
:param text: Text for the section
:type text: str
:param activity_title: Activity title
:type activity_title: str
:param activity_subtitle: Activity subtitle
:type activity_subtitle: str
:param activity_text: Activity text
:type activity_text: str
:param activity_image: Activity image
:type activity_image: str
:param activity_image_type: Describes how Activity image is rendered.
Possible values include: 'avatar', 'article'
:type activity_image_type: str or
~botframework.connector.teams.models.enum
:param markdown: Use markdown for all text contents. Default value is
true.
:type markdown: bool
:param facts: Set of facts for the current section
:type facts:
list[~botframework.connector.teams.models.O365ConnectorCardFact]
:param images: Set of images for the current section
:type images:
list[~botframework.connector.teams.models.O365ConnectorCardImage]
:param potential_action: Set of actions for the current section
:type potential_action:
list[~botframework.connector.teams.models.O365ConnectorCardActionBase]
"""
_attribute_map = {
"title": {"key": "title", "type": "str"},
"text": {"key": "text", "type": "str"},
"activity_title": {"key": "activityTitle", "type": "str"},
"activity_subtitle": {"key": "activitySubtitle", "type": "str"},
"activity_text": {"key": "activityText", "type": "str"},
"activity_image": {"key": "activityImage", "type": "str"},
"activity_image_type": {"key": "activityImageType", "type": "str"},
"markdown": {"key": "markdown", "type": "bool"},
"facts": {"key": "facts", "type": "[O365ConnectorCardFact]"},
"images": {"key": "images", "type": "[O365ConnectorCardImage]"},
"potential_action": {
"key": "potentialAction",
"type": "[O365ConnectorCardActionBase]",
},
}
def __init__(
self,
*,
title: str = None,
text: str = None,
activity_title: str = None,
activity_subtitle: str = None,
activity_text: str = None,
activity_image: str = None,
activity_image_type=None,
markdown: bool = None,
facts=None,
images=None,
potential_action=None,
**kwargs
) -> None:
super(O365ConnectorCardSection, self).__init__(**kwargs)
self.title = title
self.text = text
self.activity_title = activity_title
self.activity_subtitle = activity_subtitle
self.activity_text = activity_text
self.activity_image = activity_image
self.activity_image_type = activity_image_type
self.markdown = markdown
self.facts = facts
self.images = images
self.potential_action = potential_action
class O365ConnectorCardTextInput(O365ConnectorCardInputBase):
"""O365 connector card text input.
:param type: Input type name. Possible values include: 'textInput',
'dateInput', 'multichoiceInput'
:type type: str
:param id: Input Id. It must be unique per entire O365 connector card.
:type id: str
:param is_required: Define if this input is a required field. Default
value is false.
:type is_required: bool
:param title: Input title that will be shown as the placeholder
:type title: str
:param value: Default value for this input field
:type value: str
:param is_multiline: Define if text input is allowed for multiple lines.
Default value is false.
:type is_multiline: bool
:param max_length: Maximum length of text input. Default value is
unlimited.
:type max_length: float
"""
_attribute_map = {
"type": {"key": "@type", "type": "str"},
"id": {"key": "id", "type": "str"},
"is_required": {"key": "isRequired", "type": "bool"},
"title": {"key": "title", "type": "str"},
"value": {"key": "value", "type": "str"},
"is_multiline": {"key": "isMultiline", "type": "bool"},
"max_length": {"key": "maxLength", "type": "float"},
}
def __init__(
self,
*,
type=None,
id: str = None,
is_required: bool = None,
title: str = None,
value: str = None,
is_multiline: bool = None,
max_length: float = None,
**kwargs
) -> None:
super(O365ConnectorCardTextInput, self).__init__(
type=type,
id=id,
is_required=is_required,
title=title,
value=value,
**kwargs
)
self.is_multiline = is_multiline
self.max_length = max_length
class O365ConnectorCardViewAction(O365ConnectorCardActionBase):
"""O365 connector card ViewAction action.
:param type: Type of the action. Possible values include: 'ViewAction',
'OpenUri', 'HttpPOST', 'ActionCard'
:type type: str
:param name: Name of the action that will be used as button title
:type name: str
:param id: Action Id
:type id: str
:param target: Target urls, only the first url effective for card button
:type target: list[str]
"""
_attribute_map = {
"type": {"key": "@type", "type": "str"},
"name": {"key": "name", "type": "str"},
"id": {"key": "@id", "type": "str"},
"target": {"key": "target", "type": "[str]"},
}
def __init__(
self, *, type=None, name: str = None, id: str = None, target=None, **kwargs
) -> None:
super(O365ConnectorCardViewAction, self).__init__(
type=type, name=name, id=id, **kwargs
)
self.target = target
class SigninStateVerificationQuery(Model):
"""Signin state (part of signin action auth flow) verification invoke query.
:param state: The state string originally received when the signin web
flow is finished with a state posted back to client via tab SDK
microsoftTeams.authentication.notifySuccess(state)
:type state: str
"""
_attribute_map = {
"state": {"key": "state", "type": "str"},
}
def __init__(self, *, state: str = None, **kwargs) -> None:
super(SigninStateVerificationQuery, self).__init__(**kwargs)
self.state = state
class TaskModuleResponseBase(Model):
"""Base class for Task Module responses.
:param type: Choice of action options when responding to the task/submit
message. Possible values include: 'message', 'continue'
:type type: str
"""
_attribute_map = {
"type": {"key": "type", "type": "str"},
}
def __init__(self, *, type=None, **kwargs) -> None:
super(TaskModuleResponseBase, self).__init__(**kwargs)
self.type = type
class TaskModuleContinueResponse(TaskModuleResponseBase):
"""Task Module Response with continue action.
:param value: The JSON for the Adaptive card to appear in the task module.
:type value: ~botframework.connector.teams.models.TaskModuleTaskInfo
"""
_attribute_map = {
"type": {"key": "type", "type": "str"},
"value": {"key": "value", "type": "TaskModuleTaskInfo"},
}
def __init__(self, *, value=None, **kwargs) -> None:
super(TaskModuleContinueResponse, self).__init__(type="continue", **kwargs)
self.value = value
class TaskModuleMessageResponse(TaskModuleResponseBase):
"""Task Module response with message action.
:param value: Teams will display the value of value in a popup message
box.
:type value: str
"""
_attribute_map = {
"type": {"key": "type", "type": "str"},
"value": {"key": "value", "type": "str"},
}
def __init__(self, *, value: str = None, **kwargs) -> None:
super(TaskModuleMessageResponse, self).__init__(type="message", **kwargs)
self.value = value
class TaskModuleRequestContext(Model):
"""Current user context, i.e., the current theme.
:param theme:
:type theme: str
"""
_attribute_map = {
"theme": {"key": "theme", "type": "str"},
}
def __init__(self, *, theme: str = None, **kwargs) -> None:
super(TaskModuleRequestContext, self).__init__(**kwargs)
self.theme = theme
class TaskModuleResponse(Model):
"""Envelope for Task Module Response.
:param task: The JSON for the Adaptive card to appear in the task module.
:type task: ~botframework.connector.teams.models.TaskModuleResponseBase
:param cache_info: CacheInfo for this TaskModuleResponse.
:type cache_info: ~botframework.connector.teams.models.CacheInfo
"""
_attribute_map = {
"task": {"key": "task", "type": "TaskModuleResponseBase"},
"cache_info": {"key": "cacheInfo", "type": "CacheInfo"},
}
def __init__(self, *, task=None, cache_info=None, **kwargs) -> None:
super(TaskModuleResponse, self).__init__(**kwargs)
self.task = task
self.cache_info = cache_info
class TaskModuleTaskInfo(Model):
"""Metadata for a Task Module.
:param title: Appears below the app name and to the right of the app icon.
:type title: str
:param height: This can be a number, representing the task module's height
in pixels, or a string, one of: small, medium, large.
:type height: object
:param width: This can be a number, representing the task module's width
in pixels, or a string, one of: small, medium, large.
:type width: object
:param url: The URL of what is loaded as an iframe inside the task module.
One of url or card is required.
:type url: str
:param card: The JSON for the Adaptive card to appear in the task module.
:type card: ~botframework.connector.teams.models.Attachment
:param fallback_url: If a client does not support the task module feature,
this URL is opened in a browser tab.
:type fallback_url: str
:param completion_bot_id: If a client does not support the task module
feature, this URL is opened in a browser tab.
:type completion_bot_id: str
"""
_attribute_map = {
"title": {"key": "title", "type": "str"},
"height": {"key": "height", "type": "object"},
"width": {"key": "width", "type": "object"},
"url": {"key": "url", "type": "str"},
"card": {"key": "card", "type": "Attachment"},
"fallback_url": {"key": "fallbackUrl", "type": "str"},
"completion_bot_id": {"key": "completionBotId", "type": "str"},
}
def __init__(
self,
*,
title: str = None,
height=None,
width=None,
url: str = None,
card=None,
fallback_url: str = None,
completion_bot_id: str = None,
**kwargs
) -> None:
super(TaskModuleTaskInfo, self).__init__(**kwargs)
self.title = title
self.height = height
self.width = width
self.url = url
self.card = card
self.fallback_url = fallback_url
self.completion_bot_id = completion_bot_id
class TeamDetails(Model):
"""Details related to a team.
:param id: Unique identifier representing a team
:type id: str
:param name: Name of team.
:type name: str
:param aad_group_id: Azure Active Directory (AAD) Group Id for the team.
:type aad_group_id: str
:param channel_count: The count of channels in the team.
:type channel_count: int
:param member_count: The count of members in the team.
:type member_count: int
"""
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"aad_group_id": {"key": "aadGroupId", "type": "str"},
"channel_count": {"key": "channelCount", "type": "int"},
"member_count": {"key": "memberCount", "type": "int"},
}
def __init__(
self,
*,
id: str = None,
name: str = None,
aad_group_id: str = None,
member_count: int = None,
channel_count: int = None,
**kwargs
) -> None:
super(TeamDetails, self).__init__(**kwargs)
self.id = id
self.name = name
self.aad_group_id = aad_group_id
self.channel_count = channel_count
self.member_count = member_count
class TeamInfo(Model):
"""Describes a team.
:param id: Unique identifier representing a team
:type id: str
:param name: Name of team.
:type name: str
:param name: Azure AD Teams group ID.
:type name: str
"""
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"aad_group_id": {"key": "aadGroupId", "type": "str"},
}
def __init__(
self, *, id: str = None, name: str = None, aad_group_id: str = None, **kwargs
) -> None:
super(TeamInfo, self).__init__(**kwargs)
self.id = id
self.name = name
self.aad_group_id = aad_group_id
class TeamsChannelAccount(ChannelAccount):
"""Teams channel account detailing user Azure Active Directory details.
:param id: Channel id for the user or bot on this channel (Example:
joe@smith.com, or @joesmith or 123456)
:type id: str
:param name: Display friendly name
:type name: str
:param given_name: Given name part of the user name.
:type given_name: str
:param surname: Surname part of the user name.
:type surname: str
:param email: Email Id of the user.
:type email: str
:param user_principal_name: Unique user principal name.
:type user_principal_name: str
:param tenant_id: Tenant Id of the user.
:type tenant_id: str
:param user_role: User Role of the user.
:type user_role: str
"""
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"given_name": {"key": "givenName", "type": "str"},
"surname": {"key": "surname", "type": "str"},
"email": {"key": "email", "type": "str"},
"user_principal_name": {"key": "userPrincipalName", "type": "str"},
"aad_object_id": {"key": "aadObjectId", "type": "str"},
"tenant_id": {"key": "tenantId", "type": "str"},
"user_role": {"key": "userRole", "type": "str"},
}
def __init__(
self,
*,
id: str = None,
name: str = None,
given_name: str = None,
surname: str = None,
email: str = None,
user_principal_name: str = None,
tenant_id: str = None,
user_role: str = None,
**kwargs
) -> None:
super(TeamsChannelAccount, self).__init__(id=id, name=name, **kwargs)
self.given_name = given_name
self.surname = surname
self.email = email
self.user_principal_name = user_principal_name
self.tenant_id = tenant_id
self.user_role = user_role
class TeamsPagedMembersResult(PagedMembersResult):
"""Page of members for Teams.
:param continuation_token: Paging token
:type continuation_token: str
:param members: The Teams Channel Accounts.
:type members: list[~botframework.connector.models.TeamsChannelAccount]
"""
_attribute_map = {
"continuation_token": {"key": "continuationToken", "type": "str"},
"members": {"key": "members", "type": "[TeamsChannelAccount]"},
}
def __init__(
self,
*,
continuation_token: str = None,
members: List[TeamsChannelAccount] = None,
**kwargs
) -> None:
super(TeamsPagedMembersResult, self).__init__(
continuation_token=continuation_token, members=members, **kwargs
)
self.continuation_token = continuation_token
self.members = members
class TeamsChannelData(Model):
"""Channel data specific to messages received in Microsoft Teams.
:param channel: Information about the channel in which the message was
sent
:type channel: ~botframework.connector.teams.models.ChannelInfo
:param event_type: Type of event.
:type event_type: str
:param team: Information about the team in which the message was sent
:type team: ~botframework.connector.teams.models.TeamInfo
:param notification: Notification settings for the message
:type notification: ~botframework.connector.teams.models.NotificationInfo
:param tenant: Information about the tenant in which the message was sent
:type tenant: ~botframework.connector.teams.models.TenantInfo
:param meeting: Information about the meeting in which the message was sent
:type meeting: ~botframework.connector.teams.models.TeamsMeetingInfo
"""
_attribute_map = {
"channel": {"key": "channel", "type": "ChannelInfo"},
"event_type": {"key": "eventType", "type": "str"},
"team": {"key": "team", "type": "TeamInfo"},
"notification": {"key": "notification", "type": "NotificationInfo"},
"tenant": {"key": "tenant", "type": "TenantInfo"},
"meeting": {"key": "meeting", "type": "TeamsMeetingInfo"},
}
def __init__(
self,
*,
channel=None,
event_type: str = None,
team=None,
notification=None,
tenant=None,
meeting=None,
**kwargs
) -> None:
super(TeamsChannelData, self).__init__(**kwargs)
self.channel = channel
# doing camel case here since that's how the data comes in
self.event_type = event_type
self.team = team
self.notification = notification
self.tenant = tenant
self.meeting = meeting
class TenantInfo(Model):
"""Describes a tenant.
:param id: Unique identifier representing a tenant
:type id: str
"""
_attribute_map = {
"id": {"key": "id", "type": "str"},
}
def __init__(self, *, id: str = None, **kwargs) -> None:
super(TenantInfo, self).__init__(**kwargs)
self.id = id
class TeamsMeetingInfo(Model):
"""Describes a Teams Meeting.
:param id: Unique identifier representing a meeting
:type id: str
"""
_attribute_map = {
"id": {"key": "id", "type": "str"},
}
def __init__(self, *, id: str = None, **kwargs) -> None:
super(TeamsMeetingInfo, self).__init__(**kwargs)
self.id = id
class MeetingParticipantInfo(Model):
"""Teams meeting participant details.
:param role: Role of the participant in the current meeting.
:type role: str
:param in_meeting: True, if the participant is in the meeting.
:type in_meeting: bool
"""
_attribute_map = {
"role": {"key": "role", "type": "str"},
"in_meeting": {"key": "inMeeting", "type": "bool"},
}
def __init__(self, *, role: str = None, in_meeting: bool = None, **kwargs) -> None:
super(MeetingParticipantInfo, self).__init__(**kwargs)
self.role = role
self.in_meeting = in_meeting
class TeamsMeetingParticipant(Model):
"""Teams participant channel account detailing user Azure Active Directory and meeting participant details.
:param user: Teams Channel Account information for this meeting participant
:type user: TeamsChannelAccount
:param meeting: >Information specific to this participant in the specific meeting.
:type meeting: MeetingParticipantInfo
:param conversation: Conversation Account for the meeting.
:type conversation: ConversationAccount
"""
_attribute_map = {
"user": {"key": "user", "type": "TeamsChannelAccount"},
"meeting": {"key": "meeting", "type": "MeetingParticipantInfo"},
"conversation": {"key": "conversation", "type": "ConversationAccount"},
}
def __init__(
self,
*,
user: TeamsChannelAccount = None,
meeting: MeetingParticipantInfo = None,
conversation: ConversationAccount = None,
**kwargs
) -> None:
super(TeamsMeetingParticipant, self).__init__(**kwargs)
self.user = user
self.meeting = meeting
self.conversation = conversation
class TabContext(Model):
"""
Current tab request context, i.e., the current theme.
:param theme: Gets or sets the current user's theme.
:type theme: str
"""
_attribute_map = {
"theme": {"key": "theme", "type": "str"},
}
def __init__(self, *, theme=None, **kwargs) -> None:
super(TabContext, self).__init__(**kwargs)
self.theme = theme
self._custom_init()
def _custom_init(self):
return
class TabRequest(Model):
"""
Invoke ('tab/fetch') request value payload.
:param tab_entity_context: Gets or sets current tab entity request context.
:type tab_entity_context:
~botframework.connector.teams.models.TabEntityContext
:param context: Gets or sets current tab entity request context.
:type context:
~botframework.connector.teams.models.TabContext
:param state: Gets or sets state, which is the magic code for OAuth Flow.
:type state: str
"""
_attribute_map = {
"tab_entity_context": {"key": "tabContext", "type": "TabEntityContext"},
"context": {"key": "context", "type": "TabContext"},
"state": {"key": "state", "type": "str"},
}
def __init__(
self, *, tab_entity_context=None, context=None, state=None, **kwargs
) -> None:
super(TabRequest, self).__init__(**kwargs)
self.tab_entity_context = tab_entity_context
self.context = context
self.state = state
self._custom_init()
def _custom_init(self):
return
class TabResponseCard(Model):
"""
Envelope for cards for a Tab request.
:param card: Gets or sets adaptive card for this card tab response.
:type card: object
"""
_attribute_map = {
"card": {"key": "card", "type": "object"},
}
def __init__(self, *, card=None, **kwargs) -> None:
super(TabResponseCard, self).__init__(**kwargs)
self.card = card
self._custom_init()
def _custom_init(self):
return
class TabResponseCards(Model):
"""
Envelope for cards for a TabResponse.
:param cards: Gets or sets adaptive card for this card tab response.
:type cards:
list[ ~botframework.connector.teams.models.TabResponseCard]
"""
_attribute_map = {
"cards": {"key": "cards", "type": "[TabResponseCard]"},
}
def __init__(self, *, cards=None, **kwargs) -> None:
super(TabResponseCards, self).__init__(**kwargs)
self.cards = cards
self._custom_init()
def _custom_init(self):
return
class TabResponsePayload(Model):
"""
Initializes a new instance of the TabResponsePayload class.
:param type: Gets or sets choice of action options when responding to the
tab/fetch message. Possible values include: 'continue', 'auth' or 'silentAuth'
:type type: str
:param value: Gets or sets the TabResponseCards when responding to
tab/fetch activity with type of 'continue'.
:type value: TabResponseCards
:param suggested_actions: Gets or sets the Suggested Actions for this card tab.
:type suggested_actions: TabSuggestedActions
"""
_attribute_map = {
"type": {"key": "type", "type": "str"},
"value": {"key": "value", "type": "TabResponseCards"},
"suggested_actions": {"key": "suggestedActions", "type": "TabSuggestedActions"},
}
def __init__(
self, *, type=None, value=None, suggested_actions=None, **kwargs
) -> None:
super(TabResponsePayload, self).__init__(**kwargs)
self.type = type
self.value = value
self.suggested_actions = suggested_actions
self._custom_init()
def _custom_init(self):
return
class TabResponse(Model):
"""
Envelope for Card Tab Response Payload.
:param tab: Possible values include: 'continue', 'auth' or 'silentAuth'
:type type: ~botframework.connector.teams.models.TabResponsePayload
"""
_attribute_map = {
"tab": {"key": "tab", "type": "TabResponsePayload"},
}
def __init__(self, *, tab=None, **kwargs) -> None:
super(TabResponse, self).__init__(**kwargs)
self.tab = tab
self._custom_init()
def _custom_init(self):
return
class TabSumit(Model):
"""
Invoke ('tab/submit') request value payload.
:param tab_entity_context: Gets or sets current tab entity request context.
:type tab_entity_context:
~botframework.connector.teams.models.TabEntityContext
:param context: Gets or sets current tab entity request context.
:type context:
~botframework.connector.teams.models.TabContext
:param data: User input data. Free payload containing properties of key-value pairs.
:type data:
~botframework.connector.teams.models.TabSubmitData
"""
_attribute_map = {
"tab_entity_context": {"key": "tabContext", "type": "TabEntityContext"},
"context": {"key": "context", "type": "TabContext"},
"data": {"key": "data", "type": "TabSubmitData"},
}
def __init__(
self, *, tab_entity_context=None, context=None, data=None, **kwargs
) -> None:
super(TabSumit, self).__init__(**kwargs)
self.tab_entity_context = tab_entity_context
self.context = context
self.data = data
self._custom_init()
def _custom_init(self):
return
class TabSubmitData(Model):
"""
Invoke ('tab/submit') request value payload data.
:param type: Currently, 'tab/submit'.
:type type: str
:param properties: Gets or sets properties that are not otherwise defined by the TabSubmit
type but that might appear in the serialized REST JSON object.
:type properties: object
"""
_attribute_map = {
"type": {"key": "type", "type": "str"},
"properties": {"key": "properties", "type": "{object}"},
}
def __init__(self, *, type=None, properties=None, **kwargs) -> None:
super(TabSubmitData, self).__init__(**kwargs)
self.type = type
self.properties = properties
self._custom_init()
def _custom_init(self):
return
class TabSubmit(Model):
"""
Initializes a new instance of the TabSubmit class.
:param tab_entity_context: Gets or sets current tab entity request context.
:type tab_entity_context: ~botframework.connector.teams.models.TabEntityContext
:param context: Gets or sets current user context, i.e., the current theme.
:type context: ~botframework.connector.teams.models.TabContext
:param data: User input data. Free payload containing properties of key-value pairs.
:type data: ~botframework.connector.teams.models.TabSubmitData
"""
_attribute_map = {
"tab_entity_context": {"key": "tabContext", "type": "TabEntityContext"},
"context": {"key": "context", "type": "TabContext"},
"data": {"key": "data", "type": "TabSubmitData"},
}
def __init__(
self, *, tab_entity_context=None, context=None, data=None, **kwargs
) -> None:
super(TabSubmit, self).__init__(**kwargs)
self.tab_entity_context = tab_entity_context
self.context = context
self.data = data
self._custom_init()
def _custom_init(self):
return
class TabSuggestedActions(Model):
"""
Tab SuggestedActions (Only when type is 'auth' or 'silentAuth').
:param actions: Gets or sets adaptive card for this card tab response.
:type actions: list[~botframework.connector.models.CardAction]
"""
_attribute_map = {
"actions": {"key": "actions", "type": "[CardAction]"},
}
def __init__(self, *, actions=None, **kwargs) -> None:
super(TabSuggestedActions, self).__init__(**kwargs)
self.actions = actions
self._custom_init()
def _custom_init(self):
return
class TaskModuleCardResponse(TaskModuleResponseBase):
"""
Tab Response to 'task/submit' from a tab.
:param value: The JSON for the Adaptive cards to appear in the tab.
:type value: ~botframework.connector.teams.models.TabResponse
"""
_attribute_map = {
"value": {"key": "value", "type": "TabResponse"},
}
def __init__(self, *, value=None, **kwargs) -> None:
super(TaskModuleCardResponse, self).__init__("continue", **kwargs)
self.value = value
self._custom_init()
def _custom_init(self):
return
class MeetingDetailsBase(Model):
"""Specific details of a Teams meeting.
:param id: The meeting's Id, encoded as a BASE64 string.
:type id: str
:param join_url: The URL used to join the meeting.
:type join_url: str
:param title: The title of the meeting.
:type title: str
"""
_attribute_map = {
"id": {"key": "uniqueId", "type": "str"},
"join_url": {"key": "joinUrl", "type": "str"},
"title": {"key": "title", "type": "str"},
}
def __init__(
self, *, id: str = None, join_url: str = None, title: str = None, **kwargs
) -> None:
super(MeetingDetailsBase, self).__init__(**kwargs)
self.id = id
self.join_url = join_url
self.title = title
class MeetingDetails(MeetingDetailsBase):
"""Specific details of a Teams meeting.
:param ms_graph_resource_id: The MsGraphResourceId, used specifically for MS Graph API calls.
:type ms_graph_resource_id: str
:param scheduled_start_time: The meeting's scheduled start time, in UTC.
:type scheduled_start_time: str
:param scheduled_end_time: The meeting's scheduled end time, in UTC.
:type scheduled_end_time: str
:param type: The meeting's type.
:type type: str
"""
_attribute_map = {
"ms_graph_resource_id": {"key": "msGraphResourceId", "type": "str"},
"scheduled_start_time": {"key": "scheduledStartTime", "type": "str"},
"scheduled_end_time": {"key": "scheduledEndTime", "type": "str"},
"type": {"key": "type", "type": "str"},
}
def __init__(
self,
*,
ms_graph_resource_id: str = None,
scheduled_start_time: str = None,
scheduled_end_time: str = None,
type: str = None,
**kwargs
) -> None:
super(MeetingDetails, self).__init__(**kwargs)
self.ms_graph_resource_id = ms_graph_resource_id
self.scheduled_start_time = scheduled_start_time
self.scheduled_end_time = scheduled_end_time
self.type = type
class MeetingInfo(Model):
"""General information about a Teams meeting.
:param details: The specific details of a Teams meeting.
:type details: ~botframework.connector.teams.models.MeetingDetails
:param conversation: The Conversation Account for the meeting.
:type conversation: ~botbuilder.schema.models.ConversationAccount
:param organizer: The meeting's scheduled start time, in UTC.
:type organizer: ~botbuilder.schema.models.TeamsChannelAccount
"""
_attribute_map = {
"details": {"key": "details", "type": "object"},
"conversation": {"key": "conversation", "type": "object"},
"organizer": {"key": "organizer", "type": "object"},
}
def __init__(
self,
*,
details: MeetingDetails = None,
conversation: ConversationAccount = None,
organizer: TeamsChannelAccount = None,
**kwargs
) -> None:
super(MeetingInfo, self).__init__(**kwargs)
self.details = details
self.conversation = conversation
self.organizer = organizer
class MeetingEventDetails(MeetingDetailsBase):
"""Base class for Teams meting start and end events.
:param meeting_type: The meeting's type.
:type meeting_type: str
"""
_attribute_map = {"meeting_type": {"key": "MeetingType", "type": "str"}}
def __init__(self, *, meeting_type: str = None, **kwargs):
super(MeetingEventDetails, self).__init__(**kwargs)
self.meeting_type = meeting_type
class MeetingStartEventDetails(MeetingDetailsBase):
"""Specific details of a Teams meeting start event.
:param start_time: Timestamp for meeting start, in UTC.
:type start_time: str
"""
_attribute_map = {"start_time": {"key": "StartTime", "type": "str"}}
def __init__(self, *, start_time: str = None, **kwargs):
super(MeetingStartEventDetails, self).__init__(**kwargs)
self.start_time = start_time
class MeetingEndEventDetails(MeetingDetailsBase):
"""Specific details of a Teams meeting end event.
:param end_time: Timestamp for meeting end, in UTC.
:type end_time: str
"""
_attribute_map = {"end_time": {"key": "EndTime", "type": "str"}}
def __init__(self, *, end_time: str = None, **kwargs):
super(MeetingEndEventDetails, self).__init__(**kwargs)
self.end_time = end_time