Actionable messages
Project description
Actionable messages
- Base informations
- Installation
- Requirements
- Usage
- AdaptiveCard
- MessageCard
- HeroCard
- ThumbnailCard
Base informations
Send an actionable message via email in Office 365
Outlook version requirements for actionable messages
Installation
pip install git+https://github.com/utsurius/django-actionable-messages
pip install django-actionable-messages
Add "django_actionable_messages" to INSTALLED_APPS:
INSTALLED_APPS = [
...
"django_actionable_messages",
]
SETTINGS
ACTIONABLE_MESSAGES = {
"JSON_ENCODER": None,
"LANGUAGE_CODE": "en"
}
"JSON_ENCODER" - doted path to custom json encoder (default: BaseEncoder).
"LANGUAGE_CODE" - language code used for translations (defaults to project settings.LANGUAGE_CODE). Each element of adaptive_card/message_card can set individual "lang_code".
Requirements
Name | Version |
---|---|
python | 3.6 - 3.10 |
django | 3.2 - 4.2 |
Usage
examples/message_card/github.py
from django_actionable_messages.message_card.actions import OpenUri, HttpPOST, ActionCard
from django_actionable_messages.message_card.cards import MessageCard
from django_actionable_messages.message_card.elements import Fact, ActionTarget
from django_actionable_messages.message_card.inputs import TextInput
from django_actionable_messages.message_card.sections import Section
from django_actionable_messages.message_card.utils import OSType
issue_opened = MessageCard(title="Issue opened: \"Push notifications not working\"", summary="Issue 176715375",
theme_color="0078D7")
issue_opened.add_sections(
Section(
activity_title="Miguel Garcie",
activity_subtitle="9/13/2016, 11:46am",
activity_image="https://connectorsdemo.azurewebsites.net/images/MSC12_Oscar_002.jpg",
text="There is a problem with Push notifications, they don't seem to be picked up by the connector.",
facts=[
Fact("Repository:", "mgarcia\\test"),
Fact("Issue #:", "176715375")
]
)
)
issue_opened.add_actions([
ActionCard(
name="Add a comment",
inputs=[
TextInput(input_id="comment", title="Enter a comment", is_multiline=True)
],
actions=[
HttpPOST("OK", target="http://...")
]
),
HttpPOST("Close", target="http://..."),
OpenUri(name="View in Github", targets=[
ActionTarget(OSType.DEFAULT, "http://...")
])
])
examples/adaptive_card/calendar_reminder.py
from django_actionable_messages.adaptive_card.actions import Submit
from django_actionable_messages.adaptive_card.cards import AdaptiveCard
from django_actionable_messages.adaptive_card.elements import TextBlock
from django_actionable_messages.adaptive_card.inputs import InputChoice, ChoiceSetInput
from django_actionable_messages.adaptive_card.utils import SCHEMA, FontSize, FontWeight, SpacingStyle, ChoiceInputStyle
calendar_reminder = AdaptiveCard(version="1.0", schema=SCHEMA)
calendar_reminder.set_speak("Your meeting about \"Adaptive Card design session\" is starting at 12:30pm"
"Do you want to snooze or do you want to send a late notification to the attendees?")
calendar_reminder.add_elements(TextBlock("Adaptive Card design session", size=FontSize.LARGE, weight=FontWeight.BOLDER))
calendar_reminder.add_elements([
TextBlock("Conf Room 112/3377 (10)", is_subtle=True),
TextBlock("12:30 PM - 1:30 PM", is_subtle=True, spacing=SpacingStyle.NONE),
TextBlock("Snooze for")
])
calendar_reminder.add_elements(ChoiceSetInput(
item_id="snooze", style=ChoiceInputStyle.COMPACT, value="5", choices=[
InputChoice("5 minutes", "5"),
InputChoice("15 minutes", "15"),
InputChoice("30 minutes", "30")
]
))
calendar_reminder.add_actions([
Submit(title="Snooze", data={
"x": "snooze"
}),
Submit(title="I'll be late", data={
"x": "late"
})
])
For more view examples
folder
To get dictionary, json or html payload from card use:
Property | Type |
---|---|
.payload | dict (raw data) |
.json_payload | json string |
.html_payload | html string - can be used to send card via email (docs) |
.signed_html_payload | html string1 - can be used to send card via email (docs) |
[1] you must overwrite get_signed_payload() in AdaptiveCard/MessageCard to sign the payload!
Problem: '... is not JSON serializable' - probably invalid argument type was used. Default json serializer can handle translated strings and everything that DjangoJSONEncoder
can handle.
Solution: Better Python Object Serialization. Remember to ALWAYS inherit from EncoderMixin or BaseEncoder (django_actionable_messages.encoders import EncoderMixin, BaseEncoder
)
You can set JSON_ENCODER (globally) in SETTINGS(ACTIONABLE_MESSAGES) or set it by card(json_encoder):
from django_actionable_messages.adaptive_card.cards import AdaptiveCard
class MyAdaptiveCard(AdaptiveCard):
json_encoder = "path.to.my.encoder"
or
from django_actionable_messages.adaptive_card.cards import AdaptiveCard
class MyAdaptiveCard(AdaptiveCard):
json_encoder = MyJSONEncoder
To customize json dump you can overwrite get_json_dump_kwargs()
in card (AdaptiveCard/MessageCard)
from django_actionable_messages.adaptive_card.cards import AdaptiveCard
class MyAdaptiveCard(AdaptiveCard):
def get_json_dump_kwargs(self):
return {
'ensure_ascii': False,
'indent': 2
}
Send MessageCard to msteams using webhooks and requests
library:
import requests
requests.post(
webhook_url,
data=card.json_payload,
headers={
"Content-Type": "application/json; charset=utf-8"
}
)
To get/add webhook_url
see here: Get the Microsoft Teams webhook URL, Create and add an outgoing webhook in Teams
AdaptiveCard
Supported versions: 1.0 - 1.6
Elements
src: from django_actionable_messages.adaptive_card.elements import ...
TextBlock docs
Argument name | Function | Property | Type |
---|---|---|---|
text | - | text | str, trans3 |
color | set_color() | color | Color1 |
font_type | set_font_type() | fontType | FontType1 |
horizontal_alignment | set_horizontal_alignment() | horizontalAlignment | HorizontalAlignment1 |
is_subtle | set_is_subtle() | isSubtle | bool |
max_lines | set_max_lines() | maxLines | int |
size | set_size() | size | FontSize1 |
weight | set_weight() | weight | FontWeight1 |
wrap | set_wrap() | wrap | bool |
fallback | set_fallback() | fallback | FallbackOption1 or card element2 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle1 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight1 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2] from django_actionable_messages.adaptive_cards.elements import ...
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
Image docs
Argument name | Function | Property | Type |
---|---|---|---|
url | set_url() | url | str |
alternate_text | set_alternate_text() | altText | str |
background_color | set_background_color() | backgroundColor | str |
height | set_height() | height | str or BlockElementHeight1 |
horizontal_alignment | set_horizontal_alignment() | horizontalAlignment | HorizontalAlignment1 |
select_action | set_select_action() | selectAction | see docs |
size | set_size() | size | ImageSize1 |
style | set_style() | style | ImageStyle1 |
width | set_width() | width | str |
fallback | set_fallback() | fallback | FallbackOption1 or card element2 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle1 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight1 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2] from django_actionable_messages.adaptive_cards.elements import ...
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
MediaSource docs
Argument name | Property | Type |
---|---|---|
mime_type | mimeType | str |
url | url | str |
CaptionSource docs
Argument name | Property | Type |
---|---|---|
mime_type | mimeType | str |
url | url | str |
label | label | str |
Media docs
Argument name | Function | Property | Type |
---|---|---|---|
sources | - | sources | list of MediaSource(s)1 |
poster | set_poster() | poster | str |
alternate_text | set_alternate_text() | altText | str |
fallback | set_fallback() | fallback | FallbackOption2 or card element1 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle2 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight2 |
lang_code | - | - | str |
Other functions
Name | Property | Type |
---|---|---|
add_sources() | sources | MediaSource1 |
add_source() | sources | MediaSource1 |
set_caption_sources() | captionSources | CaptionSource2 |
add_caption_sources() | captionSources | CaptionSource2 |
add_caption_source() | captionSources | CaptionSource2 |
[1] from django_actionable_messages.adaptive_cards.elements import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
TextRun docs
Argument name | Function | Property | Type |
---|---|---|---|
text | - | text | str, trans 2 |
color | set_color() | color | Color1 |
font_type | set_font_type() | fontType | FontType1 |
highlight | set_highlight() | highlight | bool |
is_subtle | set_is_subtle() | isSubtle | bool |
italic | set_italic() | italic | bool |
select_action | set_select_action() | selectAction | see docs |
size | set_size() | fontSize | FontSize1 |
strike_through | set_strike_through() | strikethrough | bool |
weight | set_weight() | fontWeight | FontWeight1 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2] any translation like from django.utils.translation import gettext, gettext_lazy, ...
RichTextBlock docs
Argument name | Function | Property | Type |
---|---|---|---|
inlines | - | inlines | str, TextRun1, trans4 |
horizontal_alignment | set_horizontal_alignment() | horizontalAlignment | HorizontalAlignment2 |
fallback | set_fallback() | fallback | FallbackOption2 or card element1 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle2 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight2 |
[1] from django_actionable_messages.adaptive_cards.elements import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
[4] any translation like from django.utils.translation import gettext, gettext_lazy, ...
Inputs
src: from django_actionable_messages.adaptive_card.inputs import ...
TextInput docs
Argument name | Function | Property | Type |
---|---|---|---|
is_multiline | set_is_multiline() | isMultiline | bool |
max_length | set_max_length() | maxLength | int |
placeholder | set_placeholder() | placeholder | str, trans3 |
style | set_style() | style | TextInputStyle1 |
inline_action | set_inline_action() | inlineAction | see docs |
value | set_value() | value | str, trans3 |
fallback | set_fallback() | fallback | FallbackOption1 or card element2 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle1 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight1 |
label | set_label() | label | str, TextBlock4, RichTextBlock4 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2] from django_actionable_messages.adaptive_cards.elements import ...
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
[4] from django_actionable_messages.adaptive_cards.elements import ...
NumberInput docs
Argument name | Function | Property | Type |
---|---|---|---|
max_value | set_max_value() | maxValue | int |
min_value | set_min_value() | minValue | int |
placeholder | set_placeholder() | placeholder | str, trans3 |
value | set_value() | value | int |
fallback | set_fallback() | fallback | FallbackOption1 or card element2 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle1 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight1 |
label | set_label() | label | str, TextBlock4, RichTextBlock4 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2] from django_actionable_messages.adaptive_cards.elements import ...
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
[4] from django_actionable_messages.adaptive_cards.elements import ...
DateInput docs
Argument name | Function | Property | Type |
---|---|---|---|
max_value | set_max_value() | maxValue | str |
min_value | set_min_value() | minValue | str |
placeholder | set_placeholder() | placeholder | str, trans3 |
value | set_value() | value | str |
fallback | set_fallback() | fallback | FallbackOption1 or card element2 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle1 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight1 |
label | set_label() | label | str, TextBlock4, RichTextBlock4 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2] from django_actionable_messages.adaptive_cards.elements import ...
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
[4] from django_actionable_messages.adaptive_cards.elements import ...
TimeInput docs
Argument name | Function | Property | Type |
---|---|---|---|
max_value | set_max_value() | maxValue | str |
min_value | set_min_value() | minValue | str |
placeholder | set_placeholder() | placeholder | str, trans3 |
value | set_value() | value | str |
fallback | set_fallback() | fallback | FallbackOption1 or card element2 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle1 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight1 |
label | set_label() | label | str, TextBlock4, RichTextBlock4 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2] from django_actionable_messages.adaptive_cards.elements import ...
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
[4] from django_actionable_messages.adaptive_cards.elements import ...
ToggleInput docs
Argument name | Function | Property | Type |
---|---|---|---|
title | - | title | str, trans3 |
value | set_value() | value | str |
value_off | set_value_off() | valueOff | str |
value_on | set_value_on() | valueOn | str |
wrap | set_wrap() | wrap | bool |
fallback | set_fallback() | fallback | FallbackOption1 or card element2 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle1 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight1 |
label | set_label() | label | str, TextBlock4, RichTextBlock4 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2] from django_actionable_messages.adaptive_cards.elements import ...
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
[4] from django_actionable_messages.adaptive_cards.elements import ...
InputChoice docs
Argument name | Property | Type |
---|---|---|
title | title | str, trans1 |
value | value | str, int |
lang_code | - | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
ChoiceSetInput docs
Argument name | Function | Property | Type |
---|---|---|---|
choices | - | choices | list of InputChoice(s)1 |
is_multi_select | set_is_multi_select() | isMultiSelect | bool |
style | set_style() | style | ChoiceInputStyle2 |
value | set_value() | value | str |
wrap | set_wrap() | wrap | bool |
fallback | set_fallback() | fallback | FallbackOption2 or card element3 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle2 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight2 |
label | set_label() | label | str, TextBlock4, RichTextBlock4 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.inputs import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3] from django_actionable_messages.adaptive_cards.elements import ...
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
[4] from django_actionable_messages.adaptive_cards.elements import ...
DataQuery docs
Argument name | Function | Property | Type |
---|---|---|---|
dataset | set_dataset() | dataset | str |
count | set_count() | count | int |
skip | set_skip() | skip | int |
Actions
src: from django_actionable_messages.adaptive_card.actions import ...
OpenUrl docs
Argument name | Function | Property | Type |
---|---|---|---|
url | - | url | str |
title | set_title() | title | str, trans3 |
icon_url | set_icon_url() | iconUrl | str |
style | set_style() | style | ActionStyle2 |
item_id | set_id() | id | str |
fallback | set_fallback() | fallback | FallbackOption2 or action1(except TargetElement1) |
tooltip | set_tooltip() | tooltip | str |
is_enabled | set_is_enabled() | isEnabled | bool |
mode | set_mode() | mode | ActionMode2 |
requires | set_requires() | requires | dict |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.actions import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
Submit docs
Argument name | Function | Property | Type |
---|---|---|---|
data | set_data() | data | str, dict |
title | set_title() | title | str, trans3 |
icon_url | set_icon_url() | iconUrl | str |
style | set_style() | style | ActionStyle2 |
item_id | set_id() | id | str |
fallback | set_fallback() | fallback | FallbackOption2 or action1(except TargetElement1) |
tooltip | set_tooltip() | tooltip | str |
is_enabled | set_is_enabled() | isEnabled | bool |
mode | set_mode() | mode | ActionMode2 |
requires | set_requires() | requires | dict |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.actions import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
ShowCard docs
Argument name | Function | Property | Type |
---|---|---|---|
card | set_card() | card | AdaptiveCard2 |
title | set_title() | title | str, trans4 |
icon_url | set_icon_url() | iconUrl | str |
style | set_style() | style | ActionStyle3 |
item_id | set_id() | id | str |
fallback | set_fallback() | fallback | FallbackOption3 or action1(except TargetElement1) |
tooltip | set_tooltip() | tooltip | str |
is_enabled | set_is_enabled() | isEnabled | bool |
mode | set_mode() | mode | ActionMode3 |
requires | set_requires() | requires | dict |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.actions import ...
[2] from django_actionable_messages.adaptive_cards.cards import ...
[3] from django_actionable_messages.adaptive_cards.utils import ...
[4] any translation like from django.utils.translation import gettext, gettext_lazy, ...
TargetElement docs
Argument name | Function | Property | Type |
---|---|---|---|
element_id | - | elementId | str |
is_visible | set_is_visible() | isVisible | bool |
ToggleVisibility docs
Argument name | Function | Property | Type |
---|---|---|---|
target_elements | set_target_elements() | targetElements | list of TargetElement1/str/trans3 (can be mixed) |
title | set_title() | title | str |
icon_url | set_icon_url() | iconUrl | str |
style | set_style() | style | ActionStyle2 |
item_id | set_id() | id | str |
fallback | set_fallback() | fallback | FallbackOption1 or action1(except TargetElement1) |
tooltip | set_tooltip() | tooltip | str |
is_enabled | set_is_enabled() | isEnabled | bool |
mode | set_mode() | mode | ActionMode2 |
requires | set_requires() | requires | dict |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.actions import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
Execute docs
Argument name | Function | Property | Type |
---|---|---|---|
verb | set_verb() | verb | str |
data | set_data() | data | str, object |
associated_inputs | set_associated_inputs() | associatedInputs | AssociatedInputs1 |
title | set_title() | title | str |
icon_url | set_icon_url() | iconUrl | str |
style | set_style() | style | ActionStyle1 |
fallback | set_fallback() | fallback | FallbackOption1 or action2(except TargetElement2) |
tooltip | set_tooltip() | tooltip | str |
is_enabled | set_is_enabled() | isEnabled | bool |
mode | set_mode() | mode | ActionMode1 |
requires | set_requires() | requires | dict |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_card.utils import ...
[2] from django_actionable_messages.adaptive_card.actions import ...
Containers
src: from django_actionable_messages.adaptive_card.containers import ...
ActionSet docs
Argument name | Function | Property | Type |
---|---|---|---|
actions | add_actions() | actions | action or list of actions(see docs) |
fallback | set_fallback() | fallback | FallbackOption1 or card element2 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle1 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight1 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2] from django_actionable_messages.adaptive_cards.elements import ...
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
Container docs
Argument name | Function | Property | Type |
---|---|---|---|
items | add_items() | items | item or list of items(see docs) |
select_action | set_select_action() | selectAction | any action(see docs) |
style | set_style() | style | Style2 |
vertical_content_alignment | set_vertical_content_alignment() | verticalContentAlignment | VerticalAlignment2 |
bleed | set_bleed() | bleed | bool |
background_image | set_background_image() | backgroundImage | BackgroundImage1 |
min_height | set_min_height() | minHeight | str |
rtl | set_rtl() | rtl | bool |
fallback | set_fallback() | fallback | FallbackOption2 or card element3 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle2 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight2 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.types import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3] from django_actionable_messages.adaptive_cards.elements import ...
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
Column docs
Argument name | Function | Property | Type |
---|---|---|---|
items | add_items() | items | item or list of items(see docs) |
background_image | set_background_image() | backgroundImage | str, BackgroundImage2 |
bleed | set_bleed() | bleed | bool |
fallback | set_fallback() | fallback | FallbackOption3 or Column1 |
min_height | set_min_height() | minHeight | str |
rtl | set_rtl() | rtl | bool |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle3 |
select_action | set_select_action() | selectAction | see docs |
style | set_style() | style | Style3 |
vertical_content_alignment | set_vertical_content_alignment() | verticalContentAlignment | VerticalAlignment3 |
width | set_width() | width | str, int, Width3 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.containers import ...
[2] from django_actionable_messages.adaptive_cards.types import ...
[3] from django_actionable_messages.adaptive_cards.utils import ...
ColumnSet docs
Argument name | Function | Property | Type |
---|---|---|---|
columns | add_columns() | columns | Column1 or list of Column(s)1 |
select_action | set_select_action() | selectAction | see docs |
style | set_style() | style | Style2 |
bleed | set_bleed() | bleed | bool |
min_height | set_min_height() | minHeight | str |
fallback | set_fallback() | fallback | FallbackOption2 or card element3 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle2 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight2 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.containers import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3] from django_actionable_messages.adaptive_cards.elements import ...
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
Fact docs
Argument name | Property | Type |
---|---|---|
title | title | str, trans1 |
value | value | str, trans1 |
lang_code | - | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
FactSet docs
Argument name | Function | Property | Type |
---|---|---|---|
facts | add_facts() | facts | Fact1 or list of Fact(s)1 |
fallback | set_fallback() | fallback | FallbackOption2 or card element3 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle2 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight2 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.containers import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3] from django_actionable_messages.adaptive_cards.elements import ...
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
ImageSet docs
Argument name | Function | Property | Type |
---|---|---|---|
images | add_images() | images | Image1 or list of Image(s)1 |
image_size | set_image_size() | imageSize | ImageSize2 |
fallback | set_fallback() | fallback | FallbackOption2 or card element3 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle2 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight2 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.elements import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3] from django_actionable_messages.adaptive_cards.elements import ...
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
TableCell docs
Argument name | Function | Property | Type |
---|---|---|---|
select_action | set_select_action() | selectAction | Execute1, OpenUrl1, Submit1 or ToggleVisibility1 |
style | set_style() | style | Style2 |
vertical_content_alignment | set_vertical_content_alignment() | verticalContentAlignment | VerticalAlignment2 |
bleed | set_bleed() | bleed | bool |
background_image | set_background_image() | backgroundImage | BackgroundImage3 or str |
min_height | set_min_height() | minHeight | str |
rtl | set_rtl() | rtl | bool |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.actions import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3] from django_actionable_messages.adaptive_cards.types import ...
TableRow
Argument name | Function | Property | Type |
---|---|---|---|
cells | add_cells() | cells | TableCell1 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.containers import ...
Table docs
Argument name | Function | Property | Type |
---|---|---|---|
columns | add_columns() | columns | dict |
rows | add_rows() | rows | TableRow1 or list of TableRow1 |
horizontal_cell_content_alignment | set_horizontal_cell_content_alignment() | horizontalCellContentAlignment | HorizontalAlignment2 |
vertical_cell_content_alignment | set_vertical_cell_content_alignment() | verticalCellContentAlignment | VerticalAlignment2 |
first_row_as_header | set_first_row_as_header() | firstRowAsHeader | bool |
show_grid_lines | set_show_grid_lines() | showGridLines | bool |
grid_style | set_grid_style() | style | Style2 |
height | set_height() | height | BlockElementHeight2 |
fallback | set_fallback() | fallback | FallbackOption2 or card element3 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle2 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.containers import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3] from django_actionable_messages.adaptive_cards.elements import ...
Types
src: from django_actionable_messages.adaptive_card.types import ...
BackgroundImage docs
Argument name | Function | Property | Type |
---|---|---|---|
url | set_url() | url | str |
fill_mode | set_fill_mode() | fillMode | FillMode1 |
horizontal_alignment | set_horizontal_alignment() | horizontalAlignment | HorizontalAlignment1 |
vertical_alignment | set_vertical_alignment() | verticalAlignment | VerticalAlignment1 |
[1] from django_actionable_messages.adaptive_cards.utils import ...
Refresh docs
Argument name | Function | Property | Type |
---|---|---|---|
action | set_action() | action | Execute1 |
expires | set_expires() | expires | str (ISO-8601) |
user_ids | set_user_ids() | list | list of str |
[1] from django_actionable_messages.adaptive_cards.actions import ...
TokenExchangeResource docs
Argument name | Function | Property | Type |
---|---|---|---|
token_id | - | id | str |
uri | - | uri | str |
provider_id | - | providerId | str |
AuthCardButton docs
Argument name | Function | Property | Type |
---|---|---|---|
btn_type | - | type | str |
value | - | value | str |
title | set_title() | title | str |
image | set_image() | image | str |
Authentication docs
Argument name | Function | Property | Type |
---|---|---|---|
text | set_text() | text | str |
connection_name | set_connection_name() | connectionName | str |
token_exchange_resource | set_token_exchange_resource() | tokenExchangeResource | TokenExchangeResource1 |
buttons | set_buttons() | buttons | list of AuthCardButton1 |
[1] from django_actionable_messages.adaptive_cards.types import ...
Metadata docs
Argument name | Function | Property | Type |
---|---|---|---|
url | set_url() | webUrl | str |
Cards
src: from django_actionable_messages.adaptive_card.cards import ...
AdaptiveCard docs
Argument name | Function | Property | Type |
---|---|---|---|
version | set_version() | version | str, SCHEMA1 |
schema | set_schema() | $schema | str |
refresh | set_refresh() | refresh | Refresh3 |
authentication | set_authentication() | authentication | Authentication3 |
inputs | add_elements() | inputs | input or list of inputs(see docs) |
actions | add_actions() | actions | action or list of actions(see docs) |
select_action | set_select_action() | selectAction | see docs |
style | set_style() | style | Style1 |
hide_original_body | set_hide_original_body() | hideOriginalBody | bool |
fallback_text | set_fallback_text() | fallbackText | str |
background_image | set_background_image() | backgroundImage | str, Image2 |
metadata | set_metadata() | metadata | Metadata3 |
min_height | set_min_height() | minHeight | str |
speak | set_speak() | speak | str |
lang | set_lang() | lang | str |
rtl | set_rtl() | rtl | bool |
vertical_content_alignment | set_vertical_content_alignment() | verticalContentAlignment | VerticalAlignment1 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2] from django_actionable_messages.adaptive_cards.elements import ...
[3] from django_actionable_messages.adaptive_cards.types import ...
MessageCard
Legacy actionable message card reference
Elements
src: from django_actionable_messages.message_card.elements import ...
Header docs
Argument name | Property | Type |
---|---|---|
name | name | str |
value | value | str, int |
**Fact**
Argument name | Property | Type |
---|---|---|
name | name | str, trans1 |
value | value | str, trans1 |
lang_code | - | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
HeroImage docs
Argument name | Function | Property | Type |
---|---|---|---|
url | - | image | str |
title | set_title() | title | str, trans1 |
lang_code | - | - | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
InputChoice
Argument name | Property | Type |
---|---|---|
name | display | str, trans1 |
value | value | str, int |
lang_code | - | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
ActionTarget
Argument name | Property | Type |
---|---|---|
os_type | os | OSType1 |
url | uri | str |
lang_code | - | str |
[1] from django_actionable_messages.message_cards.utils import ...
Inputs
src: from django_actionable_messages.message_card.inputs import ...
TextInput docs
Argument name | Function | Property | Type |
---|---|---|---|
max_length | set_max_length() | maxLength | int |
is_multiline | set_is_multiline() | isMultiline | bool |
input_id | set_id() | id | str |
title | set_title() | title | str, trans1 |
value | set_value() | value | str |
is_required | set_is_required() | isRequired | bool |
lang_code | - | - | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
DateInput docs
Argument name | Function | Property | Type |
---|---|---|---|
include_time | set_include_time() | maxLength | bool |
input_id | set_id() | id | str |
title | set_title() | title | str, trans1 |
value | set_value() | value | str |
is_required | set_is_required() | isRequired | bool |
lang_code | - | - | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
MultiChoiceInput docs
Argument name | Function | Property | Type |
---|---|---|---|
choices | add_choices() | choices | list of InputChoice(s)1 |
is_multi_select | set_is_multi_select() | isMultiSelect | bool |
style | set_style() | style | ChoiceStyle2 |
input_id | set_id() | id | str |
title | set_title() | title | str, trans3 |
value | set_value() | value | str |
is_required | set_is_required() | isRequired | bool |
lang_code | - | - | str |
Other functions
Name | Property | Type |
---|---|---|
add_choice() | choices | InputChoice1 |
[1] from django_actionable_messages.message_cards.inputs import ...
[2] from django_actionable_messages.message_cards.utils import ...
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
Actions
src: from django_actionable_messages.message_card.actions import ...
OpenUri docs
Argument name | Function | Property | Type |
---|---|---|---|
name | - | name | str, trans2 |
targets | add_targets() | targets | list of ActionTarget1 |
lang_code | - | - | str |
Other functions
Name | Property | Type |
---|---|---|
add_target() | targets | ActionTarget1 |
add_targets() | targets | list of ActionTarget1 |
[1] from django_actionable_messages.message_cards.elements import ...
[2] any translation like from django.utils.translation import gettext, gettext_lazy, ...
HttpPOST docs
Argument name | Function | Property | Type |
---|---|---|---|
name | - | name | str, trans2 |
target | - | targets | str |
headers | add_headers() | headers | Header1 or list of Header(s)1 |
body | set_body() | body | str |
body_content_type | set_body_content_type() | bodyContentType | str |
lang_code | - | - | str |
[1] from django_actionable_messages.message_cards.elements import ...
[2] any translation like from django.utils.translation import gettext, gettext_lazy, ...
InvokeAddInCommand docs
Argument name | Function | Property | Type |
---|---|---|---|
name | - | name | str, trans1 |
add_in_id | set_add_in_id() | addInId | str |
desktop_command_id | set_desktop_command_id() | desktopCommandId | str |
initialization_context | set_set_initialization_context() | initializationContext | dict |
lang_code | - | - | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
ActionCard docs
Argument name | Function | Property | Type |
---|---|---|---|
name | - | name | str, trans1 |
inputs | add_inputs() | inputs | input or list of inputs(see docs) |
actions | add_actions() | actions | action or list of actions(see docs) |
lang_code | - | - | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
Sections
src: from django_actionable_messages.message_card.sections import ...
Section docs
Argument name | Function | Property | Type |
---|---|---|---|
start_group | set_start_group() | startGroup | bool |
title | set_title() | title | str, trans2 |
text | set_text() | text | str, trans2 |
activity_image | set_activity_image() | activityImage | str |
activity_title | set_activity_title() | activityTitle | str, trans2 |
activity_subtitle | set_activity_subtitle() | activitySubtitle | str, trans2 |
activity_text | set_activity_text() | activityText | str, trans2 |
hero_image | set_hero_image() | heroImage | HeroImage2 |
facts | add_facts() | facts | Fact(s)1 or list of Fact1 |
actions | add_potential_actions() | potentialAction | action or list of actions(see docs) |
lang_code | - | - | str |
Other functions:
Name | Property | Type |
---|---|---|
set_activity(image, title, subtitle, text) | activityImage, activityTitle, activitySubtitle, activityText | str |
[1] from django_actionable_messages.message_cards.elements import ...
[2] any translation like from django.utils.translation import gettext, gettext_lazy, ...
Cards
src: from django_actionable_messages.message_card.cards import ...
MessageCard
Argument name | Function | Property | Type |
---|---|---|---|
title | set_title() | title | str, trans2 |
text | set_text() | text | str, trans2 |
originator | set_originator() | originator | str |
summary | set_summary() | summary | str, trans2 |
theme_color | set_theme_color() | themeColor | str |
correlation_id | set_correlation_id() | correlationId | str |
auto_correlation_id* | - | correlationId | bool (default: True) |
expected_actors | set_expected_actors() | expectedActors | list of emails |
hide_original_body | set_hide_original_body() | hideOriginalBody | bool |
sections | add_sections() | sections | Section1 or list of Sections1 |
actions | add_actions() | potentialAction | action3 or list of actions3 |
lang_code | - | - | str |
Other functions:
Name | Property | Type |
---|---|---|
add_expected_actors() | expectedActors | str or list of str |
[1] from django_actionable_messages.message_cards.sections import ...
[2] any translation like from django.utils.translation import gettext, gettext_lazy, ...
[3] from django_actionable_messages.message_cards.actions import ...
HeroCard
Elements
OpenUrl
Argument name | Function | Property | Type |
---|---|---|---|
title | - | title | str, trans1 |
url | - | value | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
Image
Argument name | Function | Property | Type |
---|---|---|---|
url | - | value | str |
alt | set_alt() | alt | str, trans1 |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
Cards
src: from django_actionable_messages.msteams_cards.cards import HeroCard
HeroCard docs
Argument name | Function | Property | Type |
---|---|---|---|
title | set_title() | title | str, trans1 |
subtitle | set_subtitle() | subtitle | str, trans1 |
text | set_text() | text | str, trans1 |
images | add_images() | images | Image2 or list of Images2 |
buttons | add_buttons() | buttons | OpenUrl3 or list of OpenUrls3 |
lang_code | - | - | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
[2] from django_actionable_messages.msteams_cards.elements import Image
[3] from django_actionable_messages.msteams_cards.elements import OpenUrl
ThumbnailCard
Elements
see HeroCard Elements section
Cards
src: from django_actionable_messages.msteams_cards.cards import ThumbnailCard
ThumbnailCard docs
see HeroCard HeroCard section
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file django_actionable_messages-0.2.7.tar.gz
.
File metadata
- Download URL: django_actionable_messages-0.2.7.tar.gz
- Upload date:
- Size: 50.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e7a6bcdf7ced879754780369c8048717e7bdb8ac1896750f9888d9614306a17 |
|
MD5 | 516962fde71e1cc73034bc178923d69c |
|
BLAKE2b-256 | 22890e8044bfc0378c969489beb6275a52075f5c40f9938ab30a91ced7fa237c |
File details
Details for the file django_actionable_messages-0.2.7-py3-none-any.whl
.
File metadata
- Download URL: django_actionable_messages-0.2.7-py3-none-any.whl
- Upload date:
- Size: 39.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d91c2b950dcd7720d48b8d46c44c5ab88e4bb41d7e4bcc0b6a5bb3dfed132fa |
|
MD5 | 879eb5706d3e68f673c7b50c9664efb4 |
|
BLAKE2b-256 | 7acdf7d27fb5b87ef4d6dcde94090a46daf4c047eafc4b6d71c3887cc0cb1c00 |